Skip to contentSkip to conversation

ide-cd: fix ACER/AOpen 24X CDROM speed reporting on big-endian machines

PATCH In review Bartlomiej Zolnierkiewicz 2 participants 2 messages Dec 20, 2007 – Dec 21, 2007 libata

lore
Share & tools
lore
#0 lore raw

PATCH 2/63 ide-cd: fix ACER/AOpen 24X CDROM speed reporting on big-endian machines

* Fix ACER/AOpen 24X CDROM speed reporting on big-endian machines by adding missing le16_to_cpu() calls.

While at it:
* Replace ntohs() by be16_to_cpu().

---
 drivers/ide/ide-cd.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
drivers/ide/ide-cd.c +4 -4
Index: b/drivers/ide/ide-cd.c
===================================================================
@@ -2682,14 +2682,14 @@ void ide_cdrom_update_speed (ide_drive_t
 	if (!drive->id->model[0] &&
 	    !strncmp(drive->id->fw_rev, "241N", 4)) {
 		CDROM_STATE_FLAGS(drive)->current_speed  =
-			(((unsigned int)cap->curspeed) + (176/2)) / 176;
+			(le16_to_cpu(cap->curspeed) + (176/2)) / 176;
 		CDROM_CONFIG_FLAGS(drive)->max_speed =
-			(((unsigned int)cap->maxspeed) + (176/2)) / 176;
+			(le16_to_cpu(cap->maxspeed) + (176/2)) / 176;
 	} else {
 		CDROM_STATE_FLAGS(drive)->current_speed  =
-			(ntohs(cap->curspeed) + (176/2)) / 176;
+			(be16_to_cpu(cap->curspeed) + (176/2)) / 176;
 		CDROM_CONFIG_FLAGS(drive)->max_speed =
-			(ntohs(cap->maxspeed) + (176/2)) / 176;
+			(be16_to_cpu(cap->maxspeed) + (176/2)) / 176;
 	}
 }