summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorEmil Goode <emilgoode@gmail.com>2014-02-13 19:30:39 +0100
committerBen Hutchings <ben@decadent.org.uk>2014-04-09 02:20:46 +0100
commit615139289271610f38aa0b23f36583cee9afc7e5 (patch)
treeba27c7aaeedcfe34dadf6662f3def414a9a10afd /drivers
parentbbc321cec0e7dee2b06c86026b73c1562dc32c39 (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: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'drivers')
-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 c979159751b3..98ab7596e2fb 100644
--- a/drivers/net/usb/asix.c
+++ b/drivers/net/usb/asix.c
@@ -1568,7 +1568,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,
};