RE: [PATCH] libata: add ATA_HORKAGE_NOLPM for Pioneer BDR-207M and BDR-205

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[Public]



> -----Original Message-----
> From: Niklas Cassel <Niklas.Cassel@xxxxxxx>
> Sent: Monday, September 26, 2022 13:38
> To: Damien Le Moal <damien.lemoal@xxxxxxxxxxxxxxxxxx>; Limonciello,
> Mario <Mario.Limonciello@xxxxxxx>
> Cc: Niklas Cassel <Niklas.Cassel@xxxxxxx>; stable@xxxxxxxxxxxxxxx; Jaap
> Berkhout <j.j.berkhout@xxxxxxxxxxxxxx>; linux-ide@xxxxxxxxxxxxxxx
> Subject: [PATCH] libata: add ATA_HORKAGE_NOLPM for Pioneer BDR-207M
> and BDR-205
> 
> From: Niklas Cassel <niklas.cassel@xxxxxxx>
> 
> Commit 1527f69204fe ("ata: ahci: Add Green Sardine vendor ID as
> board_ahci_mobile") added an explicit entry for AMD Green Sardine
> AHCI controller using the board_ahci_mobile configuration (this
> configuration has later been renamed to board_ahci_low_power).
> 
> The board_ahci_low_power configuration enables support for low power
> modes.
> 
> This explicit entry takes precedence over the generic AHCI controller
> entry, which does not enable support for low power modes.
> 
> Therefore, when commit 1527f69204fe ("ata: ahci: Add Green Sardine
> vendor ID as board_ahci_mobile") was backported to stable kernels,
> it make some Pioneer optical drives, which was working perfectly fine
> before the commit was backported, stop working.
> 
> The real problem is that the Pioneer optical drives do not handle low
> power modes correctly. If these optical drives would have been tested
> on another AHCI controller using the board_ahci_low_power configuration,
> this issue would have been detected earlier.
> 
> Unfortunately, the board_ahci_low_power configuration is only used in
> less than 15% of the total AHCI controller entries, so many devices
> have never been tested with an AHCI controller with low power modes.
> 
> Fixes: 1527f69204fe ("ata: ahci: Add Green Sardine vendor ID as
> board_ahci_mobile")
> Cc: stable@xxxxxxxxxxxxxxx
> Reported-by: Jaap Berkhout <j.j.berkhout@xxxxxxxxxxxxxx>
> Signed-off-by: Niklas Cassel <niklas.cassel@xxxxxxx>

Thanks!

Reviewed-by: Mario Limonciello <mario.limonciello@xxxxxxx>

Since Damien was still intending to modify the default policy so that LPM
applies everywhere I feel like more of this is going to show up.  Should we
consider to maybe keep all CD/DVD/BD devices excluded from LPM?

> ---
>  drivers/ata/libata-core.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
> index 826d41f341e4..c9a9aa607b62 100644
> --- a/drivers/ata/libata-core.c
> +++ b/drivers/ata/libata-core.c
> @@ -3988,6 +3988,10 @@ static const struct ata_blacklist_entry
> ata_device_blacklist [] = {
>  	{ "PIONEER DVD-RW  DVR-212D",	NULL,
> 	ATA_HORKAGE_NOSETXFER },
>  	{ "PIONEER DVD-RW  DVR-216D",	NULL,
> 	ATA_HORKAGE_NOSETXFER },
> 
> +	/* These specific Pioneer models have LPM issues */
> +	{ "PIONEER BD-RW   BDR-207M",	NULL,
> 	ATA_HORKAGE_NOLPM },
> +	{ "PIONEER BD-RW   BDR-205",	NULL,	ATA_HORKAGE_NOLPM },
> +
>  	/* Crucial BX100 SSD 500GB has broken LPM support */
>  	{ "CT500BX100SSD1",		NULL,	ATA_HORKAGE_NOLPM },
> 
> --
> 2.37.3




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux