• Artur Petrosyan's avatar
    usb: dwc2: Clear fifo_map when resetting core. · 238f65ae
    Artur Petrosyan authored
    
    
    Switching from device mode to host mode by disconnecting
    device cable core enters and exits form hibernation.
    However, the fifo map remains not cleared. It results
    to a WARNING (WARNING: CPU: 5 PID: 0 at drivers/usb/dwc2/
    gadget.c:307 dwc2_hsotg_init_fifo+0x12/0x152 [dwc2])
    if in host mode we disconnect the micro a to b host
    cable. Because core reset occurs.
    
    To avoid the WARNING, fifo_map should be cleared
    in dwc2_core_reset() function by taking into account configs.
    fifo_map must be cleared only if driver is configured in
    "CONFIG_USB_DWC2_PERIPHERAL" or "CONFIG_USB_DWC2_DUAL_ROLE"
    mode.
    
    - Added "static inline void dwc2_clear_fifo_map()" helper
    function to clear fifo_map with peripheral or dual role mode.
    
    - Added a dummy version of "dwc2_clear_fifo_map()" helper
    for host-only mode.
    Acked-by: default avatarMinas Harutyunyan <Minas.Harutyunyan@synopsys.com>
    Signed-off-by: default avatarArtur Petrosyan <Arthur.Petrosyan@synopsys.com>
    Link: https://lore.kernel.org/r/20210416124731.C500A...
    238f65ae
core.h 62.4 KB