• Douglas Anderson's avatar
    usb: dwc2: host: Add missing spinlock in dwc2_hcd_reset_func() · 4a065c7b
    Douglas Anderson authored
    The dwc2_hcd_reset_func() function is only ever called directly by a
    delayed work function.  As such no locks are already held when the
    function is called.
    
    Doing a read-modify-write of CPU registers and setting fields in the
    main hsotg data structure is a bad idea without locks.  Let's add
    locks.
    
    The bug was found by code inspection only.  It turns out that the
    dwc2_hcd_reset_func() is only ever called today if the
    "host_support_fs_ls_low_power" parameter is enabled and no code in
    mainline enables that parameter.  Thus no known issues in mainline are
    fixed by this patch, but it's still probably wise to fix the function.
    Signed-off-by: default avatarDouglas Anderson <dianders@chromium.org>
    Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
    4a065c7b
hcd.c 92 KB