]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/ide/ide-iops.c
Merge branch 'stealer/ipvs/for-davem' of git://git.stealer.net/linux-2.6
[linux-2.6-omap-h63xx.git] / drivers / ide / ide-iops.c
index 07da5fb9eaff0d760e93c5736b1b3dedb19f58de..2cbadffe922ef1204363ae5e50df712a693e79fd 100644 (file)
@@ -484,11 +484,11 @@ void ide_fix_driveid (struct hd_driveid *id)
        for (i = 0; i < 3; i++)
                id->words157_159[i] = __le16_to_cpu(id->words157_159[i]);
        id->cfa_power      = __le16_to_cpu(id->cfa_power);
-       for (i = 0; i < 14; i++)
+       for (i = 0; i < 15; i++)
                id->words161_175[i] = __le16_to_cpu(id->words161_175[i]);
-       for (i = 0; i < 31; i++)
+       for (i = 0; i < 30; i++)
                id->words176_205[i] = __le16_to_cpu(id->words176_205[i]);
-       for (i = 0; i < 48; i++)
+       for (i = 0; i < 49; i++)
                id->words206_254[i] = __le16_to_cpu(id->words206_254[i]);
        id->integrity_word  = __le16_to_cpu(id->integrity_word);
 # else
@@ -510,10 +510,8 @@ void ide_fixstring (u8 *s, const int bytecount, const int byteswap)
 
        if (byteswap) {
                /* convert from big-endian to host byte order */
-               for (p = end ; p != s;) {
-                       unsigned short *pp = (unsigned short *) (p -= 2);
-                       *pp = ntohs(*pp);
-               }
+               for (p = end ; p != s;)
+                       be16_to_cpus((u16 *)(p -= 2));
        }
        /* strip leading blanks */
        while (s != end && *s == ' ')