diff options
author | sobomax <sobomax@FreeBSD.org> | 2005-03-22 16:35:15 +0000 |
---|---|---|
committer | sobomax <sobomax@FreeBSD.org> | 2005-03-22 16:35:15 +0000 |
commit | bb1251f4917bc4dd708ae3454b44de05fabe132c (patch) | |
tree | 43058e1cfeb065208f8cf0f695e38c08c7c6405d /sys/dev/usb/if_cdce.c | |
parent | 4beb15977bf4db80be6ebd3851f35211fed3e0a8 (diff) | |
download | FreeBSD-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
Diffstat (limited to 'sys/dev/usb/if_cdce.c')
-rw-r--r-- | sys/dev/usb/if_cdce.c | 3 |
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; } |