aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-3.3/007-hso-Earlier-catch-of-error-condition.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2013-09-10 13:47:44 +0000
committerFelix Fietkau <nbd@openwrt.org>2013-09-10 13:47:44 +0000
commit11926c2fd831fd9847b163530ddcec13d53fbdef (patch)
tree8cd7cae9ff9d65ca189a03042a813a44517a9d5a /target/linux/generic/patches-3.3/007-hso-Earlier-catch-of-error-condition.patch
parent7198523e6e0c173659e6843fc25973d5d2e99157 (diff)
downloadupstream-11926c2fd831fd9847b163530ddcec13d53fbdef.tar.gz
upstream-11926c2fd831fd9847b163530ddcec13d53fbdef.tar.bz2
upstream-11926c2fd831fd9847b163530ddcec13d53fbdef.zip
kernel: fix arch-dependent bug in hso module
Currently, the module causes an oops at least on rt5350. These patches have been accepted upstream at: git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us> SVN-Revision: 37931
Diffstat (limited to 'target/linux/generic/patches-3.3/007-hso-Earlier-catch-of-error-condition.patch')
-rw-r--r--target/linux/generic/patches-3.3/007-hso-Earlier-catch-of-error-condition.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/target/linux/generic/patches-3.3/007-hso-Earlier-catch-of-error-condition.patch b/target/linux/generic/patches-3.3/007-hso-Earlier-catch-of-error-condition.patch
new file mode 100644
index 0000000000..9b31caf06f
--- /dev/null
+++ b/target/linux/generic/patches-3.3/007-hso-Earlier-catch-of-error-condition.patch
@@ -0,0 +1,45 @@
+From 35e57e1b49a351aa804dab6010cd46ae6112a541 Mon Sep 17 00:00:00 2001
+From: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
+Date: Wed, 21 Aug 2013 01:43:07 -0700
+Subject: [PATCH 1/2] hso: Earlier catch of error condition
+
+There is no need to get an interface specification if we know it's the
+wrong one.
+
+Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
+Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/usb/hso.c | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
+index cba1d46..5fb36ed 100644
+--- a/drivers/net/usb/hso.c
++++ b/drivers/net/usb/hso.c
+@@ -2886,6 +2886,11 @@ static int hso_probe(struct usb_interface *interface,
+ struct hso_shared_int *shared_int;
+ struct hso_device *tmp_dev = NULL;
+
++ if (interface->cur_altsetting->desc.bInterfaceClass != 0xFF) {
++ dev_err(&interface->dev, "Not our interface\n");
++ return -ENODEV;
++ }
++
+ if_num = interface->altsetting->desc.bInterfaceNumber;
+
+ /* Get the interface/port specification from either driver_info or from
+@@ -2895,10 +2900,6 @@ static int hso_probe(struct usb_interface *interface,
+ else
+ port_spec = hso_get_config_data(interface);
+
+- if (interface->cur_altsetting->desc.bInterfaceClass != 0xFF) {
+- dev_err(&interface->dev, "Not our interface\n");
+- return -ENODEV;
+- }
+ /* Check if we need to switch to alt interfaces prior to port
+ * configuration */
+ if (interface->num_altsetting > 1)
+--
+1.7.9.5
+