ide: fix pre-EIDE SWDMA support on big-endian
id->tDMA is of 'unsigned char' type so endianness is already correct and calling le16_to_cpu() is wrong. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
parent
ca5de404ff
commit
367fdcb4e4
@ -649,11 +649,7 @@ static unsigned int ide_get_mode_mask(ide_drive_t *drive, u8 base, u8 req_mode)
|
|||||||
if (id->field_valid & 2) {
|
if (id->field_valid & 2) {
|
||||||
mask = id->dma_1word & hwif->swdma_mask;
|
mask = id->dma_1word & hwif->swdma_mask;
|
||||||
} else if (id->tDMA) {
|
} else if (id->tDMA) {
|
||||||
/*
|
u8 mode = id->tDMA;
|
||||||
* ide_fix_driveid() doesn't convert ->tDMA to the
|
|
||||||
* CPU endianness so we need to do it here
|
|
||||||
*/
|
|
||||||
u8 mode = le16_to_cpu(id->tDMA);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* if the mode is valid convert it to the mask
|
* if the mode is valid convert it to the mask
|
||||||
|
Loading…
Reference in New Issue
Block a user