rmnet_smux: Fix duplicate packet send
If the high watermark is exceeded, then msm_smux_write() will return
-EAGAIN and then rmnet_xmit() will return NETDEV_TX_BUSY to have the
TCP/IP stack reschedule the packet. In the case where the high
watermark is hit, but not exceeded, then the function improperly returns
NETDEV_TX_BUSY resulting in the packet being sent a second time. Since
the packets are deleted in the write-done notification, the second
transmit will result in either an access-after-delete or a double-delete
crash.
Remove check for high-water mark hit in the transmit function since it
is handled by a high-watermark event from SMUX already.
CRs-Fixed: 403691
Change-Id: Iadf3ac249d3fb8ccb378fc243415acbbfc3a1ff1
Signed-off-by:
Eric Holmberg <eholmber@codeaurora.org>
Loading
Please register or sign in to comment