tree 29b32fbb32911f3aecf347675b7283b6269e7fda
parent c0698f2f6e4839ce9463ce731c892993215ea067
author [EMAIL PROTECTED] <[EMAIL PROTECTED]> Tue, 19 Apr 2005 11:16:57 -0700
committer Greg KH <[EMAIL PROTECTED]> Tue, 19 Apr 2005 11:16:57 -0700
[PATCH] w1: real fix for big endian machines.
Real fix for big endian machines - crc must be calculated
using little endian byte order.
Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]>
Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>
w1/w1.c | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
Index: drivers/w1/w1.c
===================================================================
--- b05fc8a950ace937460212e996441e4c05a227f6/drivers/w1/w1.c (mode:100644
sha1:fd630cec0e7915bcdbc620d49b098002b18bbc0c)
+++ 29b32fbb32911f3aecf347675b7283b6269e7fda/drivers/w1/w1.c (mode:100644
sha1:8d7821899cc10440137299c7254ee4750c416d8d)
@@ -522,10 +522,11 @@
slave_count++;
}
- if (slave_count == dev->slave_count && rn ) {
- tmp = cpu_to_le64(rn);
- if(((rn >> 56) & 0xff) == w1_calc_crc8((u8 *)&tmp, 7))
- w1_attach_slave_device(dev, (struct w1_reg_num
*) &rn);
+ rn = cpu_to_le64(rn);
+
+ if (slave_count == dev->slave_count &&
+ rn && ((le64_to_cpu(rn) >> 56) & 0xff) == w1_calc_crc8((u8
*)&rn, 7)) {
+ w1_attach_slave_device(dev, tmp);
}
atomic_dec(&dev->refcnt);
-
To unsubscribe from this list: send the line "unsubscribe bk-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html