Add patch to fix usbnet URB handling (rhbz 998342)

This commit is contained in:
Josh Boyer 2013-11-26 14:22:21 -05:00
parent 94ec42f007
commit f9cc55d6ab
2 changed files with 44 additions and 0 deletions

View File

@ -772,6 +772,9 @@ Patch25157: xfs-underflow-bug-in-xfs_attrlist_by_handle.patch
#rhbz 1022733
Patch25158: via-velocity-fix-netif_receive_skb-use-in-irq-disable.patch
#rhbz 998342
Patch25159: usbnet-fix-status-interrupt-urb-handling.patch
# END OF PATCH DEFINITIONS
%endif
@ -1512,6 +1515,9 @@ ApplyPatch xfs-underflow-bug-in-xfs_attrlist_by_handle.patch
#rhbz 1022733
ApplyPatch via-velocity-fix-netif_receive_skb-use-in-irq-disable.patch
#rhbz 998342
ApplyPatch usbnet-fix-status-interrupt-urb-handling.patch
# END OF PATCH APPLICATIONS
%endif
@ -2316,6 +2322,7 @@ fi
# || ||
%changelog
* Tue Nov 26 2013 Josh Boyer <jwboyer@fedoraproject.org>
- Add patch to fix usbnet URB handling (rhbz 998342)
- Fix crash in via-velocity driver (rhbz 1022733)
- CVE-2013-6382 xfs: missing check for ZERO_SIZE_PTR (rhbz 1033603 1034670)

View File

@ -0,0 +1,37 @@
From 52f48d0d9aaa621ffa5e08d79da99a3f8c93b848 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Tue, 12 Nov 2013 16:34:41 +0100
Subject: [PATCH] usbnet: fix status interrupt urb handling
Since commit 7b0c5f21f348a66de495868b8df0284e8dfd6bbf
"sierra_net: keep status interrupt URB active", sierra_net triggers
status interrupt polling before the net_device is opened (in order to
properly receive the sync message response).
To be able to receive further interrupts, the interrupt urb needs to be
re-submitted, so this patch removes the bogus check for netif_running().
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Tested-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
drivers/net/usb/usbnet.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c
index 90a429b..8494bb5 100644
--- a/drivers/net/usb/usbnet.c
+++ b/drivers/net/usb/usbnet.c
@@ -204,9 +204,6 @@ static void intr_complete (struct urb *urb)
break;
}
- if (!netif_running (dev->net))
- return;
-
status = usb_submit_urb (urb, GFP_ATOMIC);
if (status != 0)
netif_err(dev, timer, dev->net,
--
1.8.3.1