bitkeeper revision 1.1236.20.1 (422f57e64AxXLq_2TgjJdCVeFgugMg)
authormark@maw48.kings.cam.ac.uk <mark@maw48.kings.cam.ac.uk>
Wed, 9 Mar 2005 20:09:10 +0000 (20:09 +0000)
committermark@maw48.kings.cam.ac.uk <mark@maw48.kings.cam.ac.uk>
Wed, 9 Mar 2005 20:09:10 +0000 (20:09 +0000)
Hopefully fix hotplugging.

linux-2.6.10-xen-sparse/drivers/xen/usbback/usbback.c
linux-2.6.10-xen-sparse/drivers/xen/usbfront/usbfront.c

index fc98ac18a756c797569235cfd55dffcf4d98bfe4..d20833616e423499d8b8303558a7c710b8f1005b 100644 (file)
@@ -725,7 +725,7 @@ static void dispatch_usb_io(usbif_priv_t *up, usbif_request_t *req)
     purb->dev = port->dev;
     purb->context = pending_req;
     purb->transfer_buffer =
-        (void *)MMAP_VADDR(pending_idx, 0) + (buffer_mach & ~PAGE_MASK);
+        (void *)(MMAP_VADDR(pending_idx, 0) + offset_in_page(buffer_mach));
     if(buffer_mach == 0)
       purb->transfer_buffer = NULL;
     purb->complete = __end_usb_io_op;
index 5fe65a7cbab66ad188df6edac8dcbd6090e0b273..46cca3058afed462943b1e99dd655094deb198e1 100644 (file)
@@ -331,6 +331,9 @@ static int xhci_port_reset(usbif_vdev_t port)
                 xhci_drain_ring();
         }
 
+       xhci->rh.ports[port].pe = 1;
+       xhci->rh.ports[port].pe_chg = 1;
+
         return xhci->awaiting_reset;
 }