From e854c377d64661970cb9bc25df5677fa6ed582cb Mon Sep 17 00:00:00 2001 From: Yeshwanth Sriram Guntuka Date: Fri, 8 Nov 2019 15:27:59 +0530 Subject: [PATCH] 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 --- utils/fwlog/dbglog_host.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/fwlog/dbglog_host.c b/utils/fwlog/dbglog_host.c index beca7ec391db..1f5c60bfa5da 100644 --- a/utils/fwlog/dbglog_host.c +++ b/utils/fwlog/dbglog_host.c @@ -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"));