Re: Trouble with Symbios Logic 53c810 on XL300 with Kernel v2.6
On Wed, May 11, 2005 at 10:12:42PM +0200, Martin Langer wrote:
> On Wed, May 11, 2005 at 06:14:30PM +0200, Jerome Warnier wrote:
> > [..]
> >
> > > My onboard SCSI controller (in an Alpha XL300) is:
> > >
> > > 0000:00:09.0 SCSI storage controller: LSI Logic / Symbios Logic 53c810
> > > (rev 11)
> > > Flags: bus master, medium devsel, latency 32, IRQ 28
> > > I/O ports at 9000 [size=256]
> > > Memory at 0000000002231000 (32-bit, non-prefetchable) [size=256]
> > If I remember correctly, there are several kernel modules supporting
> > those cards in 2.6. Did you already try the other?
>
> Unfortunately I can't offer a well formed patch for it.
>
> And so they reach the "test width" part in the
> function spi_dv_device_internal() in the file
> drivers/scsi/scsi_transport_spi.c
>
> Both 68-pin disks will be set to _wide_ "1" with set_width(sdev, 1) and
> they don't reach the clearing part set_width(sdev, 0) where they will be
> set to _narrow_ "0" again. So those 68-pin disks are running in wide
> mode all the time on my narrow bus. This should explain my trouble. But I
> still don't understand why this happens?
The attached patch fixes my problem by removing the wide test. But
I guess removing all wide tests is not the proper solution for everybody
;) Just take it as confirmation.
martin
--- kernel-source-2.6.8/drivers/scsi/scsi_transport_spi.c.ORIGINAL 2005-05-12 10:16:25.000000000 +0200
+++ kernel-source-2.6.8/drivers/scsi/scsi_transport_spi.c 2005-05-12 10:17:04.000000000 +0200
@@ -491,18 +491,6 @@
return;
}
- /* test width */
- if (i->f->set_width && sdev->wdtr) {
- i->f->set_width(sdev, 1);
-
- if (!spi_dv_device_compare_inquiry(sreq, buffer,
- buffer + len,
- DV_LOOPS)) {
- SPI_PRINTK(sdev, KERN_ERR, "Wide Transfers Fail\n");
- i->f->set_width(sdev, 0);
- }
- }
-
if (!i->f->set_period)
return;
Reply to: