diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2006-01-27 11:30:11 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-01-27 11:30:11 -0800 |
commit | 0e59a871d88555157ba9c585562efd7b44980a9a (patch) | |
tree | 09c0d188d1bd4321c55dcb75b9957b074ae1cd55 /usb | |
parent | afba9fdd0bc76de323628ad9a25b20310d05031c (diff) | |
download | patches-0e59a871d88555157ba9c585562efd7b44980a9a.tar.gz |
usb update
Diffstat (limited to 'usb')
6 files changed, 23 insertions, 28 deletions
diff --git a/usb/always-announce-new-usb-devices.patch b/usb/always-announce-new-usb-devices.patch index 279cab95c24fe..87fc956b748fa 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 -@@ -1251,7 +1251,6 @@ static int choose_configuration(struct u +@@ -1257,7 +1257,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) -@@ -1259,10 +1258,6 @@ static void show_string(struct usb_devic +@@ -1265,10 +1264,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 -@@ -1307,7 +1302,10 @@ int usb_new_device(struct usb_device *ud +@@ -1313,7 +1308,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/uhci-use-one-qh-per-endpoint-not-per-urb.patch b/usb/uhci-use-one-qh-per-endpoint-not-per-urb.patch index 0515d1b4491e2..9d9aafeb9c6cd 100644 --- a/usb/uhci-use-one-qh-per-endpoint-not-per-urb.patch +++ b/usb/uhci-use-one-qh-per-endpoint-not-per-urb.patch @@ -1076,9 +1076,9 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> /* Low-speed transfers get a different queue, and won't hog the bus. * Also, some devices enumerate better without FSBR; the easiest way @@ -675,18 +615,13 @@ static int uhci_submit_control(struct uh - * is in the DEFAULT state. */ + * isn't in the CONFIGURED state. */ if (urb->dev->speed == USB_SPEED_LOW || - urb->dev->state == USB_STATE_DEFAULT) + urb->dev->state != USB_STATE_CONFIGURED) - skelqh = uhci->skel_ls_control_qh; + qh->skel = uhci->skel_ls_control_qh; else { diff --git a/usb/usb-core-and-hcds-don-t-put_device-while-atomic.patch b/usb/usb-core-and-hcds-don-t-put_device-while-atomic.patch index 3178ac8250ca9..3b044e60c3e8b 100644 --- a/usb/usb-core-and-hcds-don-t-put_device-while-atomic.patch +++ b/usb/usb-core-and-hcds-don-t-put_device-while-atomic.patch @@ -47,7 +47,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> dma_pool_free(uhci->qh_pool, qh, qh->dma_handle); --- gregkh-2.6.orig/drivers/usb/core/hcd.c +++ gregkh-2.6/drivers/usb/core/hcd.c -@@ -1091,7 +1091,6 @@ static void urb_unlink (struct urb *urb) +@@ -1105,7 +1105,6 @@ static void urb_unlink (struct urb *urb) spin_lock_irqsave (&hcd_data_lock, flags); list_del_init (&urb->urb_list); spin_unlock_irqrestore (&hcd_data_lock, flags); @@ -55,7 +55,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } -@@ -1131,7 +1130,6 @@ static int hcd_submit_urb (struct urb *u +@@ -1145,7 +1144,6 @@ static int hcd_submit_urb (struct urb *u case HC_STATE_RUNNING: case HC_STATE_RESUMING: doit: diff --git a/usb/usb-remove-usbcore-specific-wakeup-flags.patch b/usb/usb-remove-usbcore-specific-wakeup-flags.patch index 7d14440236eea..f3894b9574710 100644 --- a/usb/usb-remove-usbcore-specific-wakeup-flags.patch +++ b/usb/usb-remove-usbcore-specific-wakeup-flags.patch @@ -86,7 +86,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> patch_wakeup = 1; break; case USB_DT_STRING << 8: -@@ -1802,16 +1820,10 @@ int usb_add_hcd(struct usb_hcd *hcd, +@@ -1804,16 +1822,10 @@ int usb_add_hcd(struct usb_hcd *hcd, device_init_wakeup(&rhdev->dev, device_can_wakeup(hcd->self.controller)); @@ -158,7 +158,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } else recursively_mark_NOTATTACHED(udev); spin_unlock_irqrestore(&device_state_lock, flags); -@@ -1875,9 +1881,9 @@ int usb_resume_device(struct usb_device +@@ -1877,9 +1883,9 @@ int usb_resume_device(struct usb_device if (udev->state == USB_STATE_NOTATTACHED) return -ENODEV; @@ -169,7 +169,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> if (udev->state == USB_STATE_SUSPENDED) { // NOTE swsusp may bork us, device state being wrong... // NOTE this fails if parent is also suspended... -@@ -1885,8 +1891,8 @@ int usb_resume_device(struct usb_device +@@ -1887,8 +1893,8 @@ int usb_resume_device(struct usb_device udev->portnum, udev); } else status = 0; diff --git a/usb/usb-uhci-no-fsbr-until-device-is-configured.patch b/usb/usb-uhci-no-fsbr-until-device-is-configured.patch index 2fdb4cb75b9da..3a4fa837ffa56 100644 --- a/usb/usb-uhci-no-fsbr-until-device-is-configured.patch +++ b/usb/usb-uhci-no-fsbr-until-device-is-configured.patch @@ -1,20 +1,15 @@ -From stern@rowland.harvard.edu Fri Jan 6 12:51:08 2006 -Date: Fri, 6 Jan 2006 15:13:18 -0500 (EST) +From stern@rowland.harvard.edu Mon Jan 23 14:17:23 2006 +Date: Mon, 23 Jan 2006 17:17:21 -0500 (EST) From: Alan Stern <stern@rowland.harvard.edu> To: Greg KH <greg@kroah.com> -cc: Jeff Lange <jlange6648@gmail.com> Subject: USB: UHCI: No FSBR until device is configured -Message-ID: <Pine.LNX.4.44L0.0601061418070.4973-100000@iolanthe.rowland.org> +Message-ID: <Pine.LNX.4.44L0.0601231708160.7889-100000@iolanthe.rowland.org> -There are a few USB devices that don't enumerate properly when FSBR is -turned on. Currently uhci-hcd has started using FSBR as soon as a -device receives its address, but now we've found a device that won't -provide its descriptors when FSBR is on. -Accordingly, this patch (as629) leaves FSBR off for any device that -isn't in the CONFIGURED state. This will slow down the configuration -process a tiny bit, but not enough to matter. Furthermore it imitates -the way Windows behaves -- often a good thing to do. +Some USB devices don't enumerate well with FSBR turned on. This patch +keeps devices on the low-speed part of the schedule (which doesn't use +FSBR) until they have been fully configured. + Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> @@ -25,7 +20,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- gregkh-2.6.orig/drivers/usb/host/uhci-q.c +++ gregkh-2.6/drivers/usb/host/uhci-q.c -@@ -602,9 +602,9 @@ static int uhci_submit_control(struct uh +@@ -672,9 +672,9 @@ static int uhci_submit_control(struct uh /* Low-speed transfers get a different queue, and won't hog the bus. * Also, some devices enumerate better without FSBR; the easiest way * to do that is to put URBs on the low-speed queue while the device @@ -34,6 +29,6 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> if (urb->dev->speed == USB_SPEED_LOW || - urb->dev->state == USB_STATE_DEFAULT) + urb->dev->state != USB_STATE_CONFIGURED) - qh->skel = uhci->skel_ls_control_qh; + skelqh = uhci->skel_ls_control_qh; else { - qh->skel = uhci->skel_fs_control_qh; + skelqh = uhci->skel_fs_control_qh; diff --git a/usb/usb-usbcore-sets-up-root-hubs-earlier.patch b/usb/usb-usbcore-sets-up-root-hubs-earlier.patch index aa8de1aa0d267..487b93a213bec 100644 --- a/usb/usb-usbcore-sets-up-root-hubs-earlier.patch +++ b/usb/usb-usbcore-sets-up-root-hubs-earlier.patch @@ -69,7 +69,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> dev_err (parent_dev, "can't register root hub for %s, %d\n", usb_dev->dev.bus_id, retval); } -@@ -1770,12 +1766,10 @@ int usb_add_hcd(struct usb_hcd *hcd, +@@ -1772,12 +1768,10 @@ int usb_add_hcd(struct usb_hcd *hcd, set_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); @@ -86,7 +86,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> if ((retval = hcd_buffer_create(hcd)) != 0) { dev_dbg(hcd->self.controller, "pool alloc failed\n"); return retval; -@@ -1784,6 +1778,42 @@ int usb_add_hcd(struct usb_hcd *hcd, +@@ -1786,6 +1780,42 @@ int usb_add_hcd(struct usb_hcd *hcd, if ((retval = usb_register_bus(&hcd->self)) < 0) goto err_register_bus; @@ -129,7 +129,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> if (hcd->driver->irq) { char buf[8], *bufp = buf; -@@ -1815,56 +1845,32 @@ int usb_add_hcd(struct usb_hcd *hcd, +@@ -1817,56 +1847,32 @@ int usb_add_hcd(struct usb_hcd *hcd, (unsigned long long)hcd->rsrc_start); } |