aboutsummaryrefslogtreecommitdiff
path: root/drivers/usb/cdns3/cdns3-debug.h
diff options
context:
space:
mode:
authorYan Wang <[email protected]>2023-04-19 22:13:46 +0800
committerDavid S. Miller <[email protected]>2023-04-21 11:44:35 +0100
commit35226750f7ab9d49140d95bc7d38a2a9b0f4fdfc (patch)
treea89616953b7484b27e3f2f1f90075e78ac20e4a0 /drivers/usb/cdns3/cdns3-debug.h
parentd8bb382419230cf626a527eeb55efae0c56039fb (diff)
net: stmmac:fix system hang when setting up tag_8021q VLAN for DSA ports
The system hang because of dsa_tag_8021q_port_setup()-> stmmac_vlan_rx_add_vid(). I found in stmmac_drv_probe() that cailing pm_runtime_put() disabled the clock. First, when the kernel is compiled with CONFIG_PM=y,The stmmac's resume/suspend is active. Secondly,stmmac as DSA master,the dsa_tag_8021q_port_setup() function will callback stmmac_vlan_rx_add_vid when DSA dirver starts. However, The system is hanged for the stmmac_vlan_rx_add_vid() accesses its registers after stmmac's clock is closed. I would suggest adding the pm_runtime_resume_and_get() to the stmmac_vlan_rx_add_vid().This guarantees that resuming clock output while in use. Fixes: b3dcb3127786 ("net: stmmac: correct clocks enabled in stmmac_vlan_rx_kill_vid()") Reviewed-by: Jacob Keller <[email protected]> Signed-off-by: Yan Wang <[email protected]> Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'drivers/usb/cdns3/cdns3-debug.h')
0 files changed, 0 insertions, 0 deletions