Messages in this thread | | | Date | Thu, 18 Dec 2008 12:08:10 -0500 | From | Jeff Garzik <> | Subject | Re: [PATCH] ide: Fix ata_id_has_dword_io to return DWORD I/O support properly |
| |
Mario Schwalbe wrote: > 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;
This seems like a risky assumption...
Jeff
| |