From: Emil Goode Date: Thu, 13 Feb 2014 18:30:39 +0000 (+0100) Subject: net: asix: add missing flag to struct driver_info X-Git-Tag: v3.4.83~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=176485d0f36455db28edec5ab6581842c8d17203;p=thirdparty%2Fkernel%2Fstable.git net: asix: add missing flag to struct driver_info commit d43ff4cd798911736fb39025ec8004284b1b0bc2 upstream. The struct driver_info ax88178_info is assigned the function asix_rx_fixup_common as it's rx_fixup callback. This means that FLAG_MULTI_PACKET must be set as this function is cloning the data and calling usbnet_skb_return. Not setting this flag leads to usbnet_skb_return beeing called a second time from within the rx_process function in the usbnet module. Signed-off-by: Emil Goode Reported-by: Bjørn Mork Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/net/usb/asix.c b/drivers/net/usb/asix.c index 869b14bc6d430..e3e0ca1e92e29 100644 --- a/drivers/net/usb/asix.c +++ b/drivers/net/usb/asix.c @@ -1574,7 +1574,8 @@ static const struct driver_info ax88178_info = { .status = asix_status, .link_reset = ax88178_link_reset, .reset = ax88178_reset, - .flags = FLAG_ETHER | FLAG_FRAMING_AX | FLAG_LINK_INTR, + .flags = FLAG_ETHER | FLAG_FRAMING_AX | FLAG_LINK_INTR | + FLAG_MULTI_PACKET, .rx_fixup = asix_rx_fixup_common, .tx_fixup = asix_tx_fixup, };