• S
    USB: xhci: Respect critical sections. · f88ba78d
    Sarah Sharp 提交于
    Narrow down time spent holding the xHCI spinlock so that it's only used to
    protect the xHCI rings, not as mutual exclusion.  Stop allocating memory
    while holding the spinlock and calling xhci_alloc_virt_device() and
    xhci_endpoint_init().
    
    The USB core should have locking in it to prevent device state to be
    manipulated by more than one kernel thread.  E.g. you can't free a device
    while you're in the middle of setting a new configuration.  So removing
    the locks from the sections where xhci_alloc_dev() and
    xhci_reset_bandwidth() touch xHCI's representation of the device should be
    OK.
    Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
    Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
    f88ba78d
xhci.h 39.2 KB