lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 2 Aug 2007 11:48:05 +0100
From:	"Daniel J Blueman" <daniel.blueman@...il.com>
To:	jgarzik@...ox.com, linux-ide@...r.kernel.org
Cc:	"Linux Kernel" <linux-kernel@...r.kernel.org>
Subject: ICH8 CF timeout (regression)...

I'm experiencing timeouts with libata when reading from a compact
flash card connected to onboard IDE. Reproducible with 2.6.20, 2.6.22,
2.6.23-rc1, with both short cable and a on-mobo CF socket on a x86-64
Core2Duo.

Sometimes (~7%), we see some EH and the interface stablises, then the
system continues to work as expected [1] (35MB/s DMA from the CF), but
most of the time, it goes nowhere [2].

When running with legacy ATA support, the system consistently works
fine (but without DMA). CF [3] and controller [4] info supplied.

I'll grab kernel logs from the legacy ATA boot; what else can help
debug this issue? No problem testing patches too.

Daniel

--- [1]

[    0.000000] Linux version 2.6.22-8-generic (buildd@...low) (gcc
version 4.1.3 20070629 (prerelease) (Ubuntu 4.1.2-13ubuntu2)) #1 SMP
Thu Jul 12 16:09:47 GMT 2007
...
[   23.987509] ata_piix 0000:00:1f.2: version 2.11
[   23.987514] ata_piix 0000:00:1f.2: MAP [ IDE IDE -- -- ]
[   23.987835] scsi0 : ata_piix
[   23.987903] scsi1 : ata_piix
[   23.987960] ata1: PATA max UDMA/100 cmd 0x00000000000101f0 ctl
0x00000000000103f6 bmdma 0x000000000001f800 irq 14
[   23.988015] ata2: SATA max UDMA/133 cmd 0x0000000000010170 ctl
0x0000000000010376 bmdma 0x000000000001f808 irq 15
[   24.306364] ata2.00: CFA: SanDisk SDCFX-4096, HDX 4.04, max UDMA/66
[   24.306408] ata2.00: 8027712 sectors, multi 0: LBA
[   24.306446] ata2.00: applying bridge limits
[   24.306971] ata2.00: configured for UDMA/66
[   24.307086] scsi 1:0:0:0: Direct-Access     ATA      SanDisk
SDCFX-40 HDX  PQ: 0 ANSI: 5
[   24.311383] sd 1:0:0:0: [sda] 8027712 512-byte hardware sectors (4110 MB)
[   24.311435] sd 1:0:0:0: [sda] Write Protect is off
[   24.311474] sd 1:0:0:0: [sda] Mode Sense: 00 3a 00 00
[   24.311487] sd 1:0:0:0: [sda] Write cache: disabled, read cache:
enabled, doesn't support DPO or FUA
[   24.311585] sd 1:0:0:0: [sda] 8027712 512-byte hardware sectors (4110 MB)
[   24.311634] sd 1:0:0:0: [sda] Write Protect is off
[   24.311673] sd 1:0:0:0: [sda] Mode Sense: 00 3a 00 00
[   24.311685] sd 1:0:0:0: [sda] Write cache: disabled, read cache:
enabled, doesn't support DPO or FUA
[   24.311740]  sda: sda1 sda2 sda3
[   24.312962] sd 1:0:0:0: [sda] Attached SCSI removable disk
[   24.316318] sd 1:0:0:0: Attached scsi generic sg0 type 0
[   24.350048] ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
[   24.350097] ata2.00: (BMDMA stat 0x24)
[   24.350142] ata2.00: cmd c8/00:07:d2:b7:72/00:00:00:00:00/e0 tag 0
cdb 0x0 data 3584 in
[   24.350144]          res 51/84:00:d8:b7:72/00:00:00:00:00/e0 Emask
0x10 (ATA bus error)
[   24.350266] ata2: soft resetting port
[   24.508020] ata2.00: configured for UDMA/66
[   24.508068] ata2: EH complete
[   24.509290] sd 1:0:0:0: [sda] 8027712 512-byte hardware sectors (4110 MB)
[   24.509572] sd 1:0:0:0: [sda] Write Protect is off
[   24.509612] sd 1:0:0:0: [sda] Mode Sense: 00 3a 00 00
[   24.509974] sd 1:0:0:0: [sda] Write cache: disabled, read cache:
enabled, doesn't support DPO or FUA
[   24.539976] EXT3-fs: mounted filesystem with ordered data mode.
[   24.552259] ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
[   24.552307] ata2.00: (BMDMA stat 0x24)
[   24.552351] ata2.00: cmd c8/00:08:59:13:00/00:00:00:00:00/e0 tag 0
cdb 0x0 data 4096 in
[   24.552354]          res 51/84:00:60:13:00/00:00:00:00:00/e0 Emask
0x10 (ATA bus error)
[   24.552473] ata2: soft resetting port
[   24.712647] ata2.00: configured for UDMA/66
[   24.712687] ata2: EH complete
[   24.713173] sd 1:0:0:0: [sda] 8027712 512-byte hardware sectors (4110 MB)
[   24.713462] sd 1:0:0:0: [sda] Write Protect is off
[   24.713505] sd 1:0:0:0: [sda] Mode Sense: 00 3a 00 00
[   24.713769] sd 1:0:0:0: [sda] Write cache: disabled, read cache:
enabled, doesn't support DPO or FUA
[   24.726935] ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
[   24.726983] ata2.00: (BMDMA stat 0x24)
[   24.727028] ata2.00: cmd c8/00:20:01:c4:06/00:00:00:00:00/e0 tag 0
cdb 0x0 data 16384 in
[   24.727031]          res 51/84:00:20:c4:06/00:00:00:00:00/e0 Emask
0x10 (ATA bus error)
[   24.727151] ata2: soft resetting port
[   24.881089] ata2.00: configured for UDMA/66
[   24.881128] ata2: EH complete
[   24.881944] sd 1:0:0:0: [sda] 8027712 512-byte hardware sectors (4110 MB)
[   24.882420] sd 1:0:0:0: [sda] Write Protect is off
[   24.882463] sd 1:0:0:0: [sda] Mode Sense: 00 3a 00 00
[   24.884157] sd 1:0:0:0: [sda] Write cache: disabled, read cache:
enabled, doesn't support DPO or FUA
[   24.886454] ata2.00: limiting speed to UDMA/44:PIO4
[   24.886497] ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
[   24.886542] ata2.00: (BMDMA stat 0x24)
[   24.886586] ata2.00: cmd c8/00:90:71:c4:06/00:00:00:00:00/e0 tag 0
cdb 0x0 data 73728 in
[   24.886588]          res 51/84:00:00:c5:06/00:00:00:00:00/e0 Emask
0x10 (ATA bus error)
[   24.886705] ata2: soft resetting port
[   25.041843] ata2.00: configured for UDMA/44
[   25.041882] ata2: EH complete
[   25.044050] sd 1:0:0:0: [sda] 8027712 512-byte hardware sectors (4110 MB)
[   25.045202] sd 1:0:0:0: [sda] Write Protect is off
[   25.045241] sd 1:0:0:0: [sda] Mode Sense: 00 3a 00 00
[   25.045880] sd 1:0:0:0: [sda] Write cache: disabled, read cache:
enabled, doesn't support DPO or FUA
<continues to boot and work fine from here>

