From 4b07f4beec8e5b4a5d041b7568b6c454dd277404 Mon Sep 17 00:00:00 2001 From: Pankaj Singh Date: Mon, 20 Jan 2020 13:18:30 +0530 Subject: [PATCH] qcacmn: Use active scan request for P2P Device mode During scan request from framework wlan_cfg80211_scan gets invoked. If the cfg80211_scan_request parameter has number of ssids set to zero then driver will set the scan mode to passive mode. This will result in fw doing passive scan instead of active scan. Probe request will not be sent to discover the peer. This will sometimes result in failure to discover P2P GO peer. Set the scan mode to active mode in scan request message to FW. Change-Id: Ic28757cb69ec62e554ac8baccce17cac504a0bef CRs-Fixed: 2606614 --- os_if/linux/scan/src/wlan_cfg80211_scan.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/os_if/linux/scan/src/wlan_cfg80211_scan.c b/os_if/linux/scan/src/wlan_cfg80211_scan.c index a7f66166026e..14c24b124591 100644 --- a/os_if/linux/scan/src/wlan_cfg80211_scan.c +++ b/os_if/linux/scan/src/wlan_cfg80211_scan.c @@ -1295,6 +1295,7 @@ int wlan_cfg80211_scan(struct wlan_objmgr_vdev *vdev, enum wlan_band band; struct net_device *netdev = NULL; QDF_STATUS qdf_status; + enum QDF_OPMODE opmode; uint32_t extra_ie_len = 0; psoc = wlan_pdev_get_psoc(pdev); @@ -1388,8 +1389,9 @@ int wlan_cfg80211_scan(struct wlan_objmgr_vdev *vdev, pssid->ssid); } } + opmode = wlan_vdev_mlme_get_opmode(vdev); if (request->ssids || - (wlan_vdev_mlme_get_opmode(vdev) == QDF_P2P_GO_MODE)) + (opmode == QDF_P2P_GO_MODE) || (opmode == QDF_P2P_DEVICE_MODE)) req->scan_req.scan_f_passive = false; if (params->half_rate)