[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20160718222803.GK3078@mtj.duckdns.org>
Date: Mon, 18 Jul 2016 18:28:03 -0400
From: "tj@...nel.org" <tj@...nel.org>
To: Pang Raymond <Raymond_rule@...mail.com>
Cc: linux ide <linux-ide@...r.kernel.org>,
linux kernel <linux-kernel@...r.kernel.org>
Subject: Re: BUG: INTx is assered unexpectly when unload AHCI driver with
MSIx support.
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
Powered by blists - more mailing lists