[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e71d0891-371e-d267-879d-47b736bb12c9@gmail.com>
Date: Tue, 18 Apr 2023 11:42:38 +0300
From: Sergei Shtylyov <sergei.shtylyov@...il.com>
To: Patrick McLean <chutzpah@...too.org>, linux-kernel@...r.kernel.org
Cc: linux-ide@...r.kernel.org, Bjorn Helgaas <bhelgaas@...gle.com>,
linux-pci@...r.kernel.org, Dave Airlie <airlied@...hat.com>,
Thomas Zimmermann <tzimmermann@...e.de>,
dri-devel@...ts.freedesktop.org
Subject: Re: [PATCH 2/2] ata: libata-core: Apply ATI NCQ horkage to ASPEED as
well
Hello!
On 4/18/23 4:17 AM, Patrick McLean wrote:
> We have some machines with ASPEED SATA controllers, and are seeing the same NCQ
> issues that ATI controllers (I am not sure if it's a rebranded ATI controller,
> or they both have some faulty implementation). This NCQ breakage is consistent
> across a few different types of drives.
>
> Instead of maintaining a list of drives that are broken with ASPEED controllers
> as well as ATI, let's just treat ASPEED controllers like ATI ones, and disable
> NCQ on drives that have ATA_HORKAGE_NO_NCQ_ON_ATI set on them.
>
> We have been running this patch on several machines for over a week now without
> reproducing an issue that was happening almost daily before.
>
> Signed-off-by: Patrick McLean <chutzpah@...too.org>
> ---
> drivers/ata/libata-core.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
> index 14c17c3bda4e..051492e8e9f9 100644
> --- a/drivers/ata/libata-core.c
> +++ b/drivers/ata/libata-core.c
> @@ -2219,7 +2219,8 @@ static int ata_dev_config_ncq(struct ata_device *dev,
> }
>
> if (dev->horkage & ATA_HORKAGE_NO_NCQ_ON_ATI &&
> - ata_dev_check_adapter(dev, PCI_VENDOR_ID_ATI)) {
> + (ata_dev_check_adapter(dev, PCI_VENDOR_ID_ATI) ||
> + ata_dev_check_adapter(dev, PCI_VENDOR_ID_ASPEED))) {
Please align the start of this line with the start of the above
line, so that it doesn't needlessly blend with the below line.
> snprintf(desc, desc_sz, "NCQ (not used)");
> return 0;
> }
MBR, Sergey
Powered by blists - more mailing lists