Jon Chelton wrote: > Hello, > > > > I am having issues using kernel 2.6.22.1 with your latest patch > applied. I am using a Addonics 4 port SATA card with an external > enclosure and port multiplier connected to 4 250GB western digital SATA > drives. I am receiving this error frequently (on 2 systems with > identical kernels and hardware).
Does the attached patch fix the problem? -- tejun
--- drivers/ata/sata_sil24.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) Index: work/drivers/ata/sata_sil24.c =================================================================== --- work.orig/drivers/ata/sata_sil24.c +++ work/drivers/ata/sata_sil24.c @@ -1138,6 +1138,9 @@ static inline void sil24_host_intr(struc u32 slot_stat, qc_active; int rc; + if (ap->flags & SIL24_FLAG_PCIX_IRQ_WOC) + writel(PORT_IRQ_COMPLETE, port + PORT_IRQ_STAT); + slot_stat = readl(port + PORT_SLOT_STAT); if (unlikely(slot_stat & HOST_SSTAT_ATTN)) { @@ -1145,9 +1148,6 @@ static inline void sil24_host_intr(struc return; } - if (ap->flags & SIL24_FLAG_PCIX_IRQ_WOC) - writel(PORT_IRQ_COMPLETE, port + PORT_IRQ_STAT); - qc_active = slot_stat & ~HOST_SSTAT_ATTN; rc = ata_qc_complete_multiple(ap, qc_active, sil24_finish_qc); if (rc > 0)