]> err.no Git - linux-2.6/commitdiff
ide: add missing validity checks for identify words 62 and 63
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Tue, 15 May 2007 22:51:46 +0000 (00:51 +0200)
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Tue, 15 May 2007 22:51:46 +0000 (00:51 +0200)
Check validity of identify words 62 and 63 before using them in
ide_get_mode_mask().

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
drivers/ide/ide-dma.c

index de33e6f88f171d57433cf732d0e9be53c008cbf2..ada2a3ea943006e1e64a3bb596d6d07645de1c4c 100644 (file)
@@ -731,10 +731,12 @@ static unsigned int ide_get_mode_mask(ide_drive_t *drive, u8 base)
                        mask &= 0x07;
                break;
        case XFER_MW_DMA_0:
-               mask = id->dma_mword & hwif->mwdma_mask;
+               if (id->field_valid & 2)
+                       mask = id->dma_mword & hwif->mwdma_mask;
                break;
        case XFER_SW_DMA_0:
-               mask = id->dma_1word & hwif->swdma_mask;
+               if (id->field_valid & 2)
+                       mask = id->dma_1word & hwif->swdma_mask;
                break;
        default:
                BUG();