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]
Message-ID: <4819FDAF.7050005@ribosome.natur.cuni.cz>
Date:	Thu, 01 May 2008 19:28:15 +0200
From:	Martin MOKREJŠ <mmokrejs@...osome.natur.cuni.cz>
To:	LKML <linux-kernel@...r.kernel.org>
Subject: 2.6.23.17 & 2.6.24.5 and maybe earlier: pata_marvell: need to disable
 DMA to get rid of '(ATA bus error)', 'ata7.00: status: { DRDY ERR }', 'ata7.00:
 error: { ICRC ABRT }'

Hi,
  the pata_marvell drivers attempts to use UDMA mode to provide
access to my CompactFlash device attached to its IDE port.
I have MSI P35Neo2 motherboard with Marvell 88SE6111 chip providing
2 IDE ports and Intel ICH9R chip providing 6 SATA ports
(IDE/RAID/AHCI modes). During POST, Marvel controller reports
the CF disk is in UDMA-2 mode (and I cannot change it).
Linux kernel 2.6.24.5 reports during boot:

ACPI: PCI Interrupt 0000:03:00.0[A] -> GSI 16 (level, low) -> IRQ 16
PCI: Setting latency timer of device 0000:03:00.0 to 64
scsi6 : pata_marvell
scsi7 : pata_marvell
ata7: PATA max UDMA/100 cmd 0xcc00 ctl 0xc880 bmdma 0xc400 irq 16
ata8: PATA max UDMA/133 cmd 0xc800 ctl 0xc480 bmdma 0xc408 irq 16
BAR5:00:02 01:7F 02:22 03:CA 04:00 05:00 06:00 07:00 08:00 09:00 0A:00 0B:00 0C:07 0D:00 0E:00 0F:00 
ata7.00: ATA-0: Delock 54111 512MB, Ver1.27, max UDMA/33
ata7.00: 1006992 sectors, multi 0: LBA 
ata7.01: ATAPI: ATAPI   DVD D  DH16D2P, HP57, max UDMA/33
ata7.00: configured for UDMA/33
ata7.01: configured for UDMA/33
ata7.00: configured for UDMA/33
ata7.01: configured for UDMA/33
ata7: EH complete
BAR5:00:02 01:7F 02:22 03:CA 04:00 05:00 06:00 07:00 08:00 09:00 0A:00 0B:00 0C:07 0D:00 0E:00 0F:00 
scsi 6:0:0:0: Direct-Access     ATA      Delock 54111 512 Ver1 PQ: 0 ANSI: 5
sd 6:0:0:0: [sde] 1006992 512-byte hardware sectors (516 MB)
sd 6:0:0:0: [sde] Write Protect is off
sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
sd 6:0:0:0: [sde] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sd 6:0:0:0: [sde] 1006992 512-byte hardware sectors (516 MB)
sd 6:0:0:0: [sde] Write Protect is off
sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
sd 6:0:0:0: [sde] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
 sde: sde1
sd 6:0:0:0: [sde] Attached SCSI disk
sd 6:0:0:0: Attached scsi generic sg4 type 0
scsi 6:0:1:0: CD-ROM            ATAPI    DVD D  DH16D2P   HP57 PQ: 0 ANSI: 5
sr0: scsi3-mmc drive: 48x/48x cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.20
sr 6:0:1:0: Attached scsi CD-ROM sr0
sr 6:0:1:0: Attached scsi generic sg5 type 5


Unfortunately, the disk in a while gives:

ata7.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata7.00: BMDMA stat 0x64
ata7.00: cmd ca/00:02:41:00:00/00:00:00:00:00/e0 tag 0 dma 1024 out
         res 51/84:00:41:00:00/00:00:00:00:00/e0 Emask 0x10 (ATA bus error)
ata7.00: status: { DRDY ERR }
ata7.00: error: { ICRC ABRT }
BAR5:00:02 01:7F 02:22 03:CA 04:00 05:00 06:00 07:00 08:00 09:00 0A:00 0B:00 0C:07 0D:00 0E:00 0F:00 
ata7: soft resetting link
ata7.00: configured for UDMA/33
ata7.01: configured for UDMA/33
ata7.00: configured for UDMA/33
ata7.01: configured for UDMA/33
ata7: EH complete
sd 6:0:0:0: [sde] 1006992 512-byte hardware sectors (516 MB)
sd 6:0:0:0: [sde] Write Protect is off
sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
sd 6:0:0:0: [sde] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sd 6:0:0:0: [sde] 1006992 512-byte hardware sectors (516 MB)
sd 6:0:0:0: [sde] Write Protect is off
sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
sd 6:0:0:0: [sde] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
ata7.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata7.00: BMDMA stat 0x64
ata7.00: cmd ca/00:02:51:b4:07/00:00:00:00:00/e0 tag 0 dma 1024 out
         res 51/84:00:51:b4:07/00:00:00:00:00/e0 Emask 0x10 (ATA bus error)
ata7.00: status: { DRDY ERR }
ata7.00: error: { ICRC ABRT }
BAR5:00:02 01:7F 02:22 03:CA 04:00 05:00 06:00 07:00 08:00 09:00 0A:00 0B:00 0C:07 0D:00 0E:00 0F:00 
ata7: soft resetting link
ata7.00: configured for UDMA/33
ata7.01: configured for UDMA/33
ata7.00: configured for UDMA/33
ata7.01: configured for UDMA/33
ata7: EH complete
sd 6:0:0:0: [sde] 1006992 512-byte hardware sectors (516 MB)
sd 6:0:0:0: [sde] Write Protect is off
sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
sd 6:0:0:0: [sde] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sd 6:0:0:0: [sde] 1006992 512-byte hardware sectors (516 MB)
sd 6:0:0:0: [sde] Write Protect is off
sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
ata7.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata7.00: BMDMA stat 0x64
ata7.00: cmd ca/00:02:13:35:03/00:00:00:00:00/e0 tag 0 dma 1024 out
         res 51/84:00:13:35:03/00:00:00:00:00/e0 Emask 0x10 (ATA bus error)
ata7.00: status: { DRDY ERR }
ata7.00: error: { ICRC ABRT }
BAR5:00:02 01:7F 02:22 03:CA 04:00 05:00 06:00 07:00 08:00 09:00 0A:00 0B:00 0C:07 0D:00 0E:00 0F:00 
ata7: soft resetting link
ata7.00: configured for UDMA/33
ata7.01: configured for UDMA/33
ata7.00: configured for UDMA/33
ata7.01: configured for UDMA/33
ata7: EH complete
sd 6:0:0:0: [sde] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sd 6:0:0:0: [sde] 1006992 512-byte hardware sectors (516 MB)
sd 6:0:0:0: [sde] Write Protect is off
sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
sd 6:0:0:0: [sde] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
ata7.00: limiting speed to UDMA/25:PIO4
ata7.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata7.00: BMDMA stat 0x64
ata7.00: cmd ca/00:02:69:80:0a/00:00:00:00:00/e0 tag 0 dma 1024 out
         res 51/84:00:69:80:0a/00:00:00:00:00/e0 Emask 0x10 (ATA bus error)
ata7.00: status: { DRDY ERR }
ata7.00: error: { ICRC ABRT }
BAR5:00:02 01:7F 02:22 03:CA 04:00 05:00 06:00 07:00 08:00 09:00 0A:00 0B:00 0C:07 0D:00 0E:00 0F:00 
ata7: soft resetting link
ata7.00: configured for UDMA/25
ata7.01: configured for UDMA/33
ata7.00: configured for UDMA/25
ata7.01: configured for UDMA/33
ata7: EH complete
sd 6:0:0:0: [sde] 1006992 512-byte hardware sectors (516 MB)
sd 6:0:0:0: [sde] Write Protect is off
sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
sd 6:0:0:0: [sde] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sd 6:0:0:0: [sde] 1006992 512-byte hardware sectors (516 MB)
sd 6:0:0:0: [sde] Write Protect is off
sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
sd 6:0:0:0: [sde] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA




To get rid of the errors, I can use libata.dma=0 kernel
command-line parameter. Unfortunately, this sets all libata
devices to PIO4 mode. How can I set just this one? I tried
'libata.force=7.00:pio4' but it did not help.

'libata.force=1.00:pio4' does not set it immediately into PIO4
but at least leaves the SATA drives in UDMA mode and after
resets of the CompactFlash IDE disk it gets from UDMA/33 or 25
to PIO4.

Where are the flags documented? linux/Documentation/ directory
contains almost nothing about pata_marvell. :(



00:1f.2 SATA controller: Intel Corporation 6 port SATA AHCI Controller (rev 02) (prog-if 01 [AHCI 1.0])
        Subsystem: Micro-Star International Co., Ltd. Unknown device 7345
        Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 378
        I/O ports at b000 [size=8]
        I/O ports at ac00 [size=4]
        I/O ports at a880 [size=8]
        I/O ports at a800 [size=4]
        I/O ports at a480 [size=32]
        Memory at fbfff000 (32-bit, non-prefetchable) [size=2K]
        Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Queue=0/4 Enable+
        Capabilities: [70] Power Management version 3
        Capabilities: [a8] SATA HBA <?>
        Capabilities: [b0] Vendor Specific Information <?>
        Kernel driver in use: ahci

03:00.0 IDE interface: Marvell Technology Group Ltd. Unknown device 6121 (rev b1) (prog-if 8f [Master SecP SecO PriP PriO])
        Subsystem: Marvell Technology Group Ltd. Unknown device 6121
        Flags: bus master, fast devsel, latency 0, IRQ 16
        I/O ports at cc00 [size=8]
        I/O ports at c880 [size=4]
        I/O ports at c800 [size=8]
        I/O ports at c480 [size=4]
        I/O ports at c400 [size=16]
        Memory at fe9ffc00 (32-bit, non-prefetchable) [size=1K]
        Capabilities: [48] Power Management version 2
        Capabilities: [50] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
        Capabilities: [e0] Express Legacy Endpoint, MSI 00
        Kernel driver in use: pata_marvell



BTW: Using the generic IDE drivers and forcing 'ide-all-generic=1'
in the kernel command-line makes the CompactFlash and DVD-ROM get
recognized as hda and hdb but I used to see similar drive errors.
Actually, these were even worse because I could not finish mkfs.ext3
for example.

View attachment "dmesg-2.6.24.5-default-nodma" of type "text/plain" (26800 bytes)

View attachment "dmesg-2.6.24.5-default-pio4" of type "text/plain" (39080 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