diff options
| -rw-r--r-- | drivers/scsi/libata-core.c | 5 | 
1 files changed, 4 insertions, 1 deletions
| diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c index c17df3f22fd1..439b6db13802 100644 --- a/drivers/scsi/libata-core.c +++ b/drivers/scsi/libata-core.c | |||
| @@ -819,7 +819,10 @@ static unsigned int ata_id_xfermask(const u16 *id) | |||
| 819 | } | 819 | } | 
| 820 | 820 | ||
| 821 | mwdma_mask = id[ATA_ID_MWDMA_MODES] & 0x07; | 821 | mwdma_mask = id[ATA_ID_MWDMA_MODES] & 0x07; | 
| 822 | udma_mask = id[ATA_ID_UDMA_MODES] & 0xff; | 822 | |
| 823 | udma_mask = 0; | ||
| 824 | if (id[ATA_ID_FIELD_VALID] & (1 << 2)) | ||
| 825 | udma_mask = id[ATA_ID_UDMA_MODES] & 0xff; | ||
| 823 | 826 | ||
| 824 | return ata_pack_xfermask(pio_mask, mwdma_mask, udma_mask); | 827 | return ata_pack_xfermask(pio_mask, mwdma_mask, udma_mask); | 
| 825 | } | 828 | } | 
