From fdd4605b142461905f7d88feff6fafed74143484 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Nov 26 2013 19:22:51 +0000 Subject: Add patch to fix usbnet URB handling (rhbz 998342) --- diff --git a/kernel.spec b/kernel.spec index a6a1bf9..0783267 100644 --- a/kernel.spec +++ b/kernel.spec @@ -824,6 +824,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 @@ -1585,6 +1588,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 @@ -2427,6 +2433,7 @@ fi # || || %changelog * Tue Nov 26 2013 Josh Boyer +- 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) diff --git a/usbnet-fix-status-interrupt-urb-handling.patch b/usbnet-fix-status-interrupt-urb-handling.patch new file mode 100644 index 0000000..74bf397 --- /dev/null +++ b/usbnet-fix-status-interrupt-urb-handling.patch @@ -0,0 +1,37 @@ +From 52f48d0d9aaa621ffa5e08d79da99a3f8c93b848 Mon Sep 17 00:00:00 2001 +From: Felix Fietkau +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 +Tested-by: Dan Williams +Signed-off-by: David S. Miller +--- + 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 +