ChangeSet 1.2190, 2005/03/29 15:42:20-05:00, [EMAIL PROTECTED]
[libata sata_sil] Don't presume PCI cache-line-size reg is > 0
Some BIOSen are known to screw up the PCI cache-line-size register,
so add a paranoia check.
sata_sil.c | 16 ++++++++++------
1 files changed, 10 insertions(+), 6 deletions(-)
diff -Nru a/drivers/scsi/sata_sil.c b/drivers/scsi/sata_sil.c
--- a/drivers/scsi/sata_sil.c 2005-03-29 14:09:05 -08:00
+++ b/drivers/scsi/sata_sil.c 2005-03-29 14:09:05 -08:00
@@ -424,12 +424,16 @@
/* Initialize FIFO PCI bus arbitration */
cls = sil_get_device_cache_line(pdev);
- cls >>= 3;
- cls++; /* cls = (line_size/8)+1 */
- 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);
+ if (cls) {
+ cls >>= 3;
+ cls++; /* cls = (line_size/8)+1 */
+ 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);
+ } else
+ printk(KERN_WARNING DRV_NAME "(%s): cache line size not set.
Driver may not function\n",
+ pci_name(pdev));
if (ent->driver_data == sil_3114) {
irq_mask = SIL_MASK_4PORT;
-
To unsubscribe from this list: send the line "unsubscribe bk-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html