Thread (4 messages) 4 messages, 2 authors, 2015-05-08

imx6 sata cdrom driver issue

From: arnd@arndb.de (Arnd Bergmann)
Date: 2015-05-04 18:37:42
Also in: linux-ide

On Friday 01 May 2015 11:32:49 Jonathan Bagg wrote:
On 15-04-24 03:58 AM, Arnd Bergmann wrote:
quoted
On Thursday 23 April 2015 11:30:37 Jonathan Bagg wrote:

Do you have two SATA ports on one controller, with the other one being
conneced to a disk drive?
Not when this error happened, but the CD-ROM was connected through a 
port multiplier.  One time I noticed sda device appear so I mounted it 
and it was the CD-ROM filesystem!
Very strange, I'm sure something went wrong there and either the SATA
host or the CDROM driver does not work well with a port multiplier.

Is there a way for you to reproduce the problem without the multiplier?
quoted
My best guess is that something in the error handling of
drivers/ata/ahci_imx.c causes a reset of the entire bus and that
triggers the other bugs. Can you instrument that error handling to
see what's going on?
Also tried a cubox 
<https://www.solid-run.com/products/cubox-i-mini-computer/>, (imx6) 
running  Linux OpenELEC 3.14.18 #1 SMP Sun Sep 14 12:22:14 EDT 2014 
armv7l GNU/Linux
Can you find out if there is a port multiplier in that machine?

Does it list the sda device in /proc/partitions, or just the /dev/sr0?
Most of the time mount /dev/sr0 /tmp/test succeeds with....

[  954.355669] ISO 9660 Extensions: Microsoft Joliet Level 3
[  954.530595] ISOFS: changing to secondary root

one time once it succeed but needed to reset the link....

[ 1272.000951] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 
frozen
[ 1272.000969] ata1.00: failed command: IDENTIFY PACKET DEVICE
[ 1272.000993] ata1.00: cmd a1/00:01:00:00:00/00:00:00:00:00/00 tag 2 
pio 512 in
[ 1272.000993]          res 40/00:03:00:16:00/00:00:00:00:00/a0 Emask 
0x4 (timeout)
[ 1272.001004] ata1.00: status: { DRDY }
[ 1272.001021] ata1: hard resetting link
[ 1272.487628] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[ 1272.495523] ata1.00: configured for UDMA/100
[ 1272.500917] ata1: EH complete
[ 1290.746222] ISO 9660 Extensions: Microsoft Joliet Level 3

rarely if fails with this....

[  724.697232] ISO 9660 Extensions: Microsoft Joliet Level 3
[  724.827435] ISOFS: changing to secondary root
[  724.910232] isofs_fill_super: root inode is not a directory. 
Corrupted media?
[  725.133516] UDF-fs: warning (device sr0): udf_fill_super: No 
partition found (2)
[  725.351106] F2FS-fs (sr0): Magic Mismatch, valid(0xf2f52010) - read(0x0)
[  725.351132] F2FS-fs (sr0): Can't find valid F2FS filesystem in 1th 
superblock
[  725.352029] F2FS-fs (sr0): Magic Mismatch, valid(0xf2f52010) - read(0x0)
[  725.352052] F2FS-fs (sr0): Can't find valid F2FS filesystem in 2th 
superblock


Specifying read only (mount -o ro /dev/sr0 /tmp/test) has worked 100% of 
the time on both the cubox and sabre boards.
Interesting. That would indicate that something actually tries to write
to the device on normal mount.  Can you try if 

mount -t iso9660 /dev/sr0 /tmp/test

avoids that problem as well? That file system should never attempt to write
to the device, so if it's the failed write that causes the host reset,
that should solve it too.

	Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help