--- [2]

Linux version 2.6.23-rc1-101 (root@x1) (gcc version 4.1.3 20070718
(prerelease) (Ubuntu 4.1.2-14ubuntu1)) #1 Wed Aug 1 23:03:47 BST 2007
...
ata_piix 0000:00:1f.2: MAP [ IDE IDE -- -- ]
ACPI: PCI Interrupt 0000:00:1f.2[B] -> GSI 19 (level, low) -> IRQ 19
scsi0 : ata_piix
scsi1 : ata_piix
ata1: PATA max UDMA/100 cmd 0x00000000000101f0 ctl 0x00000000000103f6
bmdma 0x000000000001f800 irq 14
ata2: SATA max UDMA/133 cmd 0x0000000000010170 ctl 0x0000000000010376
bmdma 0x000000000001f808 irq 15
ata2.00: CFA: SanDisk SDCFX-4096, HDX 4.04, max UDMA/66
ata2.00: 8027712 sectors, multi 0: LBA
ata2.00: applying bridge limits
ata2.00: configured for UDMA/66
scsi 1:0:0:0: Direct-Access     ATA      SanDisk SDCFX-40 HDX  PQ: 0 ANSI: 5
sd 1:0:0:0: [sda] 8027712 512-byte hardware sectors (4110 MB)
sd 1:0:0:0: [sda] Write Protect is off
sd 1:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't
support DPO or FUA
sd 1:0:0:0: [sda] 8027712 512-byte hardware sectors (4110 MB)
sd 1:0:0:0: [sda] Write Protect is off
sd 1:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't
support DPO or FUA
 sda:<3>ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
ata2.00: cmd c8/00:08:00:00:00/00:00:00:00:00/e0 tag 0 cdb 0x0 data 4096 in
         res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
ata2: soft resetting port
ata2.00: configured for UDMA/66
ata2: EH complete
<repeats>
ata2.00: limiting speed to UDMA/44:PIO4
ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
ata2.00: cmd c8/00:08:00:00:00/00:00:00:00:00/e0 tag 0 cdb 0x0 data 4096 in
         res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
ata2: soft resetting port
ata2.00: configured for UDMA/44
ata2: EH complete
<epeats>
sd 1:0:0:0: [sda] Result: hostbyte=0x00 driverbyte=0x08
sd 1:0:0:0: [sda] Sense Key : 0xb [current] [descriptor]
Descriptor sense data with sense descriptors (in hex):
        72 0b 00 00 00 00 00 0c 00 0a 80 00 00 00 00 00
        00 00 00 00
sd 1:0:0:0: [sda] ASC=0x0 ASCQ=0x0
end_request: I/O error, dev sda, sector 0
Buffer I/O error on device sda, logical block 0
ata2: EH complete
ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
ata2.00: cmd c8/00:08:00:00:00/00:00:00:00:00/e0 tag 0 cdb 0x0 data 4096 in
         res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
ata2: soft resetting port
ata2.00: configured for UDMA/44
ata2: EH complete
ata2.00: limiting speed to UDMA/33:PIO4
ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
ata2.00: cmd c8/00:08:00:00:00/00:00:00:00:00/e0 tag 0 cdb 0x0 data 4096 in
         res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
ata2: soft resetting port
ata2.00: configured for UDMA/33
ata2: EH complete

--- [3]

# hdparm -i /dev/sda
/dev/sda:

 Model=SanDisk SDCFX-4096                      , FwRev=HDX 4.04,
SerialNo=    116802D2807J3335
 Config={ HardSect NotMFM Removeable DTR>10Mbs nonMagnetic }
 RawCHS=7964/16/63, TrkSize=0, SectSize=576, ECCbytes=4
 BuffType=DualPort, BuffSize=1kB, MaxMultSect=4, MultSect=?0?
 CurCHS=7964/16/63, CurSects=8027712, LBA=yes, LBAsects=8027712
 IORDY=no, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2 *udma3 udma4
 AdvancedPM=no WriteCache=disabled
 Drive conforms to: Unspecified:  ATA/ATAPI-4

 * signifies the current active mode

# hdparm -I /dev/sda
/dev/sda:

CompactFlash ATA device, with removable media
	Model Number:       SanDisk SDCFX-4096
	Serial Number:      116802D2807J3335
	Firmware Revision:  HDX 4.04
Standards:
	Supported: 4
	Likely used: 4
Configuration:
	Logical		max	current
	cylinders	7964	7964
	heads		16	16
	sectors/track	63	63
	--
	CHS current addressable sectors:    8027712
	LBA    user addressable sectors:    8027712
	device size with M = 1024*1024:        3919 MBytes
	device size with M = 1000*1000:        4110 MBytes (4 GB)
Capabilities:
	LBA, IORDY(may be)(cannot be disabled)
	Standby timer values: spec'd by Vendor
	R/W multiple sector transfer: Max = 4	Current = 0
	DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 *udma3 udma4
	     Cycle time: min=120ns recommended=120ns
	PIO: pio0 pio1 pio2 pio3 pio4
	     Cycle time: no flow control=120ns  IORDY flow control=120ns
Commands/features:
	Enabled	Supported:
	    	Write cache
	   *	CFA feature set
	   *	CFA advanced modes: pio5 *pio6

--- [4]

# lspci -vvv
00:1f.2 IDE interface: Intel Corporation Mobile SATA IDE Controller
(rev 03) (prog-if 80 [Master])
	Subsystem: Intel Corporation Mobile SATA IDE Controller
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
	Latency: 0
	Interrupt: pin B routed to IRQ 19
	Region 0: I/O ports at 01f0 [size=8]
	Region 1: I/O ports at 03f4 [size=1]
	Region 2: I/O ports at 0170 [size=8]
	Region 3: I/O ports at 0374 [size=1]
	Region 4: I/O ports at f800 [size=16]
	Region 5: I/O ports at f700 [size=16]
	Capabilities: [70] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-
-- 
Daniel J Blueman
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists