Messages in this thread Patch in this message | | | Date | Thu, 18 Dec 2008 15:18:39 +0100 | From | Mario Schwalbe <> | Subject | [PATCH] ide: Fix ata_id_has_dword_io to return DWORD I/O support properly |
| |
This patch fixes ata_id_has_dword_io to return 1 (supported) if the drive is compliant to ATA2 or newer and evaluates the config word for older drives.
Signed-off-by: Mario Schwalbe <schwalbe@inf.tu-dresden.de> --- include/linux/ata.h | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/include/linux/ata.h b/include/linux/ata.h index a53318b..d0d6a9c 100644 --- a/include/linux/ata.h +++ b/include/linux/ata.h @@ -700,12 +700,12 @@ static inline int ata_id_has_tpm(const u16 *id)
static inline int ata_id_has_dword_io(const u16 *id) { - /* ATA 8 reuses this flag for "trusted" computing */ - if (ata_id_major_version(id) > 7) - return 0; - if (id[ATA_ID_DWORD_IO] & (1 << 0)) - return 1; - return 0; + /* This flag is defined up to ATA1 and deprecated since then + (ATA 8 reuses this flag for "trusted" computing). */ + if (ata_id_major_version(id) <= 1) + return (id[ATA_ID_DWORD_IO] & (1 << 0)) != 0; + /* later revision drives support DWORD I/O just fine */ + return 1; }
static inline int ata_id_has_unload(const u16 *id) -- 1.5.6.3
| |