patch-2.3.99-pre7 linux/drivers/usb/uhci.c
Next file: linux/drivers/usb/usb-ohci.c
Previous file: linux/drivers/usb/serial/whiteheat.h
Back to the patch index
Back to the overall index
- Lines: 47
- Date:
Mon May 8 15:48:18 2000
- Orig file:
v2.3.99-pre6/linux/drivers/usb/uhci.c
- Orig date:
Wed Apr 26 16:34:08 2000
diff -u --recursive --new-file v2.3.99-pre6/linux/drivers/usb/uhci.c linux/drivers/usb/uhci.c
@@ -1889,7 +1889,7 @@
OK(len);
case 0x03: /* string descriptors */
len = usb_root_hub_string (wValue & 0xff,
- uhci->io_addr, "UHCI",
+ uhci->io_addr, "UHCI-alt",
data, wLength);
if (len > 0) {
OK (min (leni, len));
@@ -1929,9 +1929,10 @@
{
struct uhci *uhci = (struct uhci *)urb->dev->bus->hcpriv;
- uhci->rh.send = 0;
- del_timer(&uhci->rh.rh_int_timer);
-
+ if (uhci->rh.urb == urb) {
+ uhci->rh.send = 0;
+ del_timer(&uhci->rh.rh_int_timer);
+ }
return 0;
}
/*-------------------------------------------------------------------*/
@@ -2182,7 +2183,7 @@
* us a reasonable dynamic range for irq latencies.
*/
for (i = 0; i < 1024; i++) {
- struct uhci_td *irq = &uhci->skel_int2_td;
+ struct uhci_td *irq = &uhci->skel_int1_td;
if (i & 1) {
irq++;
@@ -2357,10 +2358,14 @@
static int handle_pm_event(struct pm_dev *dev, pm_request_t rqst, void *data)
{
+ struct uhci *uhci = dev->data;
switch (rqst) {
case PM_SUSPEND:
+ reset_hc(uhci);
break;
case PM_RESUME:
+ reset_hc(uhci);
+ start_hc(uhci);
break;
}
return 0;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)