Hello, Pang. On Fri, Jul 15, 2016 at 12:39:59PM +0000, Pang Raymond wrote: > Hi Tejun, > > > Yes! It only happens when the device is shutdown. > > I think you're right. It's more wiser to add clearing operation to driver > > clean up path. > > So we can add it to ahci_port_stop() > > > libahci.c is got from Kernel 4.6.3 stable > > ============================================================ > > --- drivers/ata/libahci.c.old 2016-07-15 13:33:47.489620405 +0800 > +++ drivers/ata/libahci.c 2016-07-15 14:01:33.081574586 +0800 > @@ -2392,12 +2392,18 @@ > static void ahci_port_stop(struct ata_port *ap) > { > const char *emsg = NULL; > + struct ahci_host_priv *hpriv = ap->host->private_data; > + void __iomem *host_mmio = hpriv->mmio; > int rc; > > /* de-initialize port */ > rc = ahci_deinit_port(ap, &emsg); > if (rc) > ata_port_warn(ap, "%s (%d)\n", emsg, rc); > + > + /* Clear GHC.IS in case of asserting INTx after disable MSIx and re-enable INTx */ > + writel(1 << ap->port_no, host_mmio + HOST_IRQ_STAT); > + > } Yeah, this looks good to me. Can you please format the patch properly, add description and Signed-off-by? https://www.kernel.org/doc/Documentation/SubmittingPatches Thanks. -- tejun -- 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