rmnet_smux: Wake netif queue after low-watermark notification

Currently, RMNET will restart the TX queue after receiving a
low-watermark notification from SMUX.  This just clears the XOFF bit,
but does not reschedule the TX thread in the Linux TCP/IP stack.  This
means that the next TX operation will not take place until the thread is
scheduled by some other means which may take up to 5 seconds.

Instead, wake the queue which clears the XOFF bit and schedules the TX
thread to allow transmission to continue immediately.

(cherry picked from commit 4d8fb2ecb3a9cdab3e9d605280256c6b46773dd0)
CRs-Fixed: 412758
Signed-off-by: Eric Holmberg <eholmber@codeaurora.org>

Change-Id: I1f169547f3ff518baada632d5a3f766b5795c697
Signed-off-by: Neha Pandey <nehap@codeaurora.org>
This commit is contained in:
Eric Holmberg 2012-10-19 18:24:49 -06:00 committed by Stephen Boyd
parent 834dc00ef1
commit a1463d9af3
1 changed files with 1 additions and 1 deletions

View File

@ -482,7 +482,7 @@ void rmnet_smux_notify(void *priv, int event_type, const void *metadata)
p = netdev_priv(priv);
DBG0("[%s] Low WM hit dev:%s\n", __func__, dev->name);
spin_lock_irqsave(&p->tx_queue_lock, flags);
netif_start_queue(dev);
netif_wake_queue(dev);
spin_unlock_irqrestore(&p->tx_queue_lock, flags);
break;