diff mbox series

ata: libata-core: Add ATA_HORKAGE_NOLPM for all Crucial BX SSD1 models

Message ID 20240624132729.3001688-2-cassel@kernel.org
State New
Headers show
Series ata: libata-core: Add ATA_HORKAGE_NOLPM for all Crucial BX SSD1 models | expand

Commit Message

Niklas Cassel June 24, 2024, 1:27 p.m. UTC
We got another report that CT1000BX500SSD1 does not work with LPM.

If you look in libata-core.c, we have six different Crucial devices that
are marked with ATA_HORKAGE_NOLPM. This model would have been the seventh.
(This quirk is used on Crucial models starting with both CT* and
Crucial_CT*)

It is obvious that this vendor does not have a great history of supporting
LPM properly, therefore, add the ATA_HORKAGE_NOLPM quirk for all Crucial
BX SSD1 models.

Fixes: 7627a0edef54 ("ata: ahci: Drop low power policy board type")
Cc: stable@vger.kernel.org
Reported-by: Tkd-Alex <alex.tkd.alex@gmail.com>
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218832
Signed-off-by: Niklas Cassel <cassel@kernel.org>
---
 drivers/ata/libata-core.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Damien Le Moal June 24, 2024, 9:47 p.m. UTC | #1
On 2024/06/24 22:27, Niklas Cassel wrote:
> We got another report that CT1000BX500SSD1 does not work with LPM.
> 
> If you look in libata-core.c, we have six different Crucial devices that
> are marked with ATA_HORKAGE_NOLPM. This model would have been the seventh.
> (This quirk is used on Crucial models starting with both CT* and
> Crucial_CT*)
> 
> It is obvious that this vendor does not have a great history of supporting
> LPM properly, therefore, add the ATA_HORKAGE_NOLPM quirk for all Crucial
> BX SSD1 models.
> 
> Fixes: 7627a0edef54 ("ata: ahci: Drop low power policy board type")
> Cc: stable@vger.kernel.org
> Reported-by: Tkd-Alex <alex.tkd.alex@gmail.com>

We need a real full name here, not a user name... So if Alex is not willing to
send his full name, please remove this.

Other than that, looks good. That was strike 3 for this series of SSDs, so I
agree that taking the big hammer and disabling LPM for all of them is the right
thing to do. If the device vendor wants to help with this, we can refine this later.

Reviewed-by: Damien Le Moal <dlemoal@kernel.org>

> Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218832
> Signed-off-by: Niklas Cassel <cassel@kernel.org>
> ---
>  drivers/ata/libata-core.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
> index e1bf8a19b3c8..efb5195da60c 100644
> --- a/drivers/ata/libata-core.c
> +++ b/drivers/ata/libata-core.c
> @@ -4137,8 +4137,7 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
>  	{ "PIONEER BD-RW   BDR-205",	NULL,	ATA_HORKAGE_NOLPM },
>  
>  	/* Crucial devices with broken LPM support */
> -	{ "CT500BX100SSD1",		NULL,	ATA_HORKAGE_NOLPM },
> -	{ "CT240BX500SSD1",		NULL,	ATA_HORKAGE_NOLPM },
> +	{ "CT*0BX*00SSD1",		NULL,	ATA_HORKAGE_NOLPM },
>  
>  	/* 512GB MX100 with MU01 firmware has both queued TRIM and LPM issues */
>  	{ "Crucial_CT512MX100*",	"MU01",	ATA_HORKAGE_NO_NCQ_TRIM |
Niklas Cassel June 25, 2024, 8:36 a.m. UTC | #2
On Tue, Jun 25, 2024 at 08:52:45AM +0200, Alessandro Maggio wrote:
> Hello guys, I've updated my full name on bugzilla.kernel.org, thank you for
> the patch.
> There's anything else that I can do?

If you know how to compile your own kernel, it would be very appreciated
if you could test that the patch actually solves your problem.


Kind regards,
Niklas
Niklas Cassel June 25, 2024, 8:52 a.m. UTC | #3
On Tue, Jun 25, 2024 at 06:47:32AM +0900, Damien Le Moal wrote:
> On 2024/06/24 22:27, Niklas Cassel wrote:
> > We got another report that CT1000BX500SSD1 does not work with LPM.
> > 
> > If you look in libata-core.c, we have six different Crucial devices that
> > are marked with ATA_HORKAGE_NOLPM. This model would have been the seventh.
> > (This quirk is used on Crucial models starting with both CT* and
> > Crucial_CT*)
> > 
> > It is obvious that this vendor does not have a great history of supporting
> > LPM properly, therefore, add the ATA_HORKAGE_NOLPM quirk for all Crucial
> > BX SSD1 models.
> > 
> > Fixes: 7627a0edef54 ("ata: ahci: Drop low power policy board type")
> > Cc: stable@vger.kernel.org
> > Reported-by: Tkd-Alex <alex.tkd.alex@gmail.com>
> 
> We need a real full name here, not a user name... So if Alex is not willing to
> send his full name, please remove this.

I disagree.

The Signed-off-by tag needs a real name, but if you take a dig through the
git log, you will see that the Reported-by tag is not always a real name.

E.g. the benevolent dictator for life used a non-real name for Reported-by
here:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6022f210461fef67e6e676fd8544ca02d1bcfa7a

Anyway, now when we have a real name, I will send a V2.


Kind regards,
Niklas
Niklas Cassel June 25, 2024, 9:33 a.m. UTC | #4
On Tue, Jun 25, 2024 at 10:54:38AM +0200, Alessandro Maggio wrote:
> Nope sorry, I don't know how to build and/or how to apply the patch. If you
> have a tutorial to share will be awesome

Sure!

You will need some packages installed in order to build the kernel,
so start off by installing the packages listed here:
https://docs.kernel.org/admin-guide/quickly-build-trimmed-linux.html#install-build-requirements


### then these are the steps:
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
$ cd linux
$ git checkout v6.10-rc5
$ cp /boot/config-$(uname -r) .config
$ make olddefconfig

### if using distro with dnf
$ sudo dnf install b4
### if using distro with apt
$ sudo apt install b4

### apply the patch from the mailing list:
$ b4 shazam https://lore.kernel.org/linux-ide/20240624132729.3001688-2-cassel@kernel.org/

### do a git show to verify that the patch has been applied correctly:
$ git show -v

$ make -j$(nproc)
$ sudo make modules_install
$ sudo make install

### if your distro is using grubby, you can check if the kernel will boot the
### newly installed kernel by default:
$ sudo grubby --default-kernel

### it should show something like:
/boot/vmlinuz-6.10-rc5+

### reboot
$ sudo reboot

### if your distro is not using grubby, make sure to select the
### newly built kernel version in the grub menu at boot

### verify that you have booted the newly built kernel version:
$ cat /proc/version

### it should show something like:
Linux version 6.10-rc5+ (nks) (gcc (GCC) 14.1.1 20240607 (Red Hat 14.1.1-5), GNU ld version 2.41-37.fc40) #1 SMP PREEMPT_DYNAMIC Wed Jun 24 13:37:00 UTC 2024


Kind regards,
Niklas
diff mbox series

Patch

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index e1bf8a19b3c8..efb5195da60c 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -4137,8 +4137,7 @@  static const struct ata_blacklist_entry ata_device_blacklist [] = {
 	{ "PIONEER BD-RW   BDR-205",	NULL,	ATA_HORKAGE_NOLPM },
 
 	/* Crucial devices with broken LPM support */
-	{ "CT500BX100SSD1",		NULL,	ATA_HORKAGE_NOLPM },
-	{ "CT240BX500SSD1",		NULL,	ATA_HORKAGE_NOLPM },
+	{ "CT*0BX*00SSD1",		NULL,	ATA_HORKAGE_NOLPM },
 
 	/* 512GB MX100 with MU01 firmware has both queued TRIM and LPM issues */
 	{ "Crucial_CT512MX100*",	"MU01",	ATA_HORKAGE_NO_NCQ_TRIM |