msm: rndis_ipa: prevent a deadlock in suspend/resume scenario
Due to changes in IPA_RM, a deadlock is encountered in a suspend/resume
scenario. Replacing netif_wake_queue() with netif_start_queue() in the RM
notification callback fixes the problem.
The problem with netif_wake_queue() is that it starts to transmit packets
immediately, using the current context, which belongs to IPA_RM. In the Tx
function, the network driver calls another IPA_RM API which causes a
deadlock. Using netif_start_queue() will only flag the netdev as able to
transmit. The network stack will start transmitting packets later, from
it's own context.
Change-Id: I63f9351391a626c735dd19a4456dd963360f097c
Signed-off-by:
Gidon Studinski <gidons@codeaurora.org>
Loading
Please register or sign in to comment