Mikael Pettersson wrote:
Jeff Garzik writes:
> Mikael Pettersson wrote:
> > This patch fixes two bugs in sata_promise's irq status clearing paths:
> > 1. When clearing the irq status for a specific port, the driver
> > read the global SEQMASK register. This is wrong because that
> > clears the irq status for _all_ ports.
> > 2. pdc_thaw() incorrectly added the PDC_INT_SEQMASK host register
> > offset to a per-port ata engine base address. This resulted in
> > it reading the unrelated PDC_PKT_SUBMIT register, which did not
> > have the desired irq status clearing effect.
> >
> > In both cases the fix is to read from the port's Command/Status
> > register. This also matches what Promise's own driver does.
> >
> > Signed-off-by: Mikael Pettersson <mikpe@xxxxxxxx>
> > ---
> > drivers/ata/sata_promise.c | 7 +++----
> > 1 file changed, 3 insertions(+), 4 deletions(-)
>
> is sata_sx4 similarly affected?
For issue 2, pdc_thaw(), the answer is No since that's
a sata_promise only thing I added as part of new-EH.
probably relevant to libata-dev.git#new-eh which contains the sata_sx4
new-eh conversion.
For ->irq_clear() I'll have to check. I'll do that
this evening and let you know tomorrow.
Thanks,
Jeff
--
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