diff options
author | Jens Axboe <axboe@suse.de> | 2005-06-08 13:02:25 +0200 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-06-09 03:06:22 -0400 |
commit | e1dd23a0012c3929737798fda9fede0e783f4ff3 (patch) | |
tree | c7f808b6433ef1015f55418e7f11f432943bdefd /drivers/scsi/sata_sil.c | |
parent | 5273a00d9c763108397658d440618f7ac3e40f83 (diff) | |
download | op-kernel-dev-e1dd23a0012c3929737798fda9fede0e783f4ff3.zip op-kernel-dev-e1dd23a0012c3929737798fda9fede0e783f4ff3.tar.gz |
[PATCH] sata_sil: Fix FIFO PCI Bus Arbitration kernel oops
Correct this.
diff --git a/drivers/scsi/sata_sil.c b/drivers/scsi/sata_sil.c
Diffstat (limited to 'drivers/scsi/sata_sil.c')
-rw-r--r-- | drivers/scsi/sata_sil.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/scsi/sata_sil.c b/drivers/scsi/sata_sil.c index 238580d..49ed557 100644 --- a/drivers/scsi/sata_sil.c +++ b/drivers/scsi/sata_sil.c @@ -432,7 +432,13 @@ static int sil_init_one (struct pci_dev *pdev, const struct pci_device_id *ent) writeb(cls, mmio_base + SIL_FIFO_R0); writeb(cls, mmio_base + SIL_FIFO_W0); writeb(cls, mmio_base + SIL_FIFO_R1); - writeb(cls, mmio_base + SIL_FIFO_W2); + writeb(cls, mmio_base + SIL_FIFO_W1); + if (ent->driver_data == sil_3114) { + writeb(cls, mmio_base + SIL_FIFO_R2); + writeb(cls, mmio_base + SIL_FIFO_W2); + writeb(cls, mmio_base + SIL_FIFO_R3); + writeb(cls, mmio_base + SIL_FIFO_W3); + } } else printk(KERN_WARNING DRV_NAME "(%s): cache line size not set. Driver may not function\n", pci_name(pdev)); |