Fix for OEM BusLogic SCSI

Steven N. Hirsch (hirsch@uvm-gen.emba.uvm.edu)
Tue, 30 Jul 1996 21:18:44 -0400


This is a multi-part message in MIME format.

--------------5013102C1EAD49C0394D6CFE
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Leonard, et al,

I have just finished doing battle with an older BusLogic 742A EISA
SCSI-2 controller which was OEM'ed for Advanced Integration Research
(AIR). It reports itself as an 'E' bus type, but apparently doesn't
correspond with anything currently checked for in the driver code. The
attached diffs, although possibly inelegant, render it functional.

One problem remains, in that I am utterly unable to convince LILO to
start linux from the SCSI disk when installed in the MBR on /dev/hda.
This worked fine with the Adaptec 1540B that preceeded it. After trying
just about everything I gave up and resorted to loadlin.exe, which works
like a charm. Although I downloaded what purports to be the latest
firmware for this board from BusLogic's Web Site, it would not work at
all when installed.. Go figure.

- Steve
___________________________________________________________
|Steven N. Hirsch "Anything worth doing is worth |
|University of Vermont overdoing.." - Hunter S. Thompson |
|Computer Science / EE |
------------------------------------------------------------

--------------5013102C1EAD49C0394D6CFE
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="BusLogic.c.diff"

--- BusLogic.c.orig Tue Jul 23 22:34:05 1996
+++ BusLogic.c Tue Jul 30 20:42:27 1996
@@ -947,12 +947,21 @@
else
{
RequestedReplyLength = sizeof(ControllerModelNumber);
- if (BusLogic_Command(HostAdapter, BusLogic_InquireControllerModelNumber,
+ if (BusLogic_Command(HostAdapter,
+ BusLogic_InquireControllerModelNumber,
&RequestedReplyLength, sizeof(RequestedReplyLength),
&ControllerModelNumber,
sizeof(ControllerModelNumber))
!= sizeof(ControllerModelNumber))
- return BusLogic_Failure(HostAdapter, "INQUIRE CONTROLLER MODEL NUMBER");
+ {
+ if (ExtendedSetupInformation.BusType == 'E' &&
+ BoardID.FirmwareVersion1stDigit == '2')
+ /* AIR OEM Version of 742A */
+ strcpy(ControllerModelNumber, "742A");
+ else
+ return BusLogic_Failure(HostAdapter,
+ "INQUIRE CONTROLLER MODEL NUMBER");
+ }
}
/*
Issue the Inquire Firmware Version 3rd Digit command.

--------------5013102C1EAD49C0394D6CFE--