summaryrefslogtreecommitdiffstats
path: root/c/src/libchip/ide/ata.c
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2009-11-12 16:34:24 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2009-11-12 16:34:24 +0000
commitd949482a3c3838d88332d3101cf671c348d4d97a (patch)
tree542c506c2275bed7e19433df89587b7e78a61334 /c/src/libchip/ide/ata.c
parentNew test case (diff)
downloadrtems-d949482a3c3838d88332d3101cf671c348d4d97a.tar.bz2
2009-11-12 Ralf Corsépius <ralf.corsepius@rtems.org>
* libchip/ide/ata.c (rtems_ata_initialize): Avoid implicit cast to uint16_t.
Diffstat (limited to 'c/src/libchip/ide/ata.c')
-rw-r--r--c/src/libchip/ide/ata.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/c/src/libchip/ide/ata.c b/c/src/libchip/ide/ata.c
index 450148bbf3..2d17748a57 100644
--- a/c/src/libchip/ide/ata.c
+++ b/c/src/libchip/ide/ata.c
@@ -1405,9 +1405,10 @@ rtems_ata_initialize(rtems_device_major_number major,
CF_LE_W(buffer[ATA_IDENT_WORD_NUM_OF_CURR_LOG_HEADS]);
ATA_DEV_INFO(ctrl_minor, dev).sectors =
CF_LE_W(buffer[ATA_IDENT_WORD_NUM_OF_CURR_LOG_SECS]);
- ATA_DEV_INFO(ctrl_minor, dev).lba_sectors =
- (CF_LE_W(buffer[ATA_IDENT_WORD_NUM_OF_USR_SECS1]) << 16) +
- CF_LE_W(buffer[ATA_IDENT_WORD_NUM_OF_USR_SECS0]);
+ ATA_DEV_INFO(ctrl_minor, dev).lba_sectors =
+ CF_LE_W(buffer[ATA_IDENT_WORD_NUM_OF_USR_SECS1]);
+ ATA_DEV_INFO(ctrl_minor, dev).lba_sectors <<= 16;
+ ATA_DEV_INFO(ctrl_minor, dev).lba_sectors += CF_LE_W(buffer[ATA_IDENT_WORD_NUM_OF_USR_SECS0]);
ATA_DEV_INFO(ctrl_minor, dev).lba_avaible =
(CF_LE_W(buffer[ATA_IDENT_WORD_CAPABILITIES]) >> 9) & 0x1;