Skip to contentSkip to conversation

libata: add Samsung HD401LJ to the NCQ blacklist

PATCH In review Max Kellermann 2 participants 6 messages Apr 18, 2007 – Apr 20, 2007 libata

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 libata: add Samsung HD401LJ to the NCQ blacklist

Yet another hard drive which doesn't seem to get NCQ right.

ata1: EH in ADMA mode, notifier 0x0 notifier_error 0x0 gen_ctl 0x1501000 status 0x400 next cpb count 0xB next cpb idx 0x0 [...]
ata1: timeout waiting for ADMA IDLE, stat=0x400
ata1: timeout waiting for ADMA LEGACY, stat=0x400 ata1.00: exception Emask 0x0 SAct 0x3fff SErr 0x200000 action 0x2 frozen
[...]
ata1: soft resetting port

http://lkml.org/lkml/2007/3/16/184

 drivers/ata/libata-core.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
drivers/ata/libata-core.c +1 -0
index 0abd72d..39a4c05 100644
@@ -3374,6 +3374,7 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
 	{ "Maxtor 6L250S0",     "BANC1G10",     ATA_HORKAGE_NONCQ },
 	/* NCQ hard hangs device under heavier load, needs hard power cycle */
 	{ "Maxtor 6B250S0",	"BANC1B70",	ATA_HORKAGE_NONCQ },
+        { "SAMSUNG HD401LJ",	NULL,		ATA_HORKAGE_NONCQ, },
 	/* Blacklist entries taken from Silicon Image 3124/3132
 	   Windows driver .inf file - also several Linux problem reports */
 	{ "HTS541060G9SA00",    "MB3OC60D",     ATA_HORKAGE_NONCQ, },
#1 lore raw
Quoted 23 lines · Max Kellermann

Yet another hard drive which doesn't seem to get NCQ right.

ata1: EH in ADMA mode, notifier 0x0 notifier_error 0x0 gen_ctl 0x1501000 status 0x400 next cpb count 0xB next cpb idx 0x0 [...]
ata1: timeout waiting for ADMA IDLE, stat=0x400
ata1: timeout waiting for ADMA LEGACY, stat=0x400 ata1.00: exception Emask 0x0 SAct 0x3fff SErr 0x200000 action 0x2 frozen
[...]
ata1: soft resetting port

http://lkml.org/lkml/2007/3/16/184

 drivers/ata/libata-core.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
drivers/ata/libata-core.c +0 -0
index 0abd72d..39a4c05 100644

drivers/ata/libata-core.c static const struct ata_blacklist_entry ata_device_blacklist [] = { · line 3380

Quoted 7 lines
drivers/ata/libata-core.c +1 -0
@@ -3374,6 +3374,7 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
 	{ "Maxtor 6L250S0",     "BANC1G10",     ATA_HORKAGE_NONCQ },
 	/* NCQ hard hangs device under heavier load, needs hard power cycle */
 	{ "Maxtor 6B250S0",	"BANC1B70",	ATA_HORKAGE_NONCQ },
+        { "SAMSUNG HD401LJ",	NULL,		ATA_HORKAGE_NONCQ, },
 	/* Blacklist entries taken from Silicon Image 3124/3132
 	   Windows driver .inf file - also several Linux problem reports */
 	{ "HTS541060G9SA00",    "MB3OC60D",     ATA_HORKAGE_NONCQ, },

Can you try it on another controller? Say, a ahci or sil24?

Signature · 1 line
tejun
#2 lore raw
Quoted 1 line · Tejun Heo

Can you try it on another controller? Say, a ahci or sil24?

Seems to work ok on a Via VT8251 controller (AHCI) on kernel 2.6.21-rc6-git4 without my NCQ disabling patch.

By the way, on this machine, I had a lot of SATA timeouts during kernel boot, which were solved by appending "nomsi". Do you believe there might be a relation to the NCQ problems on my first (Nforce) machine?

Max

#3 lore raw
Quoted 5 lines · Max Kellermann
Quoted 1 line · Tejun Heo

Can you try it on another controller? Say, a ahci or sil24?

Seems to work ok on a Via VT8251 controller (AHCI) on kernel 2.6.21-rc6-git4 without my NCQ disabling patch.

Unfortunately, NCQ is not supported on VT8251, so it doesn't prove anything. :-(

Quoted 4 lines

By the way, on this machine, I had a lot of SATA timeouts during kernel boot, which were solved by appending "nomsi". Do you believe there might be a relation to the NCQ problems on my first (Nforce) machine?

It's more likely your chipset just has busted MSI support. Please post the result of 'lspci -tv' and 'lspci -nn'.

Thanks.

Signature · 1 line
tejun
#4 lore raw
Quoted 2 lines · Tejun Heo

It's more likely your chipset just has busted MSI support. Please post the result of 'lspci -tv' and 'lspci -nn'.

See attachments. I found the "nomsi" workaround in a forum, and didn't bother to investigate the real cause yet.

Max

-[0000:00]-+-00.0  VIA Technologies, Inc. VT3351 Host Bridge
           +-00.1  VIA Technologies, Inc. VT3351 Host Bridge
           +-00.2  VIA Technologies, Inc. VT3351 Host Bridge
           +-00.3  VIA Technologies, Inc. VT3351 Host Bridge
           +-00.4  VIA Technologies, Inc. VT3351 Host Bridge
           +-00.5  VIA Technologies, Inc. VT3351 I/O APIC Interrupt Controller
           +-00.7  VIA Technologies, Inc. VT3351 Host Bridge
           +-01.0-[0000:01]--
           +-02.0-[0000:02]--
           +-03.0-[0000:03]--
           +-0f.0  VIA Technologies, Inc. VT8251 AHCI/SATA 4-Port Controller
           +-0f.1  VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE
           +-10.0  VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller
           +-10.1  VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller
           +-10.2  VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller
           +-10.3  VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller
           +-10.4  VIA Technologies, Inc. USB 2.0
           +-11.0  VIA Technologies, Inc. VT8251 PCI to ISA Bridge
           +-11.7  VIA Technologies, Inc. VT8251 Ultra VLINK Controller
           +-12.0  VIA Technologies, Inc. VT6102 [Rhine-II]
           +-13.0-[0000:04-06]--+-00.0-[0000:05]--
           |                    \-00.1-[0000:06]--
           +-13.1-[0000:07]--+-0b.0  Matrox Graphics, Inc. MGA 2064W [Millennium]
           |                 +-0c.0  Intel Corporation 82546GB Gigabit Ethernet Controller
           |                 +-0c.1  Intel Corporation 82546GB Gigabit Ethernet Controller
           |                 \-0d.0  Promise Technology, Inc. PDC40718 (SATA 300 TX4)
           +-18.0  Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
           +-18.1  Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
           +-18.2  Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
           \-18.3  Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control

00:00.0 Host bridge [0600]: VIA Technologies, Inc. VT3351 Host Bridge [1106:0351]
00:00.1 Host bridge [0600]: VIA Technologies, Inc. VT3351 Host Bridge [1106:1351]
00:00.2 Host bridge [0600]: VIA Technologies, Inc. VT3351 Host Bridge [1106:2351]
00:00.3 Host bridge [0600]: VIA Technologies, Inc. VT3351 Host Bridge [1106:3351]
00:00.4 Host bridge [0600]: VIA Technologies, Inc. VT3351 Host Bridge [1106:4351]
00:00.5 PIC [0800]: VIA Technologies, Inc. VT3351 I/O APIC Interrupt Controller [1106:5351]
00:00.7 Host bridge [0600]: VIA Technologies, Inc. VT3351 Host Bridge [1106:7351]
00:01.0 PCI bridge [0604]: VIA Technologies, Inc. [K8T890 North / VT8237 South] PCI Bridge [1106:b999] 00:02.0 PCI bridge [0604]: VIA Technologies, Inc. K8T890 PCI to PCI Bridge Controller [1106:a238]
00:03.0 PCI bridge [0604]: VIA Technologies, Inc. K8T890 PCI to PCI Bridge Controller [1106:c238]
00:0f.0 RAID bus controller [0104]: VIA Technologies, Inc. VT8251 AHCI/SATA 4-Port Controller [1106:3349] 00:0f.1 IDE interface [0101]: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE [1106:0571] (rev 07) 00:10.0 USB Controller [0c03]: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller [1106:3038] (rev 90) 00:10.1 USB Controller [0c03]: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller [1106:3038] (rev 90) 00:10.2 USB Controller [0c03]: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller [1106:3038] (rev 90) 00:10.3 USB Controller [0c03]: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller [1106:3038] (rev 90) 00:10.4 USB Controller [0c03]: VIA Technologies, Inc. USB 2.0 [1106:3104] (rev 90)
00:11.0 ISA bridge [0601]: VIA Technologies, Inc. VT8251 PCI to ISA Bridge [1106:3287]
00:11.7 Host bridge [0600]: VIA Technologies, Inc. VT8251 Ultra VLINK Controller [1106:287e]
00:12.0 Ethernet controller [0200]: VIA Technologies, Inc. VT6102 [Rhine-II] [1106:3065] (rev 7c)
00:13.0 PCI bridge [0604]: VIA Technologies, Inc. VT8251 Host Bridge [1106:287b]
00:13.1 PCI bridge [0604]: VIA Technologies, Inc. VT8251 PCI to PCI Bridge [1106:287a]
00:18.0 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration [1022:1100] 00:18.1 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map [1022:1101] 00:18.2 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller [1022:1102] 00:18.3 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control [1022:1103] 04:00.0 PCI bridge [0604]: VIA Technologies, Inc. VT8251 PCIE Root Port [1106:287c]
04:00.1 PCI bridge [0604]: VIA Technologies, Inc. VT8251 PCIE Root Port [1106:287d]
07:0b.0 VGA compatible controller [0300]: Matrox Graphics, Inc. MGA 2064W [Millennium] [102b:0519] (rev 01) 07:0c.0 Ethernet controller [0200]: Intel Corporation 82546GB Gigabit Ethernet Controller [8086:1079] (rev 03) 07:0c.1 Ethernet controller [0200]: Intel Corporation 82546GB Gigabit Ethernet Controller [8086:1079] (rev 03) 07:0d.0 Mass storage controller [0180]: Promise Technology, Inc. PDC40718 (SATA 300 TX4) [105a:3d17] (rev 02)

#5 lore raw
Quoted 6 lines · Max Kellermann
Quoted 2 lines · Tejun Heo

It's more likely your chipset just has busted MSI support. Please post the result of 'lspci -tv' and 'lspci -nn'.

See attachments. I found the "nomsi" workaround in a forum, and didn't bother to investigate the real cause yet.

Just to be sure, can you post dmesg of boot without 'pci=nomsi'? If you root fs is on SATA, you'll probably have to use serial or netconsole to capture the log. I wanna be sure that it really is a busted MSI before submitting patch to disable MSI on the particular chipset.

Thanks.

Signature · 1 line
tejun