Hi, the driver for this card seems to have missed out on one of the changes
to the SCSI layer between 2.2 and 2.4. Specifically, scsi_set_pci_device
now wants an entire SCSI host object, instead of just the pci_dev part.
Without the patch, we get a null kernel pointer dereference when the driver
is initialized. With the single-line update, the driver works again. I've
also included a patch to change an udelay loop into the equivalent mdelay
call for code readability purposes. These are both against 2.4.4; please
apply.
--
Email: [EMAIL PROTECTED]
--- linux-2.4.4/drivers/scsi/fdomain.old Mon May 14 16:33:11 2001
+++ linux-2.4.4/drivers/scsi/fdomain.c Fri May 4 11:07:41 2001
inline static void fdomain_make_bus_idle( void )
@@ -971,7 +969,7 @@
return 0;
shpnt->irq = interrupt_level;
shpnt->io_port = port_base;
- scsi_set_pci_device(shpnt->pci_dev, pdev);
+ scsi_set_pci_device(shpnt, pdev);
shpnt->n_io_port = 0x10;
print_banner( shpnt );
--- linux-2.4.4/drivers/scsi/fdomain.old Mon May 14 16:33:11 2001
+++ linux-2.4.4/drivers/scsi/fdomain.c Fri May 4 11:07:41 2001
@@ -587,9 +587,7 @@
static void do_pause( unsigned amount ) /* Pause for amount*10
milliseconds */
{
- do {
- udelay(10*1000);
- } while (--amount);
+ mdelay(10*amount);
}
�2�@2
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/