mirror of https://gitee.com/openkylin/linux.git
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: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
589c667d8a
commit
086620978b
|
@ -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");
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue