From 5e5a76a54c69eff285782a27031c3932465a4f12 Mon Sep 17 00:00:00 2001 From: Mohit Ghuley Date: Tue, 3 Jul 2018 18:12:02 +0530 Subject: [PATCH] [9610] wlbt : Initialization of Newly Introduced cfg80211_roam_info structure from Kernel 4.12.0. From Kernel 4.12.0, a new structure named cfg80211_roam_info has been introduced in CFG. cfg80211_roam_info structure is passed in cfg80211_roamed() API call from Driver. But, While initializing this structure in SLSI Wifi Driver, sta_bss info should not be populated, because the new roamed sta_bss info is retrieved later via cfg80211_get_bss() API call from sme. Change-Id: I65d6cf4de6f67ef055f7051c1e89278a6e11a692 SCSC-Bug-Id:SSB-41479 Signed-off-by: Mohit Ghuley --- drivers/net/wireless/scsc/rx.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/scsc/rx.c b/drivers/net/wireless/scsc/rx.c index 8d436f3405ea..e63f1c465057 100755 --- a/drivers/net/wireless/scsc/rx.c +++ b/drivers/net/wireless/scsc/rx.c @@ -930,8 +930,11 @@ void slsi_rx_roamed_ind(struct slsi_dev *sdev, struct net_device *dev, struct sk SLSI_NET_DBG3(dev, SLSI_MLME, "cfg80211_roamed()\n"); #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)) + /* cfg80211 does not require bss pointer in roam_info. + * If bss pointer is given in roam_info, cfg80211 bss + * data base goes bad and results in random panic. + */ roam_info.channel = ndev_vif->sta.sta_bss->channel; - roam_info.bss = ndev_vif->sta.sta_bss; roam_info.bssid = peer->address; roam_info.req_ie = assoc_ie; roam_info.req_ie_len = assoc_ie_len; -- 2.20.1