Ver código fonte

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 5 anos atrás
pai
commit
e854c377d6
1 arquivos alterados com 1 adições e 1 exclusões
  1. 1 1
      utils/fwlog/dbglog_host.c

+ 1 - 1
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"));