Cc: Mark Lord <liml@...>, David Greaves <david@...>, Douglas Gilbert <dougg@...>, Tejun Heo <htejun@...>, Alan Cox <alan@...>, Jeff Garzik <jeff@...>, Linux Kernel Mailing List <linux-kernel@...>, Jan Dvorak <fermentol@...>, Klaus Fuerstberger <kfuerstberger@...>, Bruce Allen <bruce.allen@...>, Robert Hancock <hancockr@...>
...
...
...
The other system with the Maxtor disk fails in a slightly different way
(it correctly returns the c2 byte but not in the correct location):
[ 162.896173] ata_qc_complete before: 00 00 00 40
[ 162.896179] ata_qc_complete 16: 00 c2 00 50
My earlier 'git bisect' suggested that this problem surfaced after the
patch
1e999736cafdffc374f22eed37b291129ef82e4e is first bad commit
commit 1e999736cafdffc374f22eed37b291129ef82e4e
Author: Alan Cox <alan@lxorguk.ukuu.org.uk>
Date: Wed Apr 11 00:23:13 2007 +0100
libata: HPA support
I have now done some further tests to see what is happening.
It turned out that after commenting the call (at line 1956 in
drivers/ata/libata-core.c in 2.6.22)
if (ata_id_hpa_enabled(dev->id))
dev->n_sectors = ata_hpa_resize(dev);
'smartctl -H' worked again without problems. This applied to both of the
systems where I see the problem. The disks in both systems support hpa but
nothing is hidden. Next I commented only the call to
ata_read_native_max_address_ext() in ata_hpa_resize(). This was enough
to remove the problem (as was expected).
So, the question is: why does calling ata_read_native_max_address_ext()
when booting the system cause the SMART RETURN STATUS fail much later?
--
Kai
-