Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b61b5a61 authored by Vevek Venkatesan's avatar Vevek Venkatesan Committed by Gerrit - the friendly Code Review server
Browse files

qcacld-3.0: drop the Tx pkt if device is in system suspend

During suspend if the netif queue pause failed for some reason,
network stack may send the pkt for hard_start_xmit and will
crash due to device is in suspend state, so adding a check to
drop the pkt if device was already in system suspended.

Change-Id: I5b8f5511157f10e28297be4366fafe6e683c392b
CRs-Fixed: 2880892
parent d307f3e3
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -582,6 +582,11 @@ static void __hdd_softap_hard_start_xmit(struct sk_buff *skb,
		goto drop_pkt;
	}

	if (hdd_ctx->hdd_wlan_suspended) {
		hdd_err_rl("Device is system suspended, drop pkt");
		goto drop_pkt;
	}

	/*
	 * If the device is operating on a DFS Channel
	 * then check if SAP is in CAC WAIT state and
+5 −0
Original line number Diff line number Diff line
@@ -1061,6 +1061,11 @@ static void __hdd_hard_start_xmit(struct sk_buff *skb,
	if (wlan_hdd_validate_context(hdd_ctx))
		goto drop_pkt;

	if (hdd_ctx->hdd_wlan_suspended) {
		hdd_err_rl("Device is system suspended, drop pkt");
		goto drop_pkt;
	}

	wlan_hdd_classify_pkt(skb);
	if (QDF_NBUF_CB_GET_PACKET_TYPE(skb) == QDF_NBUF_CB_PACKET_TYPE_ARP) {
		if (qdf_nbuf_data_is_arp_req(skb) &&