diff options
author | Jens Axboe <axboe@suse.de> | 2005-06-08 07:02:25 -0400 |
---|---|---|
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) |
[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 238580d244e6..49ed557a4b66 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) | |||
432 | writeb(cls, mmio_base + SIL_FIFO_R0); | 432 | writeb(cls, mmio_base + SIL_FIFO_R0); |
433 | writeb(cls, mmio_base + SIL_FIFO_W0); | 433 | writeb(cls, mmio_base + SIL_FIFO_W0); |
434 | writeb(cls, mmio_base + SIL_FIFO_R1); | 434 | writeb(cls, mmio_base + SIL_FIFO_R1); |
435 | writeb(cls, mmio_base + SIL_FIFO_W2); | 435 | writeb(cls, mmio_base + SIL_FIFO_W1); |
436 | if (ent->driver_data == sil_3114) { | ||
437 | writeb(cls, mmio_base + SIL_FIFO_R2); | ||
438 | writeb(cls, mmio_base + SIL_FIFO_W2); | ||
439 | writeb(cls, mmio_base + SIL_FIFO_R3); | ||
440 | writeb(cls, mmio_base + SIL_FIFO_W3); | ||
441 | } | ||
436 | } else | 442 | } else |
437 | printk(KERN_WARNING DRV_NAME "(%s): cache line size not set. Driver may not function\n", | 443 | printk(KERN_WARNING DRV_NAME "(%s): cache line size not set. Driver may not function\n", |
438 | pci_name(pdev)); | 444 | pci_name(pdev)); |