diff options
author | Sergei Shtylyov | 2009-03-31 20:15:27 +0200 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz | 2009-03-31 20:15:27 +0200 |
commit | 8d64fcd9357798ad0d61f8877de13d5e1b1ab510 (patch) | |
tree | 7e0737ef385b80faf9fa3f5d0c1df1f22254d0d8 /drivers/ide/cs5530.c | |
parent | 985232e388714d4a9e94b4d96ee69b6ff8c9dc31 (diff) |
ide: identify data word 53 bit 1 doesn't cover words 62 and 63 (take 3)
The IDE code assumed for years that the bit 1 of the identify data word 53 also
covers the validity of the SW/MW DMA information in words 62 and 63, but it has
always covered only words 64 thru 70, with words 62 and 63 being defined in the
original ATA spec, not in ATA-2...
This fix however should only concern *very* old hard disks and rather old CF
cards...
Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/cs5530.c')
-rw-r--r-- | drivers/ide/cs5530.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/ide/cs5530.c b/drivers/ide/cs5530.c index 8e8b35a89901..40bf05eddf6e 100644 --- a/drivers/ide/cs5530.c +++ b/drivers/ide/cs5530.c @@ -92,8 +92,7 @@ static u8 cs5530_udma_filter(ide_drive_t *drive) if ((mateid[ATA_ID_FIELD_VALID] & 4) && (mateid[ATA_ID_UDMA_MODES] & 7)) goto out; - if ((mateid[ATA_ID_FIELD_VALID] & 2) && - (mateid[ATA_ID_MWDMA_MODES] & 7)) + if (mateid[ATA_ID_MWDMA_MODES] & 7) mask = 0; } out: |