Re: [BUG] libahci returns stale result tf much of the time.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10-10-04 01:31 PM, Mark Lord wrote:
On 10-10-04 01:06 PM, Mark Lord wrote:
..
That's my theory, too (slow updating of the area).
I haven't pursued it further yet, but I will.

This is really disruptive for me here, as my primary eSATA
adaptor in my notebook is JMB360, and it gets used a LOT.

Okay, I just now ran a quick test on another machine with AHCI: Same bug:

00:1f.2 SATA controller: Intel Corporation 82801HR/HO/HH (ICH8R/DO/DH) 6 port SATA AHCI Controller (rev 02)

So it's probably universal. Try it with this simple test:

hdparm -I /dev/sdX ## this works
hdparm -Z /dev/sdX ## this will fail --> obsolete vendor-specific command
hdparm -I /dev/sdX ## this fails when following the above

hdparm -z /dev/sdX ## force some regular I/O, to clear the bad state from the driver
hdparm -I /dev/sdX ## this now works again


The issue also seems to be present in 2.6.32.8 on that same Intel AHCI platform,
so it probably has nothing to do with the libahci split.


I've dug a bit deeper, and worked around the issue.
It seems that libata is not always happy about DATA-xfer commands
that also have the check-sense bit set (0x20 in cdb[2]).
Perhaps that's not even valid in SCSI ??

Anyway, I'm updating hdparm to only set that bit for non-DATA commands,
and leave it unset for data commands (eg. IDENTIFY).
That's how libata itself does things internally.

Seems to fix whatever the issue was.

Cheers
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux