The current wcn36xx driver didn't handle rx skb allocation failure case.
It only could be triggered when system is in extremly memory shortage
case. King Lawrence <lk...@qti.qualcomm.com> hit it by git clone linux
kernel tree on DragonBoard <1>.

The fixing is not to submit the old rx skb to network upper layer and 
reuse it as rx DMA buffer again.

Changes from v2:
 * Remove the ugly macro introduced in v2 per comment from Julian Calaby.
 * Seperate the DMA int mask register writing as one patch per comment
   from Bjorn Andersson.

Changes from v1:
 * Move switch block out of while loop.
 * Remove the warning of unknown channel because we didn't deal with it.

Fengwei Yin (2):
  wcn36xx: handle rx skb allocation failure to avoid system crash
  wcn36xx: split DMA mask register writing.

 drivers/net/wireless/ath/wcn36xx/dxe.c | 43 +++++++++++++++++-----------------
 1 file changed, 22 insertions(+), 21 deletions(-)

-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to