qcacmn: Use GFP_ATOMIC flag for skb alloc for diag data

Diag event processing is stuck due to skb allocation failure.
SKb allocation is done using flag GFP_KERNEL which results
in the kworker thread to sleep and results in wmi workqueue
timer to expire.

Fix is to use GFP_ATOMIC flag for skb allocation for
diag data.

Change-Id: Ifa715df89ae06b17d4dc1506ea4f3c4e2af31f33
CRs-Fixed: 2559679
このコミットが含まれているのは:
Yeshwanth Sriram Guntuka
2019-11-08 15:27:59 +05:30
committed by nshrivas
コミット e854c377d6

ファイルの表示

@@ -1740,7 +1740,7 @@ send_diag_netlink_data(const uint8_t *buffer, uint32_t len, uint32_t cmd)
slot_len = sizeof(*slot) + ATH6KL_FWLOG_PAYLOAD_SIZE +
sizeof(radio);
skb_out = nlmsg_new(slot_len, GFP_KERNEL);
skb_out = nlmsg_new(slot_len, GFP_ATOMIC);
if (!skb_out) {
AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
("Failed to allocate new skb\n"));