On Tuesday, 20 January 2026 at 12:32, Niklas Cassel <[email protected]> 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/[email protected]/
> Fixes: 9b8b84879d4a ("block: Increase BLK_DEF_MAX_SECTORS_CAP")
> Signed-off-by: Niklas Cassel [email protected]
>
> ---
> 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.
Regards,
Wolf