diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2006-06-02 14:48:14 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-06-02 14:48:14 -0700 |
commit | ce6089ada2fea84bef30a839543688664859162b (patch) | |
tree | 5f305696e88c5d7e5191d2ab47ba2c008073db1c /usb | |
parent | 1243a917553e97fa5adaa2010bbfaf6e86acefb3 (diff) | |
download | patches-ce6089ada2fea84bef30a839543688664859162b.tar.gz |
new usb and pci patches
Diffstat (limited to 'usb')
-rw-r--r-- | usb/airprime_major_update.patch | 6 | ||||
-rw-r--r-- | usb/usb-add-sierra-wireless-mc5720-id-to-airprime.c.patch | 26 | ||||
-rw-r--r-- | usb/usb-cdc_ether-recognize-olympus-r1000.patch | 41 | ||||
-rw-r--r-- | usb/usb-negative-index-in-drivers-usb-host-isp116x-hcd.c.patch | 63 | ||||
-rw-r--r-- | usb/usb-whiteheat-fix-firmware-spurious-errors.patch | 37 |
5 files changed, 170 insertions, 3 deletions
diff --git a/usb/airprime_major_update.patch b/usb/airprime_major_update.patch index ff9e17ffbae5f..df4f69569409b 100644 --- a/usb/airprime_major_update.patch +++ b/usb/airprime_major_update.patch @@ -36,7 +36,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> #include <linux/module.h> #include <linux/usb.h> #include "usb-serial.h" -@@ -23,6 +24,201 @@ static struct usb_device_id id_table [] +@@ -24,6 +25,201 @@ static struct usb_device_id id_table [] }; MODULE_DEVICE_TABLE(usb, id_table); @@ -238,7 +238,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> static struct usb_driver airprime_driver = { .name = "airprime", .probe = usb_serial_probe, -@@ -41,6 +237,9 @@ static struct usb_serial_driver airprime +@@ -42,6 +238,9 @@ static struct usb_serial_driver airprime .num_bulk_in = NUM_DONT_CARE, .num_bulk_out = NUM_DONT_CARE, .num_ports = 1, @@ -248,7 +248,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> }; static int __init airprime_init(void) -@@ -65,3 +264,8 @@ static void __exit airprime_exit(void) +@@ -66,3 +265,8 @@ static void __exit airprime_exit(void) module_init(airprime_init); module_exit(airprime_exit); MODULE_LICENSE("GPL"); diff --git a/usb/usb-add-sierra-wireless-mc5720-id-to-airprime.c.patch b/usb/usb-add-sierra-wireless-mc5720-id-to-airprime.c.patch new file mode 100644 index 0000000000000..db7ddf695727c --- /dev/null +++ b/usb/usb-add-sierra-wireless-mc5720-id-to-airprime.c.patch @@ -0,0 +1,26 @@ +From jeremy@goop.org Wed May 31 13:30:21 2006 +Message-ID: <447DDEC0.70105@goop.org> +Date: Wed, 31 May 2006 11:21:52 -0700 +From: Jeremy Fitzhardinge <jeremy@goop.org> +To: gregkh@suse.de +Subject: USB: Add Sierra Wireless MC5720 ID to airprime.c + +Recognize the Sierra Wireless MC5720. + +Signed-off-by: Jeremy Fitzhardinge <jeremy@goop.org> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/usb/serial/airprime.c | 1 + + 1 file changed, 1 insertion(+) + +--- gregkh-2.6.orig/drivers/usb/serial/airprime.c ++++ gregkh-2.6/drivers/usb/serial/airprime.c +@@ -19,6 +19,7 @@ static struct usb_device_id id_table [] + { USB_DEVICE(0xf3d, 0x0112) }, /* AirPrime CDMA Wireless PC Card */ + { USB_DEVICE(0x1410, 0x1110) }, /* Novatel Wireless Merlin CDMA */ + { USB_DEVICE(0x1199, 0x0112) }, /* Sierra Wireless Aircard 580 */ ++ { USB_DEVICE(0x1199, 0x0218) }, /* Sierra Wireless MC5720 */ + { }, + }; + MODULE_DEVICE_TABLE(usb, id_table); diff --git a/usb/usb-cdc_ether-recognize-olympus-r1000.patch b/usb/usb-cdc_ether-recognize-olympus-r1000.patch new file mode 100644 index 0000000000000..7fe0ee27ad0b1 --- /dev/null +++ b/usb/usb-cdc_ether-recognize-olympus-r1000.patch @@ -0,0 +1,41 @@ +From david-b@pacbell.net Tue May 30 20:49:37 2006 +From: David Brownell <david-b@pacbell.net> +To: Greg KH <greg@kroah.com> +Subject: USB: cdc_ether: recognize olympus r1000 (fix regression) +Date: Tue, 30 May 2006 20:49:29 -0700 +Cc: Christian Herrmann <c.herrmann@ccxl.de>, Todd Blumer <todd@sdgsystems.com> +Message-Id: <200605302049.30269.david-b@pacbell.net> + +Earlier work splitting the "usbnet" driver out into a core plus driver +modules was missing a blacklist entry for the Olympus R-1000; it must +not use the CDC Ethernet driver, only the "zaurus" support works with +it. + +Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/usb/net/cdc_ether.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +--- gregkh-2.6.orig/drivers/usb/net/cdc_ether.c ++++ gregkh-2.6/drivers/usb/net/cdc_ether.c +@@ -455,6 +455,18 @@ static const struct usb_device_id produc + .driver_info = 0, + }, + ++/* Olympus has some models with a Zaurus-compatible option. ++ * R-1000 uses a FreeScale i.MXL cpu (ARMv4T) ++ */ ++{ ++ .match_flags = USB_DEVICE_ID_MATCH_INT_INFO ++ | USB_DEVICE_ID_MATCH_DEVICE, ++ .idVendor = 0x07B4, ++ .idProduct = 0x0F02, /* R-1000 */ ++ ZAURUS_MASTER_INTERFACE, ++ .driver_info = 0, ++}, ++ + /* + * WHITELIST!!! + * diff --git a/usb/usb-negative-index-in-drivers-usb-host-isp116x-hcd.c.patch b/usb/usb-negative-index-in-drivers-usb-host-isp116x-hcd.c.patch new file mode 100644 index 0000000000000..8530802ceb8b2 --- /dev/null +++ b/usb/usb-negative-index-in-drivers-usb-host-isp116x-hcd.c.patch @@ -0,0 +1,63 @@ +From akpm@osdl.org Thu Jun 1 20:44:33 2006 +Message-Id: <200606020344.k523iQ26029471@shell0.pdx.osdl.net> +Subject: USB: negative index in drivers/usb/host/isp116x-hcd.c +To: greg@kroah.com +Cc: linux-usb-devel@lists.sourceforge.net, akpm@osdl.org, snakebyte@gmx.de +From: akpm@osdl.org +Date: Thu, 01 Jun 2006 20:48:45 -0700 + + +From: Eric Sesterhenn <snakebyte@gmx.de> + +This fixes coverity Bug #390. + +With the following code + + ret = ep->branch = balance(isp116x, ep->period, ep->load); + if (ret < 0) + goto fail; + +the problem is that ret and balance are of the type int, and ep->branch is u16. +so the int balance() returns gets reduced to u16 and then converted to an int again, +which removes the sign. Maybe the following little c program can explain it better: + +----snip---- +int foo() { + return -5; +} + +int main(int argc, char **argv) { + int a; + unsigned short b; + + a = b = foo(); + if (a < 0) + puts("case 1 works\n"); + + b = a = foo(); + if (a < 0 ) + puts("case 2 works\n"); +} +----snip---- + +only the case 2 output is visible. + +Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de> +Signed-off-by: Andrew Morton <akpm@osdl.org> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/usb/host/isp116x-hcd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- gregkh-2.6.orig/drivers/usb/host/isp116x-hcd.c ++++ gregkh-2.6/drivers/usb/host/isp116x-hcd.c +@@ -781,7 +781,7 @@ static int isp116x_urb_enqueue(struct us + if (ep->branch < PERIODIC_SIZE) + break; + +- ret = ep->branch = balance(isp116x, ep->period, ep->load); ++ ep->branch = ret = balance(isp116x, ep->period, ep->load); + if (ret < 0) + goto fail; + ret = 0; diff --git a/usb/usb-whiteheat-fix-firmware-spurious-errors.patch b/usb/usb-whiteheat-fix-firmware-spurious-errors.patch new file mode 100644 index 0000000000000..90aed9df23360 --- /dev/null +++ b/usb/usb-whiteheat-fix-firmware-spurious-errors.patch @@ -0,0 +1,37 @@ +From stuartm@connecttech.com Wed May 31 10:40:58 2006 +From: "Stuart MacDonald" <stuartm@connecttech.com> +To: <greg@kroah.com> +Subject: USB: Whiteheat: fix firmware spurious errors +Date: Wed, 31 May 2006 13:28:40 -0400 +Message-ID: <02d901c684d7$a87b8460$294b82ce@stuartm> + +Attached patch fixes spurious errors during firmware load. + +Signed-off-by: Stuart MacDonald <stuartm@connecttech.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + + +--- + drivers/usb/serial/whiteheat.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- gregkh-2.6.orig/drivers/usb/serial/whiteheat.c ++++ gregkh-2.6/drivers/usb/serial/whiteheat.c +@@ -388,7 +388,7 @@ static int whiteheat_attach (struct usb_ + if (ret) { + err("%s: Couldn't send command [%d]", serial->type->description, ret); + goto no_firmware; +- } else if (alen != sizeof(command)) { ++ } else if (alen != 2) { + err("%s: Send command incomplete [%d]", serial->type->description, alen); + goto no_firmware; + } +@@ -400,7 +400,7 @@ static int whiteheat_attach (struct usb_ + if (ret) { + err("%s: Couldn't get results [%d]", serial->type->description, ret); + goto no_firmware; +- } else if (alen != sizeof(result)) { ++ } else if (alen != sizeof(*hw_info) + 1) { + err("%s: Get results incomplete [%d]", serial->type->description, alen); + goto no_firmware; + } else if (result[0] != command[0]) { |