* [PATCH] ata: libata-core: Quirk INTEL SSDSC2KG480G8 max_sectors
@ 2026-01-20 10:32 Niklas Cassel
[not found] ` <kH1HPlwkQ_5AcoiqCiLZ7VgrxVC0bJBfB_Bo_1hlMfUwn6ebZHhEtBTAmkzMPBkp50zHeUqMGGzRKmAWp4XheOQjQNRNPPn5JajTY5TZnRk=@proton.me>
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Niklas Cassel @ 2026-01-20 10:32 UTC (permalink / raw)
To: Damien Le Moal; +Cc: linux-ide, Wolf, Salvatore Bonaccorso, Niklas Cassel
Commit 9b8b84879d4a ("block: Increase BLK_DEF_MAX_SECTORS_CAP") increased
the default max_sectors_kb from 1280 KiB to 4096 KiB.
INTEL SSDSC2KG480G8 with FW rev XCV10120 times out when sending I/Os of
size 4096 KiB.
Enable ATA_QUIRK_MAX_SEC, with value 8191 (sectors) for this device,
since any I/O with more sectors than that lead to I/O timeouts.
With this, the INTEL SSDSC2KG480G8 is usable again.
Link: https://lore.kernel.org/linux-ide/176839089913.2398366.61500945766820256@eldamar.lan/
Fixes: 9b8b84879d4a ("block: Increase BLK_DEF_MAX_SECTORS_CAP")
Signed-off-by: Niklas Cassel <cassel@kernel.org>
---
Hello Wolf,
please test this patch and see if it works.
The patch is based on the for-next branch of:
git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux.git
drivers/ata/libata-core.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index e888f2445692..8e41e8a33096 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -4082,6 +4082,7 @@ static const struct ata_dev_quirk_value __ata_dev_max_sec_quirks[] = {
{ "LITEON CX1-JB*-HP", NULL, 1024 },
{ "LITEON EP1-*", NULL, 1024 },
{ "DELLBOSS VD", "MV.R00-0", 8191 },
+ { "INTEL SSDSC2KG480G8", "XCV10120", 8191 },
{ },
};
@@ -4336,6 +4337,8 @@ static const struct ata_dev_quirks_entry __ata_dev_quirks[] = {
{ "Micron*", NULL, ATA_QUIRK_ZERO_AFTER_TRIM },
{ "Crucial*", NULL, ATA_QUIRK_ZERO_AFTER_TRIM },
+ { "INTEL SSDSC2KG480G8", "XCV10120", ATA_QUIRK_ZERO_AFTER_TRIM |
+ ATA_QUIRK_MAX_SEC },
{ "INTEL*SSD*", NULL, ATA_QUIRK_ZERO_AFTER_TRIM },
{ "SSD*INTEL*", NULL, ATA_QUIRK_ZERO_AFTER_TRIM },
{ "Samsung*SSD*", NULL, ATA_QUIRK_ZERO_AFTER_TRIM },
--
2.52.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] ata: libata-core: Quirk INTEL SSDSC2KG480G8 max_sectors
[not found] ` <kH1HPlwkQ_5AcoiqCiLZ7VgrxVC0bJBfB_Bo_1hlMfUwn6ebZHhEtBTAmkzMPBkp50zHeUqMGGzRKmAWp4XheOQjQNRNPPn5JajTY5TZnRk=@proton.me>
@ 2026-01-20 13:49 ` Niklas Cassel
0 siblings, 0 replies; 4+ messages in thread
From: Niklas Cassel @ 2026-01-20 13:49 UTC (permalink / raw)
To: Wolf, Damien Le Moal; +Cc: 1120831@bugs.debian.org, linux-ide
Hello Wolf,
On Tue, Jan 20, 2026 at 01:29:27PM +0000, Wolf wrote:
> > Hello Wolf,
> >
> > please test this patch and see if it works.
> >
> > The patch is based on the for-next branch of:
> > git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux.git
> >
> > drivers/ata/libata-core.c | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
> > index e888f2445692..8e41e8a33096 100644
> > --- a/drivers/ata/libata-core.c
> > +++ b/drivers/ata/libata-core.c
> > @@ -4082,6 +4082,7 @@ static const struct ata_dev_quirk_value __ata_dev_max_sec_quirks[] = {
> > { "LITEON CX1-JB*-HP", NULL, 1024 },
> > { "LITEON EP1-", NULL, 1024 },
> > { "DELLBOSS VD", "MV.R00-0", 8191 },
> > + { "INTEL SSDSC2KG480G8", "XCV10120", 8191 },
> > { },
> > };
> >
> > @@ -4336,6 +4337,8 @@ static const struct ata_dev_quirks_entry __ata_dev_quirks[] = {
> >
> > { "Micron", NULL, ATA_QUIRK_ZERO_AFTER_TRIM },
> > { "Crucial*", NULL, ATA_QUIRK_ZERO_AFTER_TRIM },
> > + { "INTEL SSDSC2KG480G8", "XCV10120", ATA_QUIRK_ZERO_AFTER_TRIM |
> > + ATA_QUIRK_MAX_SEC },
> > { "INTELSSD", NULL, ATA_QUIRK_ZERO_AFTER_TRIM },
> > { "SSDINTEL", NULL, ATA_QUIRK_ZERO_AFTER_TRIM },
> > { "SamsungSSD", NULL, ATA_QUIRK_ZERO_AFTER_TRIM },
> > --
> > 2.52.0
>
> Hello Niklas,
>
> The patched linux/6.19.0~rc1 is working.
Thank you for testing!
Hopefully Damien can queue it up.
I suggest queueing it up for for-next,
since it depends on some patches there.
Kind regards,
Niklas
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] ata: libata-core: Quirk INTEL SSDSC2KG480G8 max_sectors
2026-01-20 10:32 [PATCH] ata: libata-core: Quirk INTEL SSDSC2KG480G8 max_sectors Niklas Cassel
[not found] ` <kH1HPlwkQ_5AcoiqCiLZ7VgrxVC0bJBfB_Bo_1hlMfUwn6ebZHhEtBTAmkzMPBkp50zHeUqMGGzRKmAWp4XheOQjQNRNPPn5JajTY5TZnRk=@proton.me>
@ 2026-01-22 15:09 ` Martin K. Petersen
2026-01-26 6:43 ` Damien Le Moal
2 siblings, 0 replies; 4+ messages in thread
From: Martin K. Petersen @ 2026-01-22 15:09 UTC (permalink / raw)
To: Niklas Cassel; +Cc: Damien Le Moal, linux-ide, Wolf, Salvatore Bonaccorso
Niklas,
> Commit 9b8b84879d4a ("block: Increase BLK_DEF_MAX_SECTORS_CAP") increased
> the default max_sectors_kb from 1280 KiB to 4096 KiB.
>
> INTEL SSDSC2KG480G8 with FW rev XCV10120 times out when sending I/Os of
> size 4096 KiB.
>
> Enable ATA_QUIRK_MAX_SEC, with value 8191 (sectors) for this device,
> since any I/O with more sectors than that lead to I/O timeouts.
Looks good.
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
--
Martin K. Petersen
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] ata: libata-core: Quirk INTEL SSDSC2KG480G8 max_sectors
2026-01-20 10:32 [PATCH] ata: libata-core: Quirk INTEL SSDSC2KG480G8 max_sectors Niklas Cassel
[not found] ` <kH1HPlwkQ_5AcoiqCiLZ7VgrxVC0bJBfB_Bo_1hlMfUwn6ebZHhEtBTAmkzMPBkp50zHeUqMGGzRKmAWp4XheOQjQNRNPPn5JajTY5TZnRk=@proton.me>
2026-01-22 15:09 ` Martin K. Petersen
@ 2026-01-26 6:43 ` Damien Le Moal
2 siblings, 0 replies; 4+ messages in thread
From: Damien Le Moal @ 2026-01-26 6:43 UTC (permalink / raw)
To: Niklas Cassel; +Cc: linux-ide, Wolf, Salvatore Bonaccorso
On 1/20/26 7:32 PM, Niklas Cassel wrote:
> Commit 9b8b84879d4a ("block: Increase BLK_DEF_MAX_SECTORS_CAP") increased
> the default max_sectors_kb from 1280 KiB to 4096 KiB.
>
> INTEL SSDSC2KG480G8 with FW rev XCV10120 times out when sending I/Os of
> size 4096 KiB.
>
> Enable ATA_QUIRK_MAX_SEC, with value 8191 (sectors) for this device,
> since any I/O with more sectors than that lead to I/O timeouts.
>
> With this, the INTEL SSDSC2KG480G8 is usable again.
>
> Link: https://lore.kernel.org/linux-ide/176839089913.2398366.61500945766820256@eldamar.lan/
> Fixes: 9b8b84879d4a ("block: Increase BLK_DEF_MAX_SECTORS_CAP")
> Signed-off-by: Niklas Cassel <cassel@kernel.org>
Applied to for-6.20. Thanks !
--
Damien Le Moal
Western Digital Research
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-01-26 6:48 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-20 10:32 [PATCH] ata: libata-core: Quirk INTEL SSDSC2KG480G8 max_sectors Niklas Cassel
[not found] ` <kH1HPlwkQ_5AcoiqCiLZ7VgrxVC0bJBfB_Bo_1hlMfUwn6ebZHhEtBTAmkzMPBkp50zHeUqMGGzRKmAWp4XheOQjQNRNPPn5JajTY5TZnRk=@proton.me>
2026-01-20 13:49 ` Niklas Cassel
2026-01-22 15:09 ` Martin K. Petersen
2026-01-26 6:43 ` Damien Le Moal
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox