summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsobomax <sobomax@FreeBSD.org>2005-03-22 16:35:15 +0000
committersobomax <sobomax@FreeBSD.org>2005-03-22 16:35:15 +0000
commitbb1251f4917bc4dd708ae3454b44de05fabe132c (patch)
tree43058e1cfeb065208f8cf0f695e38c08c7c6405d
parent4beb15977bf4db80be6ebd3851f35211fed3e0a8 (diff)
downloadFreeBSD-src-bb1251f4917bc4dd708ae3454b44de05fabe132c.zip
FreeBSD-src-bb1251f4917bc4dd708ae3454b44de05fabe132c.tar.gz
Zaurus expecrs CRC to be in little-endian order, so that convert it into LE
on BE arches. Obtained from: OpenBSD
-rw-r--r--sys/dev/usb/if_cdce.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/usb/if_cdce.c b/sys/dev/usb/if_cdce.c
index f4efa4e..7991d99 100644
--- a/sys/dev/usb/if_cdce.c
+++ b/sys/dev/usb/if_cdce.c
@@ -50,6 +50,7 @@ __FBSDID("$FreeBSD$");
#include <sys/kernel.h>
#include <sys/module.h>
#include <sys/socket.h>
+#include <sys/endian.h>
#include <net/if.h>
#include <net/if_arp.h>
@@ -385,7 +386,7 @@ cdce_encap(struct cdce_softc *sc, struct mbuf *m, int idx)
/* Zaurus wants a 32-bit CRC appended to every frame */
u_int32_t crc;
- crc = crc32(c->cdce_buf, m->m_pkthdr.len);
+ crc = htole32(crc32(c->cdce_buf, m->m_pkthdr.len));
bcopy(&crc, c->cdce_buf + m->m_pkthdr.len, 4);
extra = 4;
}
OpenPOWER on IntegriCloud