[lkml]   [2012]   [Apr]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[ 52/75] xhci: Restore event ring dequeue pointer on resume.
    3.3-stable review patch.  If anyone has any objections, please let me know.


    From: Sarah Sharp <>

    commit fb3d85bc7193f23c9a564502df95564c49a32c91 upstream.

    The xhci_save_registers() function saved the event ring dequeue pointer
    in the s3 register structure, but xhci_restore_registers() never
    restored it. No other code in the xHCI successful resume path would
    ever restore it either. Fix that.

    This should be backported to kernels as old as 2.6.37, that contain the
    commit 5535b1d5f8885695c6ded783c692e3c0d0eda8ca "USB: xHCI: PCI power
    management implementation".

    Signed-off-by: Sarah Sharp <>
    Tested-by: Elric Fu <>
    Cc: Andiry Xu <>
    Signed-off-by: Greg Kroah-Hartman <>

    drivers/usb/host/xhci.c | 1 +
    1 file changed, 1 insertion(+)

    --- a/drivers/usb/host/xhci.c
    +++ b/drivers/usb/host/xhci.c
    @@ -681,6 +681,7 @@ static void xhci_restore_registers(struc
    xhci_writel(xhci, xhci->s3.irq_control, &xhci->ir_set->irq_control);
    xhci_writel(xhci, xhci->s3.erst_size, &xhci->ir_set->erst_size);
    xhci_write_64(xhci, xhci->s3.erst_base, &xhci->ir_set->erst_base);
    + xhci_write_64(xhci, xhci->s3.erst_dequeue, &xhci->ir_set->erst_dequeue);

    static void xhci_set_cmd_ring_deq(struct xhci_hcd *xhci)

     \ /
      Last update: 2012-04-19 23:13    [W:0.023 / U:5.332 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site