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/

Reply via email to