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 <lking@xxxxxxxxxxxxxxxx> 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html