ath10k: unify rx processing in napi_poll
authorRajkumar Manoharan <rmanohar@qti.qualcomm.com>
Thu, 7 Dec 2017 14:58:05 +0000 (16:58 +0200)
committerKalle Valo <kvalo@qca.qualcomm.com>
Thu, 14 Dec 2017 15:20:28 +0000 (17:20 +0200)
commitdeba1b9ea63f6794569d48657001ed78777d0dc7
treeff9687e16026e043d8c37454fcae3ceb37749e96
parent07ffb4497360ae8789f05555fec8171ee952304d
ath10k: unify rx processing in napi_poll

With current NAPI implementation, NAPI poll can deliver more frames
to net core than allotted budget. This may cause warning in napi_poll.
Remaining quota is not accounted, while processing amsdus in
rx_in_ord_ind and rx_ind queue. Adding num_msdus at last can not
prevent delivering more frames to net core. With this change,
all amdus from both in_ord_ind and rx_ind queues are processed and
enqueued into common skb list instead of delivering into mac80211.
Later msdus from common queue are dequeued and delivered depends on
quota availability. This change also simplifies the rx processing in
napi poll routine.

Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath10k/core.h
drivers/net/wireless/ath/ath10k/htt.h
drivers/net/wireless/ath/ath10k/htt_rx.c