All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] libata: Fix wrong HPA horkage
@ 2026-10-13  4:21 Ioannis Barkas
  2026-10-13  7:29 ` Niklas Cassel
  2026-10-13 19:56 ` Niklas Cassel
  0 siblings, 2 replies; 4+ messages in thread
From: Ioannis Barkas @ 2026-10-13  4:21 UTC (permalink / raw)
  To: linux-ide; +Cc: Ioannis Barkas

 Code wrongly filters disks by their serial numbers

Fixes: 16c55b038033 (\libata: implement BROKEN_HPA horkage and apply it to affected drives")
Link: https://bugzilla.kernel.org/show_bug.cgi?id=8888
Signed-off-by: Ioannis Barkas jnyb.de@gmail.com
Signed-off-by: Nick Barkas nickbgrk@gmail.com
---
 drivers/ata/libata-core.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 59e87b987d..b23e1c3e4c 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -4248,8 +4248,8 @@ static const struct ata_dev_quirks_entry __ata_dev_quirks[] = {
 
 	/* devices which puke on READ_NATIVE_MAX */
 	{ "HDS724040KLSA80",	"KFAOA20N",	ATA_QUIRK_BROKEN_HPA },
-	{ "WDC WD3200JD-00KLB0", "WD-WCAMR1130137", ATA_QUIRK_BROKEN_HPA },
-	{ "WDC WD2500JD-00HBB0", "WD-WMAL71490727", ATA_QUIRK_BROKEN_HPA },
+	{ "WDC WD3200JD-00KLB0", "08.05J08", ATA_QUIRK_BROKEN_HPA },
+	{ "WDC WD2500JD-00HBB0", "08.02D08", ATA_QUIRK_BROKEN_HPA },
 	{ "MAXTOR 6L080L4",	"A93.0500",	ATA_QUIRK_BROKEN_HPA },
 
 	/* this one allows HPA unlocking but fails IOs on the area */
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] libata: Fix wrong HPA horkage
  2026-10-13  4:21 [PATCH] libata: Fix wrong HPA horkage Ioannis Barkas
@ 2026-10-13  7:29 ` Niklas Cassel
  2026-10-13  9:25   ` Damien Le Moal
  2026-10-13 19:56 ` Niklas Cassel
  1 sibling, 1 reply; 4+ messages in thread
From: Niklas Cassel @ 2026-10-13  7:29 UTC (permalink / raw)
  To: Ioannis Barkas; +Cc: linux-ide, dlemoal

On Tue, Oct 13, 2026 at 07:21:46AM +0300, Ioannis Barkas wrote:
>  Code wrongly filters disks by their serial numbers
> 
> Fixes: 16c55b038033 (\libata: implement BROKEN_HPA horkage and apply it to affected drives")

This should have been V2, as you have already send a patch for this.

Like we commented on your V1:
https://lore.kernel.org/linux-ide/40630ece-de85-48a5-8683-93be32e5d644@kernel.org/

The Fixes tag is corrupted, there should be no backslash.


> Link: https://bugzilla.kernel.org/show_bug.cgi?id=8888
> Signed-off-by: Ioannis Barkas jnyb.de@gmail.com
> Signed-off-by: Nick Barkas nickbgrk@gmail.com
> ---
>  drivers/ata/libata-core.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
> index 59e87b987d..b23e1c3e4c 100644
> --- a/drivers/ata/libata-core.c
> +++ b/drivers/ata/libata-core.c
> @@ -4248,8 +4248,8 @@ static const struct ata_dev_quirks_entry __ata_dev_quirks[] = {
>  
>  	/* devices which puke on READ_NATIVE_MAX */
>  	{ "HDS724040KLSA80",	"KFAOA20N",	ATA_QUIRK_BROKEN_HPA },
> -	{ "WDC WD3200JD-00KLB0", "WD-WCAMR1130137", ATA_QUIRK_BROKEN_HPA },
> -	{ "WDC WD2500JD-00HBB0", "WD-WMAL71490727", ATA_QUIRK_BROKEN_HPA },
> +	{ "WDC WD3200JD-00KLB0", "08.05J08", ATA_QUIRK_BROKEN_HPA },
> +	{ "WDC WD2500JD-00HBB0", "08.02D08", ATA_QUIRK_BROKEN_HPA },

You need to explain why the previous FW revision in not correct.

I think the simplest thing here is to simply omit the FW version field,
i.e. change it to NULL.

However, as pointed out by Sashiko on V1:
https://lore.kernel.org/linux-ide/20260913140806.546C91F000FF@smtp.kernel.org/

There is already a wildcarded entry:
    { "WDC WD3200JD-*",     NULL,   ATA_QUIRK_WD_BROKEN_LPM },

So you should probably drop the "WDC WD3200JD-00KLB0" entry,
and modify the "WDC WD3200JD-*" entry to have quirks:
ATA_QUIRK_BROKEN_HPA | ATA_QUIRK_WD_BROKEN_LPM


Kind regards,
Niklas

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] libata: Fix wrong HPA horkage
  2026-10-13  7:29 ` Niklas Cassel
@ 2026-10-13  9:25   ` Damien Le Moal
  0 siblings, 0 replies; 4+ messages in thread
From: Damien Le Moal @ 2026-10-13  9:25 UTC (permalink / raw)
  To: Niklas Cassel, Ioannis Barkas; +Cc: linux-ide

On 2026/10/13 9:29, Niklas Cassel wrote:
> On Tue, Oct 13, 2026 at 07:21:46AM +0300, Ioannis Barkas wrote:
>>  Code wrongly filters disks by their serial numbers
>>
>> Fixes: 16c55b038033 (\libata: implement BROKEN_HPA horkage and apply it to affected drives")
> 
> This should have been V2, as you have already send a patch for this.
> 
> Like we commented on your V1:
> https://lore.kernel.org/linux-ide/40630ece-de85-48a5-8683-93be32e5d644@kernel.org/
> 
> The Fixes tag is corrupted, there should be no backslash.

Also please fix the patch title prefix. It should be:

ata: libata-core: Fix wrong HPA horkage

And the title could be more explicit as to what is "wrong".


-- 
Damien Le Moal
Western Digital Research

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] libata: Fix wrong HPA horkage
  2026-10-13  4:21 [PATCH] libata: Fix wrong HPA horkage Ioannis Barkas
  2026-10-13  7:29 ` Niklas Cassel
@ 2026-10-13 19:56 ` Niklas Cassel
  1 sibling, 0 replies; 4+ messages in thread
From: Niklas Cassel @ 2026-10-13 19:56 UTC (permalink / raw)
  To: Ioannis Barkas; +Cc: linux-ide

On Tue, Oct 13, 2026 at 07:21:46AM +0300, Ioannis Barkas wrote:
>  Code wrongly filters disks by their serial numbers

I assume you found this using LLM, so a better commit message is something
like:

    ata: libata-core: Remove BROKEN_HPA quirks that can never match

    The ATA_QUIRK_BROKEN_HPA entries for "WDC WD3200JD-00KLB0" and
    "WDC WD2500JD-00HBB0" use "WD-WCAMR1130137" and "WD-WMAL71490727" as
    model_rev. These look like drive serial numbers. model_rev is matched
    against the firmware revision, which is at most ATA_ID_FW_REV_LEN (8)
    characters long, so these 15 character patterns without wildcards can
    never match. This has been the case since the entries were added in
    commit 16c55b038033 ("libata: implement BROKEN_HPA horkage and apply it
    to affected drives"), which compared the strings using strcmp().

    The firmware revisions of the affected drives are not known. Matching
    on the model only would apply ATA_QUIRK_BROKEN_HPA to drives that have
    never had it, and these entries would then take precedence over the
    "WDC WD3200JD-*" and "WDC WD2500JD-*" entries that match the same
    drives. Remove the two entries instead.

    No functional change.

    Assisted-by: LLM



i.e. I would simply let the patch drop these two entries, such that the
existing wildcard entries are the only ones used.


> 
> Fixes: 16c55b038033 (\libata: implement BROKEN_HPA horkage and apply it to affected drives")
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=8888
> Signed-off-by: Ioannis Barkas jnyb.de@gmail.com
> Signed-off-by: Nick Barkas nickbgrk@gmail.com
> ---
>  drivers/ata/libata-core.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
> index 59e87b987d..b23e1c3e4c 100644
> --- a/drivers/ata/libata-core.c
> +++ b/drivers/ata/libata-core.c
> @@ -4248,8 +4248,8 @@ static const struct ata_dev_quirks_entry __ata_dev_quirks[] = {
>  
>  	/* devices which puke on READ_NATIVE_MAX */
>  	{ "HDS724040KLSA80",	"KFAOA20N",	ATA_QUIRK_BROKEN_HPA },
> -	{ "WDC WD3200JD-00KLB0", "WD-WCAMR1130137", ATA_QUIRK_BROKEN_HPA },
> -	{ "WDC WD2500JD-00HBB0", "WD-WMAL71490727", ATA_QUIRK_BROKEN_HPA },
> +	{ "WDC WD3200JD-00KLB0", "08.05J08", ATA_QUIRK_BROKEN_HPA },
> +	{ "WDC WD2500JD-00HBB0", "08.02D08", ATA_QUIRK_BROKEN_HPA },
>  	{ "MAXTOR 6L080L4",	"A93.0500",	ATA_QUIRK_BROKEN_HPA },
>  
>  	/* this one allows HPA unlocking but fails IOs on the area */
> -- 
> 2.53.0
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-10-13 19:56 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-13  4:21 [PATCH] libata: Fix wrong HPA horkage Ioannis Barkas
2026-10-13  7:29 ` Niklas Cassel
2026-10-13  9:25   ` Damien Le Moal
2026-10-13 19:56 ` Niklas Cassel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.