staging: wilc1000: validate input to set_wiphy_param and return proper errors
v2 cover staging: wilc1000: validate input to set_wiphy_param and return proper errors
From: Adham Abozaeid <[email protected]>
Validate input parameters to set_wiphy_param before scheduling handle_cfg_param() to validate them.
This way proper errors can be returned to caller. Also cleaned up unused code in handle_cfg_param.
Changes since v1:
- Correction spelling in subject of patch#2
- Added From: tag to have correct email from value
Adham Abozaeid (4):
staging: wilc1000: remove unused flags in handle_cfg_param()
staging: wilc1000: validate cfg parameters before scheduling the work
staging: wilc1000: Don't keep a copy of wiphy parameters in the driver
staging: wilc1000: Remove unused mutex cfg_values_lock
drivers/staging/wilc1000/host_interface.c | 291 +----------------- drivers/staging/wilc1000/host_interface.h | 32 -- .../staging/wilc1000/wilc_wfi_cfgoperations.c | 50 ++- drivers/staging/wilc1000/wilc_wlan_if.h | 9 - 4 files changed, 58 insertions(+), 324 deletions(-) mode change 100644 => 100755 drivers/staging/wilc1000/host_interface.c mode change 100644 => 100755 drivers/staging/wilc1000/host_interface.h mode change 100644 => 100755 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c mode change 100644 => 100755 drivers/staging/wilc1000/wilc_wlan_if.h
Signature · 1 line
2.17.1
PATCH v2 1/4 staging: wilc1000: remove unused flags in handle_cfg_param()
From: Adham Abozaeid <[email protected]>
handle_cfg_param() receives a bit map that describes what to be changed. Some of these bits flags aren't referred to from elsewhere and can be removed.
--- drivers/staging/wilc1000/host_interface.c | 216 ---------------------- drivers/staging/wilc1000/host_interface.h | 29 --- drivers/staging/wilc1000/wilc_wlan_if.h | 9 - 3 files changed, 254 deletions(-) mode change 100644 => 100755 drivers/staging/wilc1000/host_interface.c mode change 100644 => 100755 drivers/staging/wilc1000/host_interface.h mode change 100644 => 100755 drivers/staging/wilc1000/wilc_wlan_if.h
drivers/staging/wilc1000/host_interface.c +0 -216
@@ -374,64 +374,6 @@ static void handle_cfg_param(struct work_struct *work)mutex_lock (&hif_drv->cfg_values_lock); -if (param->flag &BSS_TYPE ) { -u8 bss_type = param->bss_type; - -if (bss_type <6 ) { - wid_list[i].id =WID_BSS_TYPE ; - wid_list[i].val = (s8 *)¶m->bss_type; - wid_list[i].type =WID_CHAR ; - wid_list[i].size =sizeof (char ); - hif_drv->cfg_values.bss_type = bss_type; - }else { -netdev_err (vif->ndev,"check value 6 over\n" ); - goto unlock; - } - i++; - } -if (param->flag &AUTH_TYPE ) { -u8 auth_type = param->auth_type; - -if (auth_type ==1 || auth_type ==2 || auth_type ==5 ) { - wid_list[i].id =WID_AUTH_TYPE ; - wid_list[i].val = (s8 *)¶m->auth_type; - wid_list[i].type =WID_CHAR ; - wid_list[i].size =sizeof (char ); - hif_drv->cfg_values.auth_type = auth_type; - }else { -netdev_err (vif->ndev,"Impossible value\n" ); - goto unlock; - } - i++; - } -if (param->flag &AUTHEN_TIMEOUT ) { -if (param->auth_timeout >0 ) { - wid_list[i].id =WID_AUTH_TIMEOUT ; - wid_list[i].val = (s8 *)¶m->auth_timeout; - wid_list[i].type =WID_SHORT ; - wid_list[i].size =sizeof (u16); - hif_drv->cfg_values.auth_timeout = param->auth_timeout; - }else { -netdev_err (vif->ndev,"Range(1 ~ 65535) over\n" ); - goto unlock; - } - i++; - } -if (param->flag &POWER_MANAGEMENT ) { -u8 pm_mode = param->power_mgmt_mode; - -if (pm_mode <5 ) { - wid_list[i].id =WID_POWER_MANAGEMENT ; - wid_list[i].val = (s8 *)¶m->power_mgmt_mode; - wid_list[i].type =WID_CHAR ; - wid_list[i].size =sizeof (char ); - hif_drv->cfg_values.power_mgmt_mode = pm_mode; - }else { -netdev_err (vif->ndev,"Invalid power mode\n" ); - goto unlock; - } - i++; - }if (param->flag &RETRY_SHORT ) {u16 retry_limit = param->short_retry_limit;
@@ -492,160 +434,6 @@ static void handle_cfg_param(struct work_struct *work) } i++; } -if (param->flag &PREAMBLE ) { -u16 preamble_type = param->preamble_type; - -if (param->preamble_type <3 ) { - wid_list[i].id =WID_PREAMBLE ; - wid_list[i].val = (s8 *)¶m->preamble_type; - wid_list[i].type =WID_CHAR ; - wid_list[i].size =sizeof (char ); - hif_drv->cfg_values.preamble_type = preamble_type; - }else { -netdev_err (vif->ndev,"Preamble Range(0~2) over\n" ); - goto unlock; - } - i++; - } -if (param->flag &SHORT_SLOT_ALLOWED ) { -u8 slot_allowed = param->short_slot_allowed; - -if (slot_allowed <2 ) { - wid_list[i].id =WID_SHORT_SLOT_ALLOWED ; - wid_list[i].val = (s8 *)¶m->short_slot_allowed; - wid_list[i].type =WID_CHAR ; - wid_list[i].size =sizeof (char ); - hif_drv->cfg_values.short_slot_allowed = slot_allowed; - }else { -netdev_err (vif->ndev,"Short slot(2) over\n" ); - goto unlock; - } - i++; - } -if (param->flag &TXOP_PROT_DISABLE ) { -u8 prot_disabled = param->txop_prot_disabled; - -if (param->txop_prot_disabled <2 ) { - wid_list[i].id =WID_11N_TXOP_PROT_DISABLE ; - wid_list[i].val = (s8 *)¶m->txop_prot_disabled; - wid_list[i].type =WID_CHAR ; - wid_list[i].size =sizeof (char ); - hif_drv->cfg_values.txop_prot_disabled = prot_disabled; - }else { -netdev_err (vif->ndev,"TXOP prot disable\n" ); - goto unlock; - } - i++; - } -if (param->flag &BEACON_INTERVAL ) { -u16 beacon_interval = param->beacon_interval; - -if (beacon_interval >0 ) { - wid_list[i].id =WID_BEACON_INTERVAL ; - wid_list[i].val = (s8 *)¶m->beacon_interval; - wid_list[i].type =WID_SHORT ; - wid_list[i].size =sizeof (u16); - hif_drv->cfg_values.beacon_interval = beacon_interval; - }else { -netdev_err (vif->ndev,"Beacon interval(1~65535)fail\n" ); - goto unlock; - } - i++; - } -if (param->flag &DTIM_PERIOD ) { -if (param->dtim_period >0 && param->dtim_period <256 ) { - wid_list[i].id =WID_DTIM_PERIOD ; - wid_list[i].val = (s8 *)¶m->dtim_period; - wid_list[i].type =WID_CHAR ; - wid_list[i].size =sizeof (char ); - hif_drv->cfg_values.dtim_period = param->dtim_period; - }else { -netdev_err (vif->ndev,"DTIM range(1~255) fail\n" ); - goto unlock; - } - i++; - } -if (param->flag &SITE_SURVEY ) { -enum site_survey enabled = param->site_survey_enabled; - -if (enabled <3 ) { - wid_list[i].id =WID_SITE_SURVEY ; - wid_list[i].val = (s8 *)¶m->site_survey_enabled; - wid_list[i].type =WID_CHAR ; - wid_list[i].size =sizeof (char ); - hif_drv->cfg_values.site_survey_enabled = enabled; - }else { -netdev_err (vif->ndev,"Site survey disable\n" ); - goto unlock; - } - i++; - } -if (param->flag &SITE_SURVEY_SCAN_TIME ) { -u16 scan_time = param->site_survey_scan_time; - -if (scan_time >0 ) { - wid_list[i].id =WID_SITE_SURVEY_SCAN_TIME ; - wid_list[i].val = (s8 *)¶m->site_survey_scan_time; - wid_list[i].type =WID_SHORT ; - wid_list[i].size =sizeof (u16); - hif_drv->cfg_values.site_survey_scan_time = scan_time; - }else { -netdev_err (vif->ndev,"Site scan time(1~65535) over\n" ); - goto unlock; - } - i++; - } -if (param->flag &ACTIVE_SCANTIME ) { -u16 active_scan_time = param->active_scan_time; - -if (active_scan_time >0 ) { - wid_list[i].id =WID_ACTIVE_SCAN_TIME ; - wid_list[i].val = (s8 *)¶m->active_scan_time; - wid_list[i].type =WID_SHORT ; - wid_list[i].size =sizeof (u16); - hif_drv->cfg_values.active_scan_time = active_scan_time; - }else { -netdev_err (vif->ndev,"Active time(1~65535) over\n" ); - goto unlock; - } - i++; - } -if (param->flag &PASSIVE_SCANTIME ) { -u16 time = param->passive_scan_time; - -if (time >0 ) { - wid_list[i].id =WID_PASSIVE_SCAN_TIME ; - wid_list[i].val = (s8 *)¶m->passive_scan_time; - wid_list[i].type =WID_SHORT ; - wid_list[i].size =sizeof (u16); - hif_drv->cfg_values.passive_scan_time = time; - }else { -netdev_err (vif->ndev,"Passive time(1~65535) over\n" ); - goto unlock; - } - i++; - } -if (param->flag &CURRENT_TX_RATE ) { -enum current_tx_rate curr_tx_rate = param->curr_tx_rate; - -if (curr_tx_rate ==AUTORATE || curr_tx_rate ==MBPS_1 || - curr_tx_rate ==MBPS_2 || curr_tx_rate ==MBPS_5_5 || - curr_tx_rate ==MBPS_11 || curr_tx_rate ==MBPS_6 || - curr_tx_rate ==MBPS_9 || curr_tx_rate ==MBPS_12 || - curr_tx_rate ==MBPS_18 || curr_tx_rate ==MBPS_24 || - curr_tx_rate ==MBPS_36 || curr_tx_rate ==MBPS_48 || - curr_tx_rate ==MBPS_54 ) { - wid_list[i].id =WID_CURRENT_TX_RATE ; - wid_list[i].val = (s8 *)&curr_tx_rate; - wid_list[i].type =WID_SHORT ; - wid_list[i].size =sizeof (u16); - hif_drv->cfg_values.curr_tx_rate = (u8 )curr_tx_rate; - }else { -netdev_err (vif->ndev,"out of TX rate\n" ); - goto unlock; - } - i++; - } ret =wilc_send_config_pkt (vif,SET_CFG , wid_list, i,wilc_get_vif_idx (vif));
@@ -3372,11 +3160,7 @@ int wilc_init(struct net_device *dev, struct host_if_drv **hif_drv_handler)mutex_lock (&hif_drv->cfg_values_lock); hif_drv->hif_state =HOST_IF_IDLE ; - hif_drv->cfg_values.site_survey_enabled =SITE_SURVEY_OFF ; hif_drv->cfg_values.scan_source =DEFAULT_SCAN ; - hif_drv->cfg_values.active_scan_time =ACTIVE_SCAN_TIME ; - hif_drv->cfg_values.passive_scan_time =PASSIVE_SCAN_TIME ; - hif_drv->cfg_values.curr_tx_rate =AUTORATE ; hif_drv->p2p_timeout =0 ;
drivers/staging/wilc1000/host_interface.h +0 -29
@@ -103,26 +103,11 @@ enum current_tx_rate {struct cfg_param_attr {u32 flag;u8 ht_enable; -u8 bss_type; -u8 auth_type; -u16 auth_timeout; -u8 power_mgmt_mode;u16 short_retry_limit;u16 long_retry_limit;u16 frag_threshold;u16 rts_threshold; -u16 preamble_type; -u8 short_slot_allowed; -u8 txop_prot_disabled; -u16 beacon_interval; -u16 dtim_period; -enum site_survey site_survey_enabled; -u16 site_survey_scan_time;u8 scan_source; -u16 active_scan_time; -u16 passive_scan_time; -enum current_tx_rate curr_tx_rate; - };enum cfg_param {
@@ -130,20 +115,6 @@ enum cfg_param {RETRY_LONG =BIT (1 ),FRAG_THRESHOLD =BIT (2 ),RTS_THRESHOLD =BIT (3 ), -BSS_TYPE =BIT (4 ), -AUTH_TYPE =BIT (5 ), -AUTHEN_TIMEOUT =BIT (6 ), -POWER_MANAGEMENT =BIT (7 ), -PREAMBLE =BIT (8 ), -SHORT_SLOT_ALLOWED =BIT (9 ), -TXOP_PROT_DISABLE =BIT (10 ), -BEACON_INTERVAL =BIT (11 ), -DTIM_PERIOD =BIT (12 ), -SITE_SURVEY =BIT (13 ), -SITE_SURVEY_SCAN_TIME =BIT (14 ), -ACTIVE_SCANTIME =BIT (15 ), -PASSIVE_SCANTIME =BIT (16 ), -CURRENT_TX_RATE =BIT (17 ), HT_ENABLE = BIT(18), };
drivers/staging/wilc1000/wilc_wlan_if.h +0 -9
@@ -698,13 +698,8 @@ enum {WID_LONG_RETRY_LIMIT =0x1003 ,WID_BEACON_INTERVAL =0x1006 ,WID_MEMORY_ACCESS_16BIT =0x1008 , -WID_RX_SENSE =0x100B , -WID_ACTIVE_SCAN_TIME =0x100C , -WID_PASSIVE_SCAN_TIME =0x100D , -WID_SITE_SURVEY_SCAN_TIME =0x100E ,WID_JOIN_START_TIMEOUT =0x100F , -WID_AUTH_TIMEOUT =0x1010 ,WID_ASOC_TIMEOUT =0x1011 ,WID_11I_PROTOCOL_TIMEOUT =0x1012 , WID_EAPOL_RESPONSE_TIMEOUT = 0x1013,
@@ -739,11 +734,8 @@ enum {WID_HW_RX_COUNT =0x2015 ,WID_MEMORY_ADDRESS =0x201E ,WID_MEMORY_ACCESS_32BIT =0x201F , -WID_RF_REG_VAL =0x2021 ,/* NMAC Integer WID list */ -WID_11N_PHY_ACTIVE_REG_VAL =0x2080 , -/* Custom Integer WID list */ WID_GET_INACTIVE_TIME =0x2084 , WID_SET_OPERATION_MODE = 0X2086,
@@ -764,7 +756,6 @@ enum {WID_SUPP_PASSWORD =0x3011 ,WID_SITE_SURVEY_RESULTS =0x3012 ,WID_RX_POWER_LEVEL =0x3013 , -WID_DEL_ALL_RX_BA =0x3014 ,WID_SET_STA_MAC_INACTIVE_TIME =0x3017 ,WID_ADD_WEP_KEY =0x3019 , WID_REMOVE_WEP_KEY = 0x301A,
Signature · 1 line
2.17.1
Greg KH
maintainerRe: [PATCH v2 1/4] staging: wilc1000: remove unused flags in handle_cfg_param()
Quoted 7 lines · On Tue, Oct 30, 2018 at 04:22:55AM +0000, [email protected] wrote:
From: Adham Abozaeid <[email protected]>
handle_cfg_param()receives a bit map that describes what to be changed. Some of these bits flags aren't referred to from elsewhere and can be removed.Signed-off-by Adham Abozaeid <[email protected]>
Quoted 8 lines
--- drivers/staging/wilc1000/host_interface.c | 216 ---------------------- drivers/staging/wilc1000/host_interface.h | 29 --- drivers/staging/wilc1000/wilc_wlan_if.h | 9 - 3 files changed, 254 deletions(-) mode change 100644 => 100755 drivers/staging/wilc1000/host_interface.c mode change 100644 => 100755 drivers/staging/wilc1000/host_interface.h mode change 100644 => 100755 drivers/staging/wilc1000/wilc_wlan_if.h
Do not do Linux kernel testing on filesystems on windows machines :(
You just changed the permissions on these files for no reason, which isn't ok at all :(
Dropping this series from my queue.
greg k-h
PATCH v2 2/4 staging: wilc1000: validate cfg parameters before scheduling the work
In reply to [email protected]From: Adham Abozaeid <[email protected]>
Validate cfg parameters after being called by cfg80211 in set_wiphy_params before scheduling the work executed in handle_cfg_param
--- drivers/staging/wilc1000/host_interface.c | 61 ++++++------------- .../staging/wilc1000/wilc_wfi_cfgoperations.c | 50 ++++++++++++--- 2 files changed, 62 insertions(+), 49 deletions(-) mode change 100644 => 100755 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
drivers/staging/wilc1000/host_interface.c +20 -41
@@ -377,61 +377,41 @@ static void handle_cfg_param(struct work_struct *work)if (param->flag &RETRY_SHORT ) {u16 retry_limit = param->short_retry_limit; -if (retry_limit >0 && retry_limit <256 ) { - wid_list[i].id =WID_SHORT_RETRY_LIMIT ; - wid_list[i].val = (s8 *)¶m->short_retry_limit; - wid_list[i].type =WID_SHORT ; - wid_list[i].size =sizeof (u16); - hif_drv->cfg_values.short_retry_limit = retry_limit; - }else { -netdev_err (vif->ndev,"Range(1~256) over\n" ); - goto unlock; - } + wid_list[i].id =WID_SHORT_RETRY_LIMIT ; + wid_list[i].val = (s8 *)¶m->short_retry_limit; + wid_list[i].type =WID_SHORT ; + wid_list[i].size =sizeof (u16); + hif_drv->cfg_values.short_retry_limit = retry_limit; i++; }if (param->flag &RETRY_LONG ) {u16 limit = param->long_retry_limit; -if (limit >0 && limit <256 ) { - wid_list[i].id =WID_LONG_RETRY_LIMIT ; - wid_list[i].val = (s8 *)¶m->long_retry_limit; - wid_list[i].type =WID_SHORT ; - wid_list[i].size =sizeof (u16); - hif_drv->cfg_values.long_retry_limit = limit; - }else { -netdev_err (vif->ndev,"Range(1~256) over\n" ); - goto unlock; - } + wid_list[i].id =WID_LONG_RETRY_LIMIT ; + wid_list[i].val = (s8 *)¶m->long_retry_limit; + wid_list[i].type =WID_SHORT ; + wid_list[i].size =sizeof (u16); + hif_drv->cfg_values.long_retry_limit = limit; i++; }if (param->flag &FRAG_THRESHOLD ) {u16 frag_th = param->frag_threshold; -if (frag_th >255 && frag_th <7937 ) { - wid_list[i].id =WID_FRAG_THRESHOLD ; - wid_list[i].val = (s8 *)¶m->frag_threshold; - wid_list[i].type =WID_SHORT ; - wid_list[i].size =sizeof (u16); - hif_drv->cfg_values.frag_threshold = frag_th; - }else { -netdev_err (vif->ndev,"Threshold Range fail\n" ); - goto unlock; - } + wid_list[i].id =WID_FRAG_THRESHOLD ; + wid_list[i].val = (s8 *)¶m->frag_threshold; + wid_list[i].type =WID_SHORT ; + wid_list[i].size =sizeof (u16); + hif_drv->cfg_values.frag_threshold = frag_th; i++; }if (param->flag &RTS_THRESHOLD ) {u16 rts_th = param->rts_threshold; -if (rts_th >255 ) { - wid_list[i].id =WID_RTS_THRESHOLD ; - wid_list[i].val = (s8 *)¶m->rts_threshold; - wid_list[i].type =WID_SHORT ; - wid_list[i].size =sizeof (u16); - hif_drv->cfg_values.rts_threshold = rts_th; - }else { -netdev_err (vif->ndev,"Threshold Range fail\n" ); - goto unlock; - } + wid_list[i].id =WID_RTS_THRESHOLD ; + wid_list[i].val = (s8 *)¶m->rts_threshold; + wid_list[i].type =WID_SHORT ; + wid_list[i].size =sizeof (u16); + hif_drv->cfg_values.rts_threshold = rts_th; i++; }
@@ -441,7 +421,6 @@ static void handle_cfg_param(struct work_struct *work)if (ret)netdev_err (vif->ndev,"Error in setting CFG params\n" ); -unlock:mutex_unlock (&hif_drv->cfg_values_lock);kfree (msg); }
drivers/staging/wilc1000/wilc_wfi_cfgoperations.c +42 -8
63 lines not on this page · raw message
Signature · 1 line
2.17.1
PATCH v2 3/4 staging: wilc1000: Don't keep a copy of wiphy parameters in the driver
In reply to [email protected]From: Adham Abozaeid <[email protected]>
host_if_drv.cfg_values is a write only member, and can be removed
--- drivers/staging/wilc1000/host_interface.c | 13 ------------- drivers/staging/wilc1000/host_interface.h | 1 - 2 files changed, 14 deletions(-)
drivers/staging/wilc1000/host_interface.c +0 -13
@@ -375,43 +375,31 @@ static void handle_cfg_param(struct work_struct *work)mutex_lock (&hif_drv->cfg_values_lock);if (param->flag &RETRY_SHORT ) { -u16 retry_limit = param->short_retry_limit; - wid_list[i].id =WID_SHORT_RETRY_LIMIT ; wid_list[i].val = (s8 *)¶m->short_retry_limit; wid_list[i].type =WID_SHORT ; wid_list[i].size =sizeof (u16); - hif_drv->cfg_values.short_retry_limit = retry_limit; i++; }if (param->flag &RETRY_LONG ) { -u16 limit = param->long_retry_limit; - wid_list[i].id =WID_LONG_RETRY_LIMIT ; wid_list[i].val = (s8 *)¶m->long_retry_limit; wid_list[i].type =WID_SHORT ; wid_list[i].size =sizeof (u16); - hif_drv->cfg_values.long_retry_limit = limit; i++; }if (param->flag &FRAG_THRESHOLD ) { -u16 frag_th = param->frag_threshold; - wid_list[i].id =WID_FRAG_THRESHOLD ; wid_list[i].val = (s8 *)¶m->frag_threshold; wid_list[i].type =WID_SHORT ; wid_list[i].size =sizeof (u16); - hif_drv->cfg_values.frag_threshold = frag_th; i++; }if (param->flag &RTS_THRESHOLD ) { -u16 rts_th = param->rts_threshold; - wid_list[i].id =WID_RTS_THRESHOLD ; wid_list[i].val = (s8 *)¶m->rts_threshold; wid_list[i].type =WID_SHORT ; wid_list[i].size =sizeof (u16); - hif_drv->cfg_values.rts_threshold = rts_th; i++; }
@@ -3139,7 +3127,6 @@ int wilc_init(struct net_device *dev, struct host_if_drv **hif_drv_handler)mutex_lock (&hif_drv->cfg_values_lock); hif_drv->hif_state =HOST_IF_IDLE ; - hif_drv->cfg_values.scan_source =DEFAULT_SCAN ; hif_drv->p2p_timeout =0 ;
drivers/staging/wilc1000/host_interface.h +0 -1
@@ -238,7 +238,6 @@ struct host_if_drv {enum host_if_state hif_state;u8 assoc_bssid[ETH_ALEN ]; -struct cfg_param_attr cfg_values;/*lock to protect concurrent setting of cfg params*/ struct mutex cfg_values_lock;
Signature · 1 line
2.17.1
PATCH v2 4/4 staging: wilc1000: Remove unused mutex cfg_values_lock
In reply to [email protected]From: Adham Abozaeid <[email protected]>
After removing cfg_values member, cfg_values_lock that was used to protect it can also be removed.
--- drivers/staging/wilc1000/host_interface.c | 9 --------- drivers/staging/wilc1000/host_interface.h | 2 -- 2 files changed, 11 deletions(-)
drivers/staging/wilc1000/host_interface.c +0 -9
@@ -369,11 +369,8 @@ static void handle_cfg_param(struct work_struct *work)struct cfg_param_attr *param = &msg->body.cfg_info;int ret;struct wid wid_list[32 ]; -struct host_if_drv *hif_drv = vif->hif_drv;int i =0 ; -mutex_lock (&hif_drv->cfg_values_lock); -if (param->flag &RETRY_SHORT ) { wid_list[i].id =WID_SHORT_RETRY_LIMIT ; wid_list[i].val = (s8 *)¶m->short_retry_limit;
@@ -409,7 +406,6 @@ static void handle_cfg_param(struct work_struct *work)if (ret)netdev_err (vif->ndev,"Error in setting CFG params\n" ); -mutex_unlock (&hif_drv->cfg_values_lock);kfree (msg); }
@@ -3123,15 +3119,10 @@ int wilc_init(struct net_device *dev, struct host_if_drv **hif_drv_handler)timer_setup (&hif_drv->connect_timer, timer_connect_cb,0 );timer_setup (&hif_drv->remain_on_ch_timer, listen_timer_cb,0 ); -mutex_init (&hif_drv->cfg_values_lock); -mutex_lock (&hif_drv->cfg_values_lock); - hif_drv->hif_state =HOST_IF_IDLE ; hif_drv->p2p_timeout =0 ; -mutex_unlock (&hif_drv->cfg_values_lock); - wilc->clients_count++;return 0 ;
drivers/staging/wilc1000/host_interface.h +0 -2
@@ -238,8 +238,6 @@ struct host_if_drv {enum host_if_state hif_state;u8 assoc_bssid[ETH_ALEN ]; -/*lock to protect concurrent setting of cfg params*/ -struct mutex cfg_values_lock;struct timer_list scan_timer;struct wilc_vif *scan_timer_vif;
Signature · 1 line
2.17.1