Re: patch "libata-sff: Fix oops for pnp devices with no ctl" causes regression

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> > @@ -1583,6 +1583,12 @@ inline unsigned int ata_sff_host_intr(struct ata_port *ap
> >         if (status & ATA_BUSY)
> >                 goto idle_irq;
> > 
> > +       /* check main status, clearing INTRQ */
> > +       status = ap->ops->sff_check_status(ap);
> > +       if (unlikely(status & ATA_BUSY))
> > +               goto idle_irq;
> > +
> > +

Aha all is revealed: and yes it would only show up on a few boxes

libata-sff: Don't assume that check_status is an SFF read

From: Alan Cox <alan@xxxxxxxxxx>

For a few controllers the sff check status is actually a method not an I/O
access and we must call the method when doing the IRQ check
---

 drivers/ata/libata-sff.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Signed-off-by: Alan Cox <alan@xxxxxxxxxx>

diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c
index 90d20c6..215d186 100644
--- a/drivers/ata/libata-sff.c
+++ b/drivers/ata/libata-sff.c
@@ -278,7 +278,7 @@ static u8 ata_sff_irq_status(struct ata_port *ap)
 		    	return status;
 	}
 	/* Clear INTRQ latch */
-	status = ata_sff_check_status(ap);
+	status = ap->ops->sff_check_status(ap);
 	return status;
 }
 
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux