staging: wilc1000: use mutex instead of semaphore sem_cfg_values
authorChaehyun Lim <chaehyun.lim@gmail.com>
Tue, 8 Mar 2016 01:04:32 +0000 (10:04 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 12 Mar 2016 06:09:09 +0000 (22:09 -0800)
This patch replaces struct semaphore sem_cfg_values with struct mutex
cfg_values_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>
drivers/staging/wilc1000/host_interface.c
drivers/staging/wilc1000/host_interface.h

index 854b674..0a922c7 100644 (file)
@@ -443,7 +443,7 @@ static s32 handle_cfg_param(struct wilc_vif *vif,
        struct host_if_drv *hif_drv = vif->hif_drv;
        int i = 0;
 
-       down(&hif_drv->sem_cfg_values);
+       mutex_lock(&hif_drv->cfg_values_lock);
 
        if (cfg_param_attr->flag & BSS_TYPE) {
                if (cfg_param_attr->bss_type < 6) {
@@ -725,7 +725,7 @@ static s32 handle_cfg_param(struct wilc_vif *vif,
                netdev_err(vif->ndev, "Error in setting CFG params\n");
 
 ERRORHANDLER:
-       up(&hif_drv->sem_cfg_values);
+       mutex_unlock(&hif_drv->cfg_values_lock);
        return result;
 }
 
@@ -3434,8 +3434,8 @@ int wilc_init(struct net_device *dev, struct host_if_drv **hif_drv_handler)
        setup_timer(&hif_drv->connect_timer, TimerCB_Connect, 0);
        setup_timer(&hif_drv->remain_on_ch_timer, ListenTimerCB, 0);
 
-       sema_init(&hif_drv->sem_cfg_values, 1);
-       down(&hif_drv->sem_cfg_values);
+       mutex_init(&hif_drv->cfg_values_lock);
+       mutex_lock(&hif_drv->cfg_values_lock);
 
        hif_drv->hif_state = HOST_IF_IDLE;
        hif_drv->cfg_values.site_survey_enabled = SITE_SURVEY_OFF;
@@ -3446,7 +3446,7 @@ int wilc_init(struct net_device *dev, struct host_if_drv **hif_drv_handler)
 
        hif_drv->p2p_timeout = 0;
 
-       up(&hif_drv->sem_cfg_values);
+       mutex_unlock(&hif_drv->cfg_values_lock);
 
        clients_count++;
 
index 795c18c..01f3222 100644 (file)
@@ -274,7 +274,7 @@ struct host_if_drv {
        u8 assoc_bssid[ETH_ALEN];
        struct cfg_param_attr cfg_values;
 
-       struct semaphore sem_cfg_values;
+       struct mutex cfg_values_lock;
        struct semaphore sem_test_key_block;
        struct semaphore sem_test_disconn_block;
        struct semaphore sem_get_rssi;