Explorar o código

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>
Bartlomiej Zolnierkiewicz %!s(int64=17) %!d(string=hai) anos
pai
achega
367fdcb4e4
Modificáronse 1 ficheiros con 1 adicións e 5 borrados
  1. 1 5
      drivers/ide/ide-dma.c

+ 1 - 5
drivers/ide/ide-dma.c

@@ -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) {
 			mask = id->dma_1word & hwif->swdma_mask;
 		} else if (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);
+			u8 mode = id->tDMA;
 
 			/*
 			 * if the mode is valid convert it to the mask