summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmil Goode <emilgoode@gmail.com>2014-02-13 19:30:39 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-03-11 16:10:11 -0700
commit176485d0f36455db28edec5ab6581842c8d17203 (patch)
treeed338474cb10469e2ed4d66ead04696ac3b33480
parent20d700bc51e717c502e51c3fb857b03ba8f99f34 (diff)
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 <emilgoode@gmail.com> Reported-by: Bjørn Mork <bjorn@mork.no> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/net/usb/asix.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/usb/asix.c b/drivers/net/usb/asix.c
index 869b14bc6d43..e3e0ca1e92e2 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,
};