diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2006-04-04 10:53:00 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-04-04 10:53:00 -0700 |
commit | 89db993763d7241db3f0b8760c71dcb0cf6e5d91 (patch) | |
tree | f5c163b34e79c4cf4317758bef9da95f3ad88b61 /usb | |
parent | d39fbab34cc47f08bbc206ac10f5b61b32227da6 (diff) | |
download | patches-89db993763d7241db3f0b8760c71dcb0cf6e5d91.tar.gz |
new pci and usb patches
Diffstat (limited to 'usb')
-rw-r--r-- | usb/always-announce-new-usb-devices.patch | 6 | ||||
-rw-r--r-- | usb/usb-drivers-usb-core-remove-unused-exports.patch | 50 | ||||
-rw-r--r-- | usb/usb-ueagle-cosmetic.patch | 165 | ||||
-rw-r--r-- | usb/usb-ueagle-memory-leack-fix.patch | 44 | ||||
-rw-r--r-- | usb/usb-ueagle-null-pointer-dereference-fix.patch | 30 | ||||
-rw-r--r-- | usb/usb-ueagle-support-geode.patch | 51 |
6 files changed, 343 insertions, 3 deletions
diff --git a/usb/always-announce-new-usb-devices.patch b/usb/always-announce-new-usb-devices.patch index d3e74cc6260ff..a50990b21f360 100644 --- a/usb/always-announce-new-usb-devices.patch +++ b/usb/always-announce-new-usb-devices.patch @@ -14,7 +14,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- gregkh-2.6.orig/drivers/usb/core/hub.c +++ gregkh-2.6/drivers/usb/core/hub.c -@@ -1261,7 +1261,6 @@ static int choose_configuration(struct u +@@ -1260,7 +1260,6 @@ static int choose_configuration(struct u return i; } @@ -22,7 +22,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> static void show_string(struct usb_device *udev, char *id, char *string) { if (!string) -@@ -1269,10 +1268,6 @@ static void show_string(struct usb_devic +@@ -1268,10 +1267,6 @@ static void show_string(struct usb_devic dev_printk(KERN_INFO, &udev->dev, "%s: %s\n", id, string); } @@ -33,7 +33,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> #ifdef CONFIG_USB_OTG -@@ -1317,7 +1312,10 @@ int usb_new_device(struct usb_device *ud +@@ -1316,7 +1311,10 @@ int usb_new_device(struct usb_device *ud udev->serial = usb_cache_string(udev, udev->descriptor.iSerialNumber); /* Tell the world! */ diff --git a/usb/usb-drivers-usb-core-remove-unused-exports.patch b/usb/usb-drivers-usb-core-remove-unused-exports.patch new file mode 100644 index 0000000000000..48830b4604ff8 --- /dev/null +++ b/usb/usb-drivers-usb-core-remove-unused-exports.patch @@ -0,0 +1,50 @@ +From bunk@stusta.de Tue Apr 4 00:56:30 2006 +Date: Tue, 4 Apr 2006 09:56:04 +0200 +From: Adrian Bunk <bunk@stusta.de> +To: gregkh@suse.de +Cc: linux-usb-devel@lists.sourceforge.net +Subject: USB: drivers/usb/core/: remove unused exports +Message-ID: <20060404075604.GE6529@stusta.de> +Content-Disposition: inline + +This patch removes the following unused EXPORT_SYMBOL's: +- hub.c: usb_set_device_state +- usb.c: usb_alloc_dev +- usb.c: usb_disconnect + +Signed-off-by: Adrian Bunk <bunk@stusta.de> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/usb/core/hub.c | 1 - + drivers/usb/core/usb.c | 2 -- + 2 files changed, 3 deletions(-) + +--- gregkh-2.6.orig/drivers/usb/core/hub.c ++++ gregkh-2.6/drivers/usb/core/hub.c +@@ -1022,7 +1022,6 @@ void usb_set_device_state(struct usb_dev + recursively_mark_NOTATTACHED(udev); + spin_unlock_irqrestore(&device_state_lock, flags); + } +-EXPORT_SYMBOL(usb_set_device_state); + + + #ifdef CONFIG_PM +--- gregkh-2.6.orig/drivers/usb/core/usb.c ++++ gregkh-2.6/drivers/usb/core/usb.c +@@ -1194,7 +1194,6 @@ EXPORT_SYMBOL(usb_disabled); + EXPORT_SYMBOL_GPL(usb_get_intf); + EXPORT_SYMBOL_GPL(usb_put_intf); + +-EXPORT_SYMBOL(usb_alloc_dev); + EXPORT_SYMBOL(usb_put_dev); + EXPORT_SYMBOL(usb_get_dev); + EXPORT_SYMBOL(usb_hub_tt_clear_buffer); +@@ -1208,7 +1207,6 @@ EXPORT_SYMBOL(usb_ifnum_to_if); + EXPORT_SYMBOL(usb_altnum_to_altsetting); + + EXPORT_SYMBOL(usb_reset_device); +-EXPORT_SYMBOL(usb_disconnect); + + EXPORT_SYMBOL(__usb_get_extra_descriptor); + diff --git a/usb/usb-ueagle-cosmetic.patch b/usb/usb-ueagle-cosmetic.patch new file mode 100644 index 0000000000000..ef5b60a53383c --- /dev/null +++ b/usb/usb-ueagle-cosmetic.patch @@ -0,0 +1,165 @@ +From castet.matthieu@free.fr Sun Apr 2 09:44:04 2006 +Message-ID: <442FFF49.50303@free.fr> +Date: Sun, 02 Apr 2006 18:43:53 +0200 +From: matthieu castet <castet.matthieu@free.fr> +To: greg@kroah.com +CC: <ueagleatm-dev@gna.org> +Subject: USB: UEAGLE : cosmetic + +- improve debug trace in order to make easy to solve user problems. +- indent some code +- increase version number + +Signed-off-by: Matthieu CASTET <castet.matthieu@free.fr> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + + +--- + drivers/usb/atm/ueagle-atm.c | 35 +++++++++++++++++++++++++++++------ + 1 file changed, 29 insertions(+), 6 deletions(-) + +--- gregkh-2.6.orig/drivers/usb/atm/ueagle-atm.c ++++ gregkh-2.6/drivers/usb/atm/ueagle-atm.c +@@ -68,7 +68,7 @@ + + #include "usbatm.h" + +-#define EAGLEUSBVERSION "ueagle 1.2" ++#define EAGLEUSBVERSION "ueagle 1.3" + + + /* +@@ -314,6 +314,10 @@ struct cmv { + ((d) & 0xff) << 16 | \ + ((a) & 0xff) << 8 | \ + ((b) & 0xff)) ++#define GETSA1(a) ((a >> 8) & 0xff) ++#define GETSA2(a) (a & 0xff) ++#define GETSA3(a) ((a >> 24) & 0xff) ++#define GETSA4(a) ((a >> 16) & 0xff) + + #define SA_CNTL MAKESA('C', 'N', 'T', 'L') + #define SA_DIAG MAKESA('D', 'I', 'A', 'G') +@@ -728,11 +732,12 @@ bad2: + uea_err(INS_TO_USBDEV(sc), "sending DSP block %u failed\n", i); + return; + bad1: +- uea_err(INS_TO_USBDEV(sc), "invalid DSP page %u requested\n",pageno); ++ uea_err(INS_TO_USBDEV(sc), "invalid DSP page %u requested\n", pageno); + } + + static inline void wake_up_cmv_ack(struct uea_softc *sc) + { ++ BUG_ON(sc->cmv_ack); + sc->cmv_ack = 1; + wake_up(&sc->cmv_ack_wait); + } +@@ -743,6 +748,9 @@ static inline int wait_cmv_ack(struct ue + sc->cmv_ack, ACK_TIMEOUT); + sc->cmv_ack = 0; + ++ uea_dbg(INS_TO_USBDEV(sc), "wait_event_timeout : %d ms\n", ++ jiffies_to_msecs(ret)); ++ + if (ret < 0) + return ret; + +@@ -791,6 +799,12 @@ static int uea_cmv(struct uea_softc *sc, + struct cmv cmv; + int ret; + ++ uea_enters(INS_TO_USBDEV(sc)); ++ uea_vdbg(INS_TO_USBDEV(sc), "Function : %d-%d, Address : %c%c%c%c, " ++ "offset : 0x%04x, data : 0x%08x\n", ++ FUNCTION_TYPE(function), FUNCTION_SUBTYPE(function), ++ GETSA1(address), GETSA2(address), GETSA3(address), ++ GETSA4(address), offset, data); + /* we send a request, but we expect a reply */ + sc->cmv_function = function | 0x2; + sc->cmv_idx++; +@@ -808,7 +822,9 @@ static int uea_cmv(struct uea_softc *sc, + ret = uea_request(sc, UEA_SET_BLOCK, UEA_MPTX_START, CMV_SIZE, &cmv); + if (ret < 0) + return ret; +- return wait_cmv_ack(sc); ++ ret = wait_cmv_ack(sc); ++ uea_leaves(INS_TO_USBDEV(sc)); ++ return ret; + } + + static inline int uea_read_cmv(struct uea_softc *sc, +@@ -922,7 +938,7 @@ static int uea_stat(struct uea_softc *sc + * we check the status again in order to detect the failure earlier + */ + if (sc->stats.phy.flags) { +- uea_dbg(INS_TO_USBDEV(sc), "Stat flag = %d\n", ++ uea_dbg(INS_TO_USBDEV(sc), "Stat flag = 0x%x\n", + sc->stats.phy.flags); + return 0; + } +@@ -1101,6 +1117,8 @@ static int uea_start_reset(struct uea_so + if (ret < 0) + return ret; + ++ uea_vdbg(INS_TO_USBDEV(sc), "Ready CMV received\n"); ++ + /* Enter in R-IDLE (cmv) until instructed otherwise */ + ret = uea_write_cmv(sc, SA_CNTL, 0, 1); + if (ret < 0) +@@ -1121,6 +1139,7 @@ static int uea_start_reset(struct uea_so + } + /* Enter in R-ACT-REQ */ + ret = uea_write_cmv(sc, SA_CNTL, 0, 2); ++ uea_vdbg(INS_TO_USBDEV(sc), "Entering in R-ACT-REQ state\n"); + out: + release_firmware(cmvs_fw); + sc->reset = 0; +@@ -1235,6 +1254,7 @@ static void uea_dispatch_cmv(struct uea_ + + if (cmv->bFunction == MAKEFUNCTION(ADSLDIRECTIVE, MODEMREADY)) { + wake_up_cmv_ack(sc); ++ uea_leaves(INS_TO_USBDEV(sc)); + return; + } + +@@ -1249,6 +1269,7 @@ static void uea_dispatch_cmv(struct uea_ + sc->data = sc->data << 16 | sc->data >> 16; + + wake_up_cmv_ack(sc); ++ uea_leaves(INS_TO_USBDEV(sc)); + return; + + bad2: +@@ -1256,12 +1277,14 @@ bad2: + "Function : %d, Subfunction : %d\n", + FUNCTION_TYPE(cmv->bFunction), + FUNCTION_SUBTYPE(cmv->bFunction)); ++ uea_leaves(INS_TO_USBDEV(sc)); + return; + + bad1: + uea_err(INS_TO_USBDEV(sc), "invalid cmv received, " + "wPreamble %d, bDirection %d\n", + le16_to_cpu(cmv->wPreamble), cmv->bDirection); ++ uea_leaves(INS_TO_USBDEV(sc)); + } + + /* +@@ -1508,7 +1531,7 @@ static ssize_t read_##name(struct device + int ret = -ENODEV; \ + struct uea_softc *sc; \ + \ +- mutex_lock(&uea_mutex); \ ++ mutex_lock(&uea_mutex); \ + sc = dev_to_uea(dev); \ + if (!sc) \ + goto out; \ +@@ -1516,7 +1539,7 @@ static ssize_t read_##name(struct device + if (reset) \ + sc->stats.phy.name = 0; \ + out: \ +- mutex_unlock(&uea_mutex); \ ++ mutex_unlock(&uea_mutex); \ + return ret; \ + } \ + \ diff --git a/usb/usb-ueagle-memory-leack-fix.patch b/usb/usb-ueagle-memory-leack-fix.patch new file mode 100644 index 0000000000000..bc198b49e8795 --- /dev/null +++ b/usb/usb-ueagle-memory-leack-fix.patch @@ -0,0 +1,44 @@ +From castet.matthieu@free.fr Sun Apr 2 09:45:55 2006 +Message-ID: <442FFFBA.10000@free.fr> +Date: Sun, 02 Apr 2006 18:45:46 +0200 +From: matthieu castet <castet.matthieu@free.fr> +To: greg@kroah.com +CC: ueagle <ueagleatm-dev@gna.org> +Subject: USB: UEAGLE : memory leack fix + +this patch fix leak of memory allocated to intr if allocation of +sc->urb_int fails. +Found by the Coverity checker. + +Signed-off-by: Duncan Sands <baldrick@free.fr> +Signed-off-by: Matthieu CASTET <castet.matthieu@free.fr> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/usb/atm/ueagle-atm.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- gregkh-2.6.orig/drivers/usb/atm/ueagle-atm.c ++++ gregkh-2.6/drivers/usb/atm/ueagle-atm.c +@@ -1376,7 +1376,7 @@ static int uea_boot(struct uea_softc *sc + if (ret < 0) { + uea_err(INS_TO_USBDEV(sc), + "urb submition failed with error %d\n", ret); +- goto err1; ++ goto err; + } + + sc->kthread = kthread_run(uea_kthread, sc, "ueagle-atm"); +@@ -1390,10 +1390,10 @@ static int uea_boot(struct uea_softc *sc + + err2: + usb_kill_urb(sc->urb_int); +-err1: +- kfree(intr); + err: + usb_free_urb(sc->urb_int); ++ sc->urb_int = NULL; ++ kfree(intr); + uea_leaves(INS_TO_USBDEV(sc)); + return -ENOMEM; + } diff --git a/usb/usb-ueagle-null-pointer-dereference-fix.patch b/usb/usb-ueagle-null-pointer-dereference-fix.patch new file mode 100644 index 0000000000000..dcc81669ab663 --- /dev/null +++ b/usb/usb-ueagle-null-pointer-dereference-fix.patch @@ -0,0 +1,30 @@ +From castet.matthieu@free.fr Sun Apr 2 09:45:00 2006 +Message-ID: <442FFF80.9090205@free.fr> +Date: Sun, 02 Apr 2006 18:44:48 +0200 +From: matthieu castet <castet.matthieu@free.fr> +To: greg@kroah.com +CC: ueagle <ueagleatm-dev@gna.org> +Subject: USB: UEAGLE : null pointer dereference fix + +this patch fix potential null pointer dereference. Found by the +Coverity checker. + +Signed-off-by: Duncan Sands <baldrick@free.fr> +Signed-off-by: Matthieu CASTET <castet.matthieu@free.fr> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/usb/atm/ueagle-atm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- gregkh-2.6.orig/drivers/usb/atm/ueagle-atm.c ++++ gregkh-2.6/drivers/usb/atm/ueagle-atm.c +@@ -1673,7 +1673,7 @@ static int uea_bind(struct usbatm_data * + + sc = kzalloc(sizeof(struct uea_softc), GFP_KERNEL); + if (!sc) { +- uea_err(INS_TO_USBDEV(sc), "uea_init: not enough memory !\n"); ++ uea_err(usb, "uea_init: not enough memory !\n"); + return -ENOMEM; + } + diff --git a/usb/usb-ueagle-support-geode.patch b/usb/usb-ueagle-support-geode.patch new file mode 100644 index 0000000000000..271d1019790d2 --- /dev/null +++ b/usb/usb-ueagle-support-geode.patch @@ -0,0 +1,51 @@ +From castet.matthieu@free.fr Sun Apr 2 09:44:26 2006 +Message-ID: <442FFF64.3030309@free.fr> +Date: Sun, 02 Apr 2006 18:44:20 +0200 +From: matthieu castet <castet.matthieu@free.fr> +To: greg@kroah.com +CC: ueagle <ueagleatm-dev@gna.org> +Subject: USB: UEAGLE : support geode + +- increase ack timeout for slow system (geode 233MHz where HZ=100) +- reset the cmv ack flag when rebooting + +Signed-off-by: Matthieu CASTET <castet.matthieu@free.fr> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/usb/atm/ueagle-atm.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +--- gregkh-2.6.orig/drivers/usb/atm/ueagle-atm.c ++++ gregkh-2.6/drivers/usb/atm/ueagle-atm.c +@@ -243,7 +243,7 @@ enum { + #define BULK_TIMEOUT 300 + #define CTRL_TIMEOUT 1000 + +-#define ACK_TIMEOUT msecs_to_jiffies(1500) ++#define ACK_TIMEOUT msecs_to_jiffies(3000) + + #define UEA_INTR_IFACE_NO 0 + #define UEA_US_IFACE_NO 1 +@@ -1079,7 +1079,13 @@ static int uea_start_reset(struct uea_so + uea_enters(INS_TO_USBDEV(sc)); + uea_info(INS_TO_USBDEV(sc), "(re)booting started\n"); + ++ /* mask interrupt */ + sc->booting = 1; ++ /* We need to set this here because, a ack timeout could have occured, ++ * but before we start the reboot, the ack occurs and set this to 1. ++ * So we will failed to wait Ready CMV. ++ */ ++ sc->cmv_ack = 0; + UPDATE_ATM_STAT(signal, ATM_PHY_SIG_LOST); + + /* reset statistics */ +@@ -1105,6 +1111,7 @@ static int uea_start_reset(struct uea_so + + msleep(1000); + sc->cmv_function = MAKEFUNCTION(ADSLDIRECTIVE, MODEMREADY); ++ /* demask interrupt */ + sc->booting = 0; + + /* start loading DSP */ |