Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 08662097 authored by Chaehyun Lim's avatar Chaehyun Lim Committed by Greg Kroah-Hartman
Browse files

staging: wilc1000: use mutex instead of struct semaphore hSemScanReq



This patch replaces struct semaphore hSemScanReq with struct mutex
scan_req_lock. It is better to use mutex than semaphore.

Signed-off-by: default avatarChaehyun Lim <chaehyun.lim@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 589c667d
Loading
Loading
Loading
Loading
+5 −5
Original line number Original line Diff line number Diff line
@@ -451,7 +451,7 @@ static void CfgScanResult(enum scan_event scan_event,
		} else if (scan_event == SCAN_EVENT_DONE) {
		} else if (scan_event == SCAN_EVENT_DONE) {
			refresh_scan(priv, 1, false);
			refresh_scan(priv, 1, false);


			down(&(priv->hSemScanReq));
			mutex_lock(&priv->scan_req_lock);


			if (priv->pstrScanReq) {
			if (priv->pstrScanReq) {
				cfg80211_scan_done(priv->pstrScanReq, false);
				cfg80211_scan_done(priv->pstrScanReq, false);
@@ -459,9 +459,9 @@ static void CfgScanResult(enum scan_event scan_event,
				priv->bCfgScanning = false;
				priv->bCfgScanning = false;
				priv->pstrScanReq = NULL;
				priv->pstrScanReq = NULL;
			}
			}
			up(&(priv->hSemScanReq));
			mutex_unlock(&priv->scan_req_lock);
		} else if (scan_event == SCAN_EVENT_ABORTED) {
		} else if (scan_event == SCAN_EVENT_ABORTED) {
			down(&(priv->hSemScanReq));
			mutex_lock(&priv->scan_req_lock);


			if (priv->pstrScanReq) {
			if (priv->pstrScanReq) {
				update_scan_time();
				update_scan_time();
@@ -471,7 +471,7 @@ static void CfgScanResult(enum scan_event scan_event,
				priv->bCfgScanning = false;
				priv->bCfgScanning = false;
				priv->pstrScanReq = NULL;
				priv->pstrScanReq = NULL;
			}
			}
			up(&(priv->hSemScanReq));
			mutex_unlock(&priv->scan_req_lock);
		}
		}
	}
	}
}
}
@@ -2307,7 +2307,7 @@ int wilc_init_host_int(struct net_device *net)


	priv->bInP2PlistenState = false;
	priv->bInP2PlistenState = false;


	sema_init(&(priv->hSemScanReq), 1);
	mutex_init(&priv->scan_req_lock);
	s32Error = wilc_init(net, &priv->hif_drv);
	s32Error = wilc_init(net, &priv->hif_drv);
	if (s32Error)
	if (s32Error)
		netdev_err(net, "Error while initializing hostinterface\n");
		netdev_err(net, "Error while initializing hostinterface\n");
+1 −1
Original line number Original line Diff line number Diff line
@@ -130,7 +130,7 @@ struct wilc_priv {
	struct wilc_wfi_key *wilc_ptk[MAX_NUM_STA];
	struct wilc_wfi_key *wilc_ptk[MAX_NUM_STA];
	u8 wilc_groupkey;
	u8 wilc_groupkey;
	/* semaphores */
	/* semaphores */
	struct semaphore hSemScanReq;
	struct mutex scan_req_lock;
	/*  */
	/*  */
	bool gbAutoRateAdjusted;
	bool gbAutoRateAdjusted;