Re: [bisected] Re: todays git: WARNING: at drivers/ata/libata-sff.c:1017ata_sff_hsm_move+0x45e/0x750()

From: Sergei Shtylyov
Date: Sun Jan 11 2009 - 04:18:42 EST


Hello.

Alan Cox wrote:

data_xfer transfers 18 bytes + 2 padding (correctly) -> 20 bytes
Correctly indeed? I'm not at all sure it's correct to read an extra 16-bit word off the device when it thinks it's already done with the data transfer.

OTOH, once can generally read the data register with no command active and not have anything locked up, so I'm not sure of how risky this can be... it's better to exclude such risk though.

The VLB controller docs explicitly require you do entirely 32bit.

Didn't VLB contollers largely predate ATAPI devices?

The AMD ones seem to imply you should.

Indeed, AMD-8111 datasheet requires 32-bit writes -- but only when the write buffer is enabled.

Its easy enough to not do that but for the VLB case we have to so the
WARN needs fixing which ever path we go down.

Sure.

MBR, Sergei


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/