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
This commit is contained in:
Abhishek Ambure 2021-06-25 21:16:29 +05:30 • committed by Madan Koyyalamudi
commit 1ba600b163

View file

@ -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