From: Dave Olien <dmo@osdl.org>

The change makes the transfer rate numbers come out right for the fibre
channel version of this controller.

For 1G FC, the NegotiatedSynchronousMegaTransfers is 1000, and the
NegotiatedDataWidthBIts is 1.  The old code assumed NegotiatedDataWidthBits
was always either 8 or 16.  The new code is simpler, and does the
calculation correctly for all cases.



 drivers/block/DAC960.c |    3 +--
 1 files changed, 1 insertion(+), 2 deletions(-)

diff -puN drivers/block/DAC960.c~dac960-negotiation-fix drivers/block/DAC960.c
--- 25/drivers/block/DAC960.c~dac960-negotiation-fix	2003-06-04 18:16:22.000000000 -0700
+++ 25-akpm/drivers/block/DAC960.c	2003-06-04 18:16:22.000000000 -0700
@@ -2309,8 +2309,7 @@ static boolean DAC960_V2_ReportDeviceCon
 		    (PhysicalDeviceInfo->NegotiatedDataWidthBits == 16
 		     ? "Wide " :""),
 		    (PhysicalDeviceInfo->NegotiatedSynchronousMegaTransfers
-		     * (PhysicalDeviceInfo->NegotiatedDataWidthBits == 16
-			? 2 : 1)));
+		     * PhysicalDeviceInfo->NegotiatedDataWidthBits/8));
       if (InquiryUnitSerialNumber->PeripheralDeviceType != 0x1F)
 	DAC960_Info("         Serial Number: %s\n", Controller, SerialNumber);
       if (PhysicalDeviceInfo->PhysicalDeviceState ==

_