qcacld-3.0: Do netif_rx_ni() for frames received before peer assoc

While processing of frames received before peer is registered in process
context, tcp_v4_rcv() is called which takes a spinlock and in between the
processing before spinlock can be released, it is getting preempted by
hif_napi_poll() as it gets executed in softirq context. It tries to take
the same spinlock in tcp_v4_rcv() resulting in deadlock.
Do netif_rx_ni() for frames received before peer is registered.

Change-Id: I6228984f209bb9312ed9d8f3937d6036918ff750
CRs-Fixed: 2034244
This commit is contained in:
Himanshu Agarwal
2017-07-31 11:38:14 +05:30
committed by snandini
父節點 34bb531121
當前提交 dd2196a8f5
共有 3 個文件被更改,包括 5 次插入3 次删除

查看文件

@@ -4647,7 +4647,7 @@ static inline int ol_txrx_drop_nbuf_list(qdf_nbuf_t buf_list)
buf = buf_list;
while (buf) {
QDF_NBUF_CB_RX_LRO_INELIGIBLE(buf) = 1;
QDF_NBUF_CB_RX_PEER_CACHED_FRM(buf) = 1;
next_buf = qdf_nbuf_queue_next(buf);
if (pdev)
TXRX_STATS_MSDU_INCR(pdev,