mirror of
https://github.com/torvalds/linux.git
synced 2026-05-12 16:18:45 +02:00
usb: xhci: move initialization for lifetime objects
Initialize objects that exist for the lifetime of the driver only once, rather than repeatedly. These objects do not require re-initialization after events such as S4 (suspend-to-disk). Signed-off-by: Niklas Neronin <niklas.neronin@linux.intel.com> Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Link: https://patch.msgid.link/20260402131342.2628648-10-mathias.nyman@linux.intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
e4573f4937
commit
45484754a0
|
|
@ -2009,7 +2009,6 @@ void xhci_mem_cleanup(struct xhci_hcd *xhci)
|
|||
xhci->port_caps = NULL;
|
||||
xhci->interrupters = NULL;
|
||||
|
||||
xhci->page_size = 0;
|
||||
xhci->usb2_rhub.bus_state.bus_suspended = 0;
|
||||
xhci->usb3_rhub.bus_state.bus_suspended = 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -549,13 +549,6 @@ static int xhci_init(struct usb_hcd *hcd)
|
|||
int retval;
|
||||
|
||||
xhci_dbg_trace(xhci, trace_xhci_dbg_init, "Starting %s", __func__);
|
||||
spin_lock_init(&xhci->lock);
|
||||
|
||||
INIT_LIST_HEAD(&xhci->cmd_list);
|
||||
INIT_DELAYED_WORK(&xhci->cmd_timer, xhci_handle_command_timeout);
|
||||
init_completion(&xhci->cmd_ring_stop_completion);
|
||||
xhci_hcd_page_size(xhci);
|
||||
memset(xhci->devs, 0, MAX_HC_SLOTS * sizeof(*xhci->devs));
|
||||
|
||||
retval = xhci_mem_init(xhci, GFP_KERNEL);
|
||||
if (retval)
|
||||
|
|
@ -5532,6 +5525,14 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks)
|
|||
dma_set_coherent_mask(dev, DMA_BIT_MASK(32));
|
||||
}
|
||||
|
||||
spin_lock_init(&xhci->lock);
|
||||
INIT_LIST_HEAD(&xhci->cmd_list);
|
||||
INIT_DELAYED_WORK(&xhci->cmd_timer, xhci_handle_command_timeout);
|
||||
init_completion(&xhci->cmd_ring_stop_completion);
|
||||
xhci_hcd_page_size(xhci);
|
||||
|
||||
memset(xhci->devs, 0, MAX_HC_SLOTS * sizeof(*xhci->devs));
|
||||
|
||||
xhci_dbg(xhci, "Calling HCD init\n");
|
||||
/* Initialize HCD and host controller data structures. */
|
||||
retval = xhci_init(hcd);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user