You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
if (dev->port_usb && dev->port_usb->is_suspend) {
DBG(dev, "Port suspended. Triggering wakeup\n");
netif_stop_queue(net);
spin_unlock_irqrestore(&dev->lock, flags);
/*
if failed to wake up host here, port_usb will always be suspending
net core will put all packets in queue
but will never be sent since port_usb is suspending
*/
ether_wakeup_host(dev->port_usb);
return NETDEV_TX_BUSY;
}
according to function 'gether_suspend' in u_ether.c
i think we should handle failure when wakeup host in 'eth_start_xmit' too
may be like this:
if (dev->port_usb && dev->port_usb->is_suspend) {
DBG(dev, "Port suspended. Triggering wakeup\n");
if (!ether_wakeup_host(dev->port_usb)) {
netif_stop_queue(net);
spin_unlock_irqrestore(&dev->lock, flags);
return NETDEV_TX_BUSY;
}
}
Describe the bug
file: drivers/usb/gadget/function/u_ether.c
function: eth_start_xmit
according to function 'gether_suspend' in u_ether.c
i think we should handle failure when wakeup host in 'eth_start_xmit' too
may be like this:
Steps to reproduce the behaviour
Device (s)
Raspberry Pi CM5
System
Linux raspberrypi 6.12.25
Logs
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: