diff mbox series

ata: libata-core: Disable READ LOG DMA EXT for Samsung MZ7LH

Message ID 20230210215151.812839-1-chutzpah@gentoo.org
State New
Headers show
Series ata: libata-core: Disable READ LOG DMA EXT for Samsung MZ7LH | expand

Commit Message

Patrick McLean Feb. 10, 2023, 9:51 p.m. UTC
Samsung MZ7LH drives are spewing messages like this in to dmesg with AMD
SATA controllers:

ata1.00: exception Emask 0x0 SAct 0x7e0000 SErr 0x0 action 0x6 frozen
ata1.00: failed command: SEND FPDMA QUEUED
ata1.00: cmd 64/01:88:00:00:00/00:00:00:00:00/a0 tag 17 ncq dma 512 out
         res 40/00:01:01:4f:c2/00:00:00:00:00/00 Emask
         0x4 (timeout)

Since this was seen previously with SSD 840 EVO drives in
https://bugzilla.kernel.org/show_bug.cgi?id=203475 let's add the same
fix for these drives as the EVOs have, since they likely have very
similar firmwares.

Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
---
 drivers/ata/libata-core.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Damien Le Moal Feb. 11, 2023, 3:11 a.m. UTC | #1
On 2/11/23 06:51, Patrick McLean wrote:
> Samsung MZ7LH drives are spewing messages like this in to dmesg with AMD
> SATA controllers:
> 
> ata1.00: exception Emask 0x0 SAct 0x7e0000 SErr 0x0 action 0x6 frozen
> ata1.00: failed command: SEND FPDMA QUEUED
> ata1.00: cmd 64/01:88:00:00:00/00:00:00:00:00/a0 tag 17 ncq dma 512 out
>          res 40/00:01:01:4f:c2/00:00:00:00:00/00 Emask
>          0x4 (timeout)
> 
> Since this was seen previously with SSD 840 EVO drives in
> https://bugzilla.kernel.org/show_bug.cgi?id=203475 let's add the same
> fix for these drives as the EVOs have, since they likely have very
> similar firmwares.
> 
> Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
> ---
>  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 2ea572628b1c..c4c89d24f84c 100644
> --- a/drivers/ata/libata-core.c
> +++ b/drivers/ata/libata-core.c
> @@ -4045,6 +4045,9 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
>  	{ "Samsung SSD 870*",		NULL,	ATA_HORKAGE_NO_NCQ_TRIM |
>  						ATA_HORKAGE_ZERO_AFTER_TRIM |
>  						ATA_HORKAGE_NO_NCQ_ON_ATI },
> +	{ "SAMSUNG*MZ7LH*",		NULL,	ATA_HORKAGE_NO_NCQ_TRIM |
> +						ATA_HORKAGE_ZERO_AFTER_TRIM |
> +						ATA_HORKAGE_NO_NCQ_ON_ATI, },
>  	{ "FCCT*M500*",			NULL,	ATA_HORKAGE_NO_NCQ_TRIM |
>  						ATA_HORKAGE_ZERO_AFTER_TRIM },
>  

Looks OK, but ATA_HORKAGE_NO_NCQ_ON_ATI is for PCI vendor ID 1002h. AMD
also has vendor ID 1022h. Did you check you adapter vendor ID & tested
this patch ?
Damien Le Moal Feb. 11, 2023, 3:12 a.m. UTC | #2
On 2/11/23 06:51, Patrick McLean wrote:
> Samsung MZ7LH drives are spewing messages like this in to dmesg with AMD
> SATA controllers:
> 
> ata1.00: exception Emask 0x0 SAct 0x7e0000 SErr 0x0 action 0x6 frozen
> ata1.00: failed command: SEND FPDMA QUEUED
> ata1.00: cmd 64/01:88:00:00:00/00:00:00:00:00/a0 tag 17 ncq dma 512 out
>          res 40/00:01:01:4f:c2/00:00:00:00:00/00 Emask
>          0x4 (timeout)
> 
> Since this was seen previously with SSD 840 EVO drives in
> https://bugzilla.kernel.org/show_bug.cgi?id=203475 let's add the same
> fix for these drives as the EVOs have, since they likely have very
> similar firmwares.
> 
> Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
> ---
>  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 2ea572628b1c..c4c89d24f84c 100644
> --- a/drivers/ata/libata-core.c
> +++ b/drivers/ata/libata-core.c
> @@ -4045,6 +4045,9 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
>  	{ "Samsung SSD 870*",		NULL,	ATA_HORKAGE_NO_NCQ_TRIM |
>  						ATA_HORKAGE_ZERO_AFTER_TRIM |
>  						ATA_HORKAGE_NO_NCQ_ON_ATI },
> +	{ "SAMSUNG*MZ7LH*",		NULL,	ATA_HORKAGE_NO_NCQ_TRIM |

Are you sure about the upper case here for this drive model name ?

> +						ATA_HORKAGE_ZERO_AFTER_TRIM |
> +						ATA_HORKAGE_NO_NCQ_ON_ATI, },
>  	{ "FCCT*M500*",			NULL,	ATA_HORKAGE_NO_NCQ_TRIM |
>  						ATA_HORKAGE_ZERO_AFTER_TRIM },
>
Patrick McLean Feb. 13, 2023, 8:16 p.m. UTC | #3
On Sat, 11 Feb 2023 12:12:23 +0900
Damien Le Moal <damien.lemoal@opensource.wdc.com> wrote:

> On 2/11/23 06:51, Patrick McLean wrote:
> > Samsung MZ7LH drives are spewing messages like this in to dmesg with AMD
> > SATA controllers:
> > 
> > ata1.00: exception Emask 0x0 SAct 0x7e0000 SErr 0x0 action 0x6 frozen
> > ata1.00: failed command: SEND FPDMA QUEUED
> > ata1.00: cmd 64/01:88:00:00:00/00:00:00:00:00/a0 tag 17 ncq dma 512 out
> >          res 40/00:01:01:4f:c2/00:00:00:00:00/00 Emask
> >          0x4 (timeout)
> > 
> > Since this was seen previously with SSD 840 EVO drives in
> > https://bugzilla.kernel.org/show_bug.cgi?id=203475 let's add the same
> > fix for these drives as the EVOs have, since they likely have very
> > similar firmwares.
> > 
> > Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
> > ---
> >  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 2ea572628b1c..c4c89d24f84c 100644
> > --- a/drivers/ata/libata-core.c
> > +++ b/drivers/ata/libata-core.c
> > @@ -4045,6 +4045,9 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
> >  	{ "Samsung SSD 870*",		NULL,	ATA_HORKAGE_NO_NCQ_TRIM |
> >  						ATA_HORKAGE_ZERO_AFTER_TRIM |
> >  						ATA_HORKAGE_NO_NCQ_ON_ATI },
> > +	{ "SAMSUNG*MZ7LH*",		NULL,	ATA_HORKAGE_NO_NCQ_TRIM |  
> 
> Are you sure about the upper case here for this drive model name ?
> 
Yes, the drive model name is upper case. We have tested this patch and
it does resolve the problem on our hardware.
> > +						ATA_HORKAGE_ZERO_AFTER_TRIM |
> > +						ATA_HORKAGE_NO_NCQ_ON_ATI, },
> >  	{ "FCCT*M500*",			NULL,	ATA_HORKAGE_NO_NCQ_TRIM |
> >  						ATA_HORKAGE_ZERO_AFTER_TRIM },
> >    
> 
> -- 
> Damien Le Moal
> Western Digital Research
> 


--
Patrick McLean Feb. 13, 2023, 8:17 p.m. UTC | #4
On Sat, 11 Feb 2023 12:11:48 +0900
Damien Le Moal <damien.lemoal@opensource.wdc.com> wrote:

> On 2/11/23 06:51, Patrick McLean wrote:
> > Samsung MZ7LH drives are spewing messages like this in to dmesg with AMD
> > SATA controllers:
> > 
> > ata1.00: exception Emask 0x0 SAct 0x7e0000 SErr 0x0 action 0x6 frozen
> > ata1.00: failed command: SEND FPDMA QUEUED
> > ata1.00: cmd 64/01:88:00:00:00/00:00:00:00:00/a0 tag 17 ncq dma 512 out
> >          res 40/00:01:01:4f:c2/00:00:00:00:00/00 Emask
> >          0x4 (timeout)
> > 
> > Since this was seen previously with SSD 840 EVO drives in
> > https://bugzilla.kernel.org/show_bug.cgi?id=203475 let's add the same
> > fix for these drives as the EVOs have, since they likely have very
> > similar firmwares.
> > 
> > Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
> > ---
> >  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 2ea572628b1c..c4c89d24f84c 100644
> > --- a/drivers/ata/libata-core.c
> > +++ b/drivers/ata/libata-core.c
> > @@ -4045,6 +4045,9 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
> >  	{ "Samsung SSD 870*",		NULL,	ATA_HORKAGE_NO_NCQ_TRIM |
> >  						ATA_HORKAGE_ZERO_AFTER_TRIM |
> >  						ATA_HORKAGE_NO_NCQ_ON_ATI },
> > +	{ "SAMSUNG*MZ7LH*",		NULL,	ATA_HORKAGE_NO_NCQ_TRIM |
> > +						ATA_HORKAGE_ZERO_AFTER_TRIM |
> > +						ATA_HORKAGE_NO_NCQ_ON_ATI, },
> >  	{ "FCCT*M500*",			NULL,	ATA_HORKAGE_NO_NCQ_TRIM |
> >  						ATA_HORKAGE_ZERO_AFTER_TRIM },
> >    
> 
> Looks OK, but ATA_HORKAGE_NO_NCQ_ON_ATI is for PCI vendor ID 1002h. AMD
> also has vendor ID 1022h. Did you check you adapter vendor ID & tested
> this patch ?

We tested this patch, and it resolves the problem for us (we have been
using it for several months).

> -- 
> Damien Le Moal
> Western Digital Research
> 


--
Damien Le Moal Feb. 14, 2023, 1:33 a.m. UTC | #5
On 2/14/23 05:17, Patrick McLean wrote:
> On Sat, 11 Feb 2023 12:11:48 +0900
> Damien Le Moal <damien.lemoal@opensource.wdc.com> wrote:
> 
>> On 2/11/23 06:51, Patrick McLean wrote:
>>> Samsung MZ7LH drives are spewing messages like this in to dmesg with AMD
>>> SATA controllers:
>>>
>>> ata1.00: exception Emask 0x0 SAct 0x7e0000 SErr 0x0 action 0x6 frozen
>>> ata1.00: failed command: SEND FPDMA QUEUED
>>> ata1.00: cmd 64/01:88:00:00:00/00:00:00:00:00/a0 tag 17 ncq dma 512 out
>>>          res 40/00:01:01:4f:c2/00:00:00:00:00/00 Emask
>>>          0x4 (timeout)
>>>
>>> Since this was seen previously with SSD 840 EVO drives in
>>> https://bugzilla.kernel.org/show_bug.cgi?id=203475 let's add the same
>>> fix for these drives as the EVOs have, since they likely have very
>>> similar firmwares.
>>>
>>> Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
>>> ---
>>>  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 2ea572628b1c..c4c89d24f84c 100644
>>> --- a/drivers/ata/libata-core.c
>>> +++ b/drivers/ata/libata-core.c
>>> @@ -4045,6 +4045,9 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
>>>  	{ "Samsung SSD 870*",		NULL,	ATA_HORKAGE_NO_NCQ_TRIM |
>>>  						ATA_HORKAGE_ZERO_AFTER_TRIM |
>>>  						ATA_HORKAGE_NO_NCQ_ON_ATI },
>>> +	{ "SAMSUNG*MZ7LH*",		NULL,	ATA_HORKAGE_NO_NCQ_TRIM |
>>> +						ATA_HORKAGE_ZERO_AFTER_TRIM |
>>> +						ATA_HORKAGE_NO_NCQ_ON_ATI, },
>>>  	{ "FCCT*M500*",			NULL,	ATA_HORKAGE_NO_NCQ_TRIM |
>>>  						ATA_HORKAGE_ZERO_AFTER_TRIM },
>>>    
>>
>> Looks OK, but ATA_HORKAGE_NO_NCQ_ON_ATI is for PCI vendor ID 1002h. AMD
>> also has vendor ID 1022h. Did you check you adapter vendor ID & tested
>> this patch ?
> 
> We tested this patch, and it resolves the problem for us (we have been
> using it for several months).

OK. Thanks for confirming. Will apply in a little while. Thanks !

> 
>> -- 
>> Damien Le Moal
>> Western Digital Research
>>
> 
>
Damien Le Moal Feb. 14, 2023, 3:27 a.m. UTC | #6
On 2/11/23 06:51, Patrick McLean wrote:
> Samsung MZ7LH drives are spewing messages like this in to dmesg with AMD
> SATA controllers:
> 
> ata1.00: exception Emask 0x0 SAct 0x7e0000 SErr 0x0 action 0x6 frozen
> ata1.00: failed command: SEND FPDMA QUEUED
> ata1.00: cmd 64/01:88:00:00:00/00:00:00:00:00/a0 tag 17 ncq dma 512 out
>          res 40/00:01:01:4f:c2/00:00:00:00:00/00 Emask
>          0x4 (timeout)
> 
> Since this was seen previously with SSD 840 EVO drives in
> https://bugzilla.kernel.org/show_bug.cgi?id=203475 let's add the same
> fix for these drives as the EVOs have, since they likely have very
> similar firmwares.
> 
> Signed-off-by: Patrick McLean <chutzpah@gentoo.org>

Applied to for-6.2-fixes. Thanks !
diff mbox series

Patch

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 2ea572628b1c..c4c89d24f84c 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -4045,6 +4045,9 @@  static const struct ata_blacklist_entry ata_device_blacklist [] = {
 	{ "Samsung SSD 870*",		NULL,	ATA_HORKAGE_NO_NCQ_TRIM |
 						ATA_HORKAGE_ZERO_AFTER_TRIM |
 						ATA_HORKAGE_NO_NCQ_ON_ATI },
+	{ "SAMSUNG*MZ7LH*",		NULL,	ATA_HORKAGE_NO_NCQ_TRIM |
+						ATA_HORKAGE_ZERO_AFTER_TRIM |
+						ATA_HORKAGE_NO_NCQ_ON_ATI, },
 	{ "FCCT*M500*",			NULL,	ATA_HORKAGE_NO_NCQ_TRIM |
 						ATA_HORKAGE_ZERO_AFTER_TRIM },