From 1ba600b16305bcc82a705342a8d87676f00dfb75 Mon Sep 17 00:00:00 2001 From: Abhishek Ambure Date: Fri, 25 Jun 2021 21:16:29 +0530 Subject: [PATCH] qcacld-3.0: Update GFP flag in nl vendor event for CFR data Host use GFP_KERNEL flag in cfg80211_vendor_event() to send CFR data via NL event to userspace. Host gets CFR data from FW and processes it in soft_irq context. To avoid host sleep in soft_irq context, call cfg80211_vendor_event() with GFP_ATOMIC flag. Change-Id: I9ab5451eb2650fe177638d0bb3974a9c933a1cf9 CRs-Fixed: 2978140 --- core/hdd/src/wlan_hdd_cfg80211.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c index 058ad5da9195..8d9b50164b35 100644 --- a/core/hdd/src/wlan_hdd_cfg80211.c +++ b/core/hdd/src/wlan_hdd_cfg80211.c @@ -6743,6 +6743,7 @@ void hdd_cfr_data_send_nl_event(uint8_t vdev_id, uint32_t pid, return; } + hdd_debug("vdev id %d pid %d data len %d", vdev_id, pid, data_len); len = nla_total_size(data_len) + NLMSG_HDRLEN; vendor_event = cfg80211_vendor_event_alloc( hdd_ctx->wiphy, &adapter->wdev, len, @@ -6772,8 +6773,7 @@ void hdd_cfr_data_send_nl_event(uint8_t vdev_id, uint32_t pid, hdd_err_rl("nlhdr is null"); } - hdd_debug("vdev id %d pid %d", vdev_id, pid); - cfg80211_vendor_event(vendor_event, GFP_KERNEL); + cfg80211_vendor_event(vendor_event, GFP_ATOMIC); } #endif