> Index: src/sys/dev/usb/if_axe.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/usb/if_axe.c,v
> retrieving revision 1.105
> diff -u -p -r1.105 if_axe.c
> --- src/sys/dev/usb/if_axe.c 25 Jan 2011 20:03:35 -0000 1.105
> +++ src/sys/dev/usb/if_axe.c 19 Mar 2011 17:45:08 -0000
> @@ -1018,7 +1018,9 @@ axe_rxeof(usbd_xfer_handle xfer, usbd_pr
>
> do {
> if (sc->axe_flags & AX178 || sc->axe_flags & AX772) {
> - if (total_len < sizeof(hdr)) {
> + if (total_len < sizeof(hdr) ||
> + total_len > (sc->axe_flags == AXE_178_MAX_BUFSZ ?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This can't possibly be correct.