Re: HPA and failed opcode was: 0x37 ?

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

 



On 1/30/07, Sergei Shtylyov <sshtylyov@xxxxxxxxxxxxx> wrote:
Steven Scholz wrote:
> How could one then explain

> current capacity is 78140160 sectors would be           0x000004A85300
> native  capacity is 185074430006016 sectors would be    0xA852FFA85300
>
> ? First three bytes ok, then the other three bytes rubbish?

    Note that they're not complete garbage but equal the value of the lower 3
bytes minus 1. What is clear is that Read Native Max Address Ext command must
be mistreating the HOB bit... :-)

These commands all just use ide_raw_taskfile(), there's nothing
special about READ NATIVE MAX ADDRESS EXT or SET MAX ADDRESS EXT.  I
still suspect the FPGA is misusing the HOB bit.

The driver (for example) does a READ MAX ADDRESS EXT and stored that
value (0x000004A852FF is what is returned), then somehow only wrote to
the lower 3 bytes of the LBA for the SET MAX command, the "previous
contents" would shift into those upper bytes as shown.

Maybe the FPGA is discarding the taskfile writes once the HOB bit is
set?  It wouldn't affect the READ NATIVE MAX ADDRESS EXT command being
issued since the only the command register matters for that, but it
would affect SET MAX ADDRESS EXT working properly.

Without a device > 137GB to test with, and without errors on the
device, you might not see any odd behavior in normal usage.

It's *really* unlikely the drive doesn't have a working taskfile.
--eric
-
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