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().
Acked-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent 3cbd814e
...@@ -2688,14 +2688,14 @@ void ide_cdrom_update_speed (ide_drive_t *drive, struct atapi_capabilities_page ...@@ -2688,14 +2688,14 @@ void ide_cdrom_update_speed (ide_drive_t *drive, struct atapi_capabilities_page
if (!drive->id->model[0] && if (!drive->id->model[0] &&
!strncmp(drive->id->fw_rev, "241N", 4)) { !strncmp(drive->id->fw_rev, "241N", 4)) {
CDROM_STATE_FLAGS(drive)->current_speed = 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 = CDROM_CONFIG_FLAGS(drive)->max_speed =
(((unsigned int)cap->maxspeed) + (176/2)) / 176; (le16_to_cpu(cap->maxspeed) + (176/2)) / 176;
} else { } else {
CDROM_STATE_FLAGS(drive)->current_speed = 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 = CDROM_CONFIG_FLAGS(drive)->max_speed =
(ntohs(cap->maxspeed) + (176/2)) / 176; (be16_to_cpu(cap->maxspeed) + (176/2)) / 176;
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment