diff options
Diffstat (limited to 'drivers/net/wireless/rtlwifi')
25 files changed, 153 insertions, 145 deletions
diff --git a/drivers/net/wireless/rtlwifi/base.c b/drivers/net/wireless/rtlwifi/base.c index f4c852c6749..942e56b77b6 100644 --- a/drivers/net/wireless/rtlwifi/base.c +++ b/drivers/net/wireless/rtlwifi/base.c @@ -167,7 +167,7 @@ static const u8 tid_to_ac[] = {  	0, /* IEEE80211_AC_VO */  }; -u8 rtl_tid_to_ac(struct ieee80211_hw *hw, u8 tid) +u8 rtl_tid_to_ac(u8 tid)  {  	return tid_to_ac[tid];  } @@ -907,7 +907,7 @@ bool rtl_action_proc(struct ieee80211_hw *hw, struct sk_buff *skb, u8 is_tx)  	struct ieee80211_hdr *hdr = rtl_get_hdr(skb);  	struct rtl_priv *rtlpriv = rtl_priv(hw);  	__le16 fc = hdr->frame_control; -	u8 *act = (u8 *) (((u8 *) skb->data + MAC80211_3ADDR_LEN)); +	u8 *act = (u8 *)skb->data + MAC80211_3ADDR_LEN;  	u8 category;  	if (!ieee80211_is_action(fc)) diff --git a/drivers/net/wireless/rtlwifi/base.h b/drivers/net/wireless/rtlwifi/base.h index 5a23a6d0f49..f35af0fdaaf 100644 --- a/drivers/net/wireless/rtlwifi/base.h +++ b/drivers/net/wireless/rtlwifi/base.h @@ -138,7 +138,7 @@ int rtl_send_smps_action(struct ieee80211_hw *hw,  		enum ieee80211_smps_mode smps);  u8 *rtl_find_ie(u8 *data, unsigned int len, u8 ie);  void rtl_recognize_peer(struct ieee80211_hw *hw, u8 *data, unsigned int len); -u8 rtl_tid_to_ac(struct ieee80211_hw *hw, u8 tid); +u8 rtl_tid_to_ac(u8 tid);  extern struct attribute_group rtl_attribute_group;  int rtlwifi_rate_mapping(struct ieee80211_hw *hw,  			 bool isht, u8 desc_rate, bool first_ampdu); diff --git a/drivers/net/wireless/rtlwifi/cam.c b/drivers/net/wireless/rtlwifi/cam.c index 3d8cc4a0c86..5b4b4d4eaf9 100644 --- a/drivers/net/wireless/rtlwifi/cam.c +++ b/drivers/net/wireless/rtlwifi/cam.c @@ -128,7 +128,7 @@ u8 rtl_cam_add_one_entry(struct ieee80211_hw *hw, u8 *mac_addr,  	u32 us_config;  	struct rtl_priv *rtlpriv = rtl_priv(hw); -	RT_TRACE(rtlpriv, COMP_SEC, DBG_DMESG, +	RT_TRACE(rtlpriv, COMP_SEC, DBG_LOUD,  		 "EntryNo:%x, ulKeyId=%x, ulEncAlg=%x, ulUseDK=%x MacAddr %pM\n",  		 ul_entry_idx, ul_key_id, ul_enc_alg,  		 ul_default_key, mac_addr); @@ -146,7 +146,7 @@ u8 rtl_cam_add_one_entry(struct ieee80211_hw *hw, u8 *mac_addr,  	}  	rtl_cam_program_entry(hw, ul_entry_idx, mac_addr, -			      (u8 *) key_content, us_config); +			      key_content, us_config);  	RT_TRACE(rtlpriv, COMP_SEC, DBG_DMESG, "<===\n"); @@ -342,7 +342,8 @@ void rtl_cam_del_entry(struct ieee80211_hw *hw, u8 *sta_addr)  			/* Remove from HW Security CAM */  			memset(rtlpriv->sec.hwsec_cam_sta_addr[i], 0, ETH_ALEN);  			rtlpriv->sec.hwsec_cam_bitmap &= ~(BIT(0) << i); -			pr_info("&&&&&&&&&del entry %d\n", i); +			RT_TRACE(rtlpriv, COMP_SEC, DBG_LOUD, +				 "del CAM entry %d\n", i);  		}  	}  	return; diff --git a/drivers/net/wireless/rtlwifi/core.c b/drivers/net/wireless/rtlwifi/core.c index 278e9f957e0..a18ad2a9893 100644 --- a/drivers/net/wireless/rtlwifi/core.c +++ b/drivers/net/wireless/rtlwifi/core.c @@ -680,7 +680,7 @@ static void rtl_op_bss_info_changed(struct ieee80211_hw *hw,  		mac->short_preamble = bss_conf->use_short_preamble;  		rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_ACK_PREAMBLE, -					      (u8 *) (&mac->short_preamble)); +					      &mac->short_preamble);  	}  	if (changed & BSS_CHANGED_ERP_SLOT) { @@ -693,7 +693,7 @@ static void rtl_op_bss_info_changed(struct ieee80211_hw *hw,  			mac->slot_time = RTL_SLOT_TIME_20;  		rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_SLOT_TIME, -					      (u8 *) (&mac->slot_time)); +					      &mac->slot_time);  	}  	if (changed & BSS_CHANGED_HT) { @@ -713,7 +713,7 @@ static void rtl_op_bss_info_changed(struct ieee80211_hw *hw,  		rcu_read_unlock();  		rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_SHORTGI_DENSITY, -					      (u8 *) (&mac->max_mss_density)); +					      &mac->max_mss_density);  		rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_AMPDU_FACTOR,  					      &mac->current_ampdu_factor);  		rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_AMPDU_MIN_SPACE, @@ -801,7 +801,7 @@ static void rtl_op_bss_info_changed(struct ieee80211_hw *hw,  				u8 mstatus = RT_MEDIA_CONNECT;  				rtlpriv->cfg->ops->set_hw_reg(hw,  						      HW_VAR_H2C_FW_JOINBSSRPT, -						      (u8 *) (&mstatus)); +						      &mstatus);  				ppsc->report_linked = true;  			}  		} else { @@ -809,7 +809,7 @@ static void rtl_op_bss_info_changed(struct ieee80211_hw *hw,  				u8 mstatus = RT_MEDIA_DISCONNECT;  				rtlpriv->cfg->ops->set_hw_reg(hw,  						      HW_VAR_H2C_FW_JOINBSSRPT, -						      (u8 *)(&mstatus)); +						      &mstatus);  				ppsc->report_linked = false;  			}  		} @@ -836,7 +836,7 @@ static void rtl_op_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif,  	u8 bibss = (mac->opmode == NL80211_IFTYPE_ADHOC) ? 1 : 0;  	mac->tsf = tsf; -	rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_CORRECT_TSF, (u8 *) (&bibss)); +	rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_CORRECT_TSF, &bibss);  }  static void rtl_op_reset_tsf(struct ieee80211_hw *hw, @@ -845,7 +845,7 @@ static void rtl_op_reset_tsf(struct ieee80211_hw *hw,  	struct rtl_priv *rtlpriv = rtl_priv(hw);  	u8 tmp = 0; -	rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_DUAL_TSF_RST, (u8 *) (&tmp)); +	rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_DUAL_TSF_RST, &tmp);  }  static void rtl_op_sta_notify(struct ieee80211_hw *hw, diff --git a/drivers/net/wireless/rtlwifi/efuse.c b/drivers/net/wireless/rtlwifi/efuse.c index 1f143800a8d..8e2f9afb125 100644 --- a/drivers/net/wireless/rtlwifi/efuse.c +++ b/drivers/net/wireless/rtlwifi/efuse.c @@ -352,7 +352,7 @@ void read_efuse(struct ieee80211_hw *hw, u16 _offset, u16 _size_byte, u8 *pbuf)  	rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_EFUSE_BYTES,  				      (u8 *)&efuse_utilized);  	rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_EFUSE_USAGE, -				      (u8 *)&efuse_usage); +				      &efuse_usage);  done:  	for (i = 0; i < EFUSE_MAX_WORD_UNIT; i++)  		kfree(efuse_word[i]); @@ -409,7 +409,7 @@ void efuse_shadow_read(struct ieee80211_hw *hw, u8 type,  	else if (type == 2)  		efuse_shadow_read_2byte(hw, offset, (u16 *) value);  	else if (type == 4) -		efuse_shadow_read_4byte(hw, offset, (u32 *) value); +		efuse_shadow_read_4byte(hw, offset, value);  } diff --git a/drivers/net/wireless/rtlwifi/pci.c b/drivers/net/wireless/rtlwifi/pci.c index 2062ea1d7c8..80f75d3ba84 100644 --- a/drivers/net/wireless/rtlwifi/pci.c +++ b/drivers/net/wireless/rtlwifi/pci.c @@ -480,7 +480,7 @@ static void _rtl_pci_tx_chk_waitq(struct ieee80211_hw *hw)  	/* we juse use em for BE/BK/VI/VO */  	for (tid = 7; tid >= 0; tid--) { -		u8 hw_queue = ac_to_hwq[rtl_tid_to_ac(hw, tid)]; +		u8 hw_queue = ac_to_hwq[rtl_tid_to_ac(tid)];  		struct rtl8192_tx_ring *ring = &rtlpci->tx_ring[hw_queue];  		while (!mac->act_scanning &&  		       rtlpriv->psc.rfpwr_state == ERFON) { @@ -756,10 +756,10 @@ done:  		if (index == rtlpci->rxringcount - 1)  			rtlpriv->cfg->ops->set_desc((u8 *)pdesc, false,  						    HW_DESC_RXERO, -						    (u8 *)&tmp_one); +						    &tmp_one);  		rtlpriv->cfg->ops->set_desc((u8 *)pdesc, false, HW_DESC_RXOWN, -					    (u8 *)&tmp_one); +					    &tmp_one);  		index = (index + 1) % rtlpci->rxringcount;  	} @@ -934,7 +934,7 @@ static void _rtl_pci_prepare_bcn_tasklet(struct ieee80211_hw *hw)  	__skb_queue_tail(&ring->queue, pskb);  	rtlpriv->cfg->ops->set_desc((u8 *) pdesc, true, HW_DESC_OWN, -				    (u8 *)&temp_one); +				    &temp_one);  	return;  } @@ -1126,11 +1126,11 @@ static int _rtl_pci_init_rx_ring(struct ieee80211_hw *hw)  						    rxbuffersize);  			rtlpriv->cfg->ops->set_desc((u8 *) entry, false,  						    HW_DESC_RXOWN, -						    (u8 *)&tmp_one); +						    &tmp_one);  		}  		rtlpriv->cfg->ops->set_desc((u8 *) entry, false, -					    HW_DESC_RXERO, (u8 *)&tmp_one); +					    HW_DESC_RXERO, &tmp_one);  	}  	return 0;  } @@ -1263,7 +1263,7 @@ int rtl_pci_reset_trx_ring(struct ieee80211_hw *hw)  				rtlpriv->cfg->ops->set_desc((u8 *) entry,  							    false,  							    HW_DESC_RXOWN, -							    (u8 *)&tmp_one); +							    &tmp_one);  			}  			rtlpci->rx_ring[rx_queue_idx].idx = 0;  		} @@ -1273,17 +1273,18 @@ int rtl_pci_reset_trx_ring(struct ieee80211_hw *hw)  	 *after reset, release previous pending packet,  	 *and force the  tx idx to the first one  	 */ -	spin_lock_irqsave(&rtlpriv->locks.irq_th_lock, flags);  	for (i = 0; i < RTL_PCI_MAX_TX_QUEUE_COUNT; i++) {  		if (rtlpci->tx_ring[i].desc) {  			struct rtl8192_tx_ring *ring = &rtlpci->tx_ring[i];  			while (skb_queue_len(&ring->queue)) { -				struct rtl_tx_desc *entry = -				    &ring->desc[ring->idx]; -				struct sk_buff *skb = -				    __skb_dequeue(&ring->queue); +				struct rtl_tx_desc *entry; +				struct sk_buff *skb; +				spin_lock_irqsave(&rtlpriv->locks.irq_th_lock, +						  flags); +				entry = &ring->desc[ring->idx]; +				skb = __skb_dequeue(&ring->queue);  				pci_unmap_single(rtlpci->pdev,  						 rtlpriv->cfg->ops->  							 get_desc((u8 *) @@ -1291,15 +1292,15 @@ int rtl_pci_reset_trx_ring(struct ieee80211_hw *hw)  							 true,  							 HW_DESC_TXBUFF_ADDR),  						 skb->len, PCI_DMA_TODEVICE); -				kfree_skb(skb);  				ring->idx = (ring->idx + 1) % ring->entries; +				spin_unlock_irqrestore(&rtlpriv->locks.irq_th_lock, +						  flags); +				kfree_skb(skb);  			}  			ring->idx = 0;  		}  	} -	spin_unlock_irqrestore(&rtlpriv->locks.irq_th_lock, flags); -  	return 0;  } @@ -1422,7 +1423,7 @@ static int rtl_pci_tx(struct ieee80211_hw *hw, struct sk_buff *skb,  	__skb_queue_tail(&ring->queue, skb);  	rtlpriv->cfg->ops->set_desc((u8 *)pdesc, true, -				    HW_DESC_OWN, (u8 *)&temp_one); +				    HW_DESC_OWN, &temp_one);  	if ((ring->entries - skb_queue_len(&ring->queue)) < 2 && diff --git a/drivers/net/wireless/rtlwifi/ps.c b/drivers/net/wireless/rtlwifi/ps.c index 5ae26647f34..13ad33e8557 100644 --- a/drivers/net/wireless/rtlwifi/ps.c +++ b/drivers/net/wireless/rtlwifi/ps.c @@ -333,10 +333,10 @@ static void rtl_lps_set_psmode(struct ieee80211_hw *hw, u8 rt_psmode)  			rpwm_val = 0x0C;	/* RF on */  			fw_pwrmode = FW_PS_ACTIVE_MODE;  			rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_SET_RPWM, -					(u8 *) (&rpwm_val)); +					&rpwm_val);  			rtlpriv->cfg->ops->set_hw_reg(hw,  					HW_VAR_H2C_FW_PWRMODE, -					(u8 *) (&fw_pwrmode)); +					&fw_pwrmode);  			fw_current_inps = false;  			rtlpriv->cfg->ops->set_hw_reg(hw, @@ -356,11 +356,11 @@ static void rtl_lps_set_psmode(struct ieee80211_hw *hw, u8 rt_psmode)  						(u8 *) (&fw_current_inps));  				rtlpriv->cfg->ops->set_hw_reg(hw,  						HW_VAR_H2C_FW_PWRMODE, -						(u8 *) (&ppsc->fwctrl_psmode)); +						&ppsc->fwctrl_psmode);  				rtlpriv->cfg->ops->set_hw_reg(hw,  						HW_VAR_SET_RPWM, -						(u8 *) (&rpwm_val)); +						&rpwm_val);  			} else {  				/* Reset the power save related parameters. */  				ppsc->dot11_psmode = EACTIVE; @@ -446,7 +446,7 @@ void rtl_swlps_beacon(struct ieee80211_hw *hw, void *data, unsigned int len)  {  	struct rtl_priv *rtlpriv = rtl_priv(hw);  	struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); -	struct ieee80211_hdr *hdr = (void *) data; +	struct ieee80211_hdr *hdr = data;  	struct ieee80211_tim_ie *tim_ie;  	u8 *tim;  	u8 tim_len; diff --git a/drivers/net/wireless/rtlwifi/rtl8192c/dm_common.c b/drivers/net/wireless/rtlwifi/rtl8192c/dm_common.c index f7f48c7ac85..a45afda8259 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192c/dm_common.c +++ b/drivers/net/wireless/rtlwifi/rtl8192c/dm_common.c @@ -656,9 +656,8 @@ static void rtl92c_dm_check_edca_turbo(struct ieee80211_hw *hw)  	} else {  		if (rtlpriv->dm.current_turbo_edca) {  			u8 tmp = AC0_BE; -			rtlpriv->cfg->ops->set_hw_reg(hw, -						      HW_VAR_AC_PARAM, -						      (u8 *) (&tmp)); +			rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_AC_PARAM, +						      &tmp);  			rtlpriv->dm.current_turbo_edca = false;  		}  	} diff --git a/drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c b/drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c index 692c8ef5ee8..44febfde949 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c +++ b/drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c @@ -168,7 +168,7 @@ static void _rtl92c_write_fw(struct ieee80211_hw *hw,  {  	struct rtl_priv *rtlpriv = rtl_priv(hw);  	struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); -	u8 *bufferPtr = (u8 *) buffer; +	u8 *bufferPtr = buffer;  	RT_TRACE(rtlpriv, COMP_FW, DBG_TRACE, "FW size is %d bytes\n", size); @@ -262,7 +262,7 @@ int rtl92c_download_fw(struct ieee80211_hw *hw)  		return 1;  	pfwheader = (struct rtl92c_firmware_header *)rtlhal->pfirmware; -	pfwdata = (u8 *) rtlhal->pfirmware; +	pfwdata = rtlhal->pfirmware;  	fwsize = rtlhal->fwsize;  	if (IS_FW_HEADER_EXIST(pfwheader)) { diff --git a/drivers/net/wireless/rtlwifi/rtl8192ce/hw.c b/drivers/net/wireless/rtlwifi/rtl8192ce/hw.c index 5c4d9bc040f..bd0da7ef290 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192ce/hw.c +++ b/drivers/net/wireless/rtlwifi/rtl8192ce/hw.c @@ -214,13 +214,13 @@ void rtl92ce_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  			for (e_aci = 0; e_aci < AC_MAX; e_aci++) {  				rtlpriv->cfg->ops->set_hw_reg(hw,  							      HW_VAR_AC_PARAM, -							      (u8 *) (&e_aci)); +							      &e_aci);  			}  			break;  		}  	case HW_VAR_ACK_PREAMBLE:{  			u8 reg_tmp; -			u8 short_preamble = (bool) (*(u8 *) val); +			u8 short_preamble = (bool)*val;  			reg_tmp = (mac->cur_40_prime_sc) << 5;  			if (short_preamble)  				reg_tmp |= 0x80; @@ -232,7 +232,7 @@ void rtl92ce_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  			u8 min_spacing_to_set;  			u8 sec_min_space; -			min_spacing_to_set = *((u8 *) val); +			min_spacing_to_set = *val;  			if (min_spacing_to_set <= 7) {  				sec_min_space = 0; @@ -257,7 +257,7 @@ void rtl92ce_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  	case HW_VAR_SHORTGI_DENSITY:{  			u8 density_to_set; -			density_to_set = *((u8 *) val); +			density_to_set = *val;  			mac->min_space_cfg |= (density_to_set << 3);  			RT_TRACE(rtlpriv, COMP_MLME, DBG_LOUD, @@ -284,7 +284,7 @@ void rtl92ce_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  			else  				p_regtoset = regtoset_normal; -			factor_toset = *((u8 *) val); +			factor_toset = *(val);  			if (factor_toset <= 3) {  				factor_toset = (1 << (factor_toset + 2));  				if (factor_toset > 0xf) @@ -316,17 +316,17 @@ void rtl92ce_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  			break;  		}  	case HW_VAR_AC_PARAM:{ -			u8 e_aci = *((u8 *) val); +			u8 e_aci = *(val);  			rtl92c_dm_init_edca_turbo(hw);  			if (rtlpci->acm_method != eAcmWay2_SW)  				rtlpriv->cfg->ops->set_hw_reg(hw,  							      HW_VAR_ACM_CTRL, -							      (u8 *) (&e_aci)); +							      (&e_aci));  			break;  		}  	case HW_VAR_ACM_CTRL:{ -			u8 e_aci = *((u8 *) val); +			u8 e_aci = *(val);  			union aci_aifsn *p_aci_aifsn =  			    (union aci_aifsn *)(&(mac->ac[0].aifs));  			u8 acm = p_aci_aifsn->f.acm; @@ -382,7 +382,7 @@ void rtl92ce_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  			break;  		}  	case HW_VAR_RETRY_LIMIT:{ -			u8 retry_limit = ((u8 *) (val))[0]; +			u8 retry_limit = val[0];  			rtl_write_word(rtlpriv, REG_RL,  				       retry_limit << RETRY_LIMIT_SHORT_SHIFT | @@ -396,13 +396,13 @@ void rtl92ce_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  		rtlefuse->efuse_usedbytes = *((u16 *) val);  		break;  	case HW_VAR_EFUSE_USAGE: -		rtlefuse->efuse_usedpercentage = *((u8 *) val); +		rtlefuse->efuse_usedpercentage = *val;  		break;  	case HW_VAR_IO_CMD:  		rtl92c_phy_set_io_cmd(hw, (*(enum io_type *)val));  		break;  	case HW_VAR_WPA_CONFIG: -		rtl_write_byte(rtlpriv, REG_SECCFG, *((u8 *) val)); +		rtl_write_byte(rtlpriv, REG_SECCFG, *val);  		break;  	case HW_VAR_SET_RPWM:{  			u8 rpwm_val; @@ -411,31 +411,30 @@ void rtl92ce_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  			udelay(1);  			if (rpwm_val & BIT(7)) { -				rtl_write_byte(rtlpriv, REG_PCIE_HRPWM, -					       (*(u8 *) val)); +				rtl_write_byte(rtlpriv, REG_PCIE_HRPWM, *val);  			} else {  				rtl_write_byte(rtlpriv, REG_PCIE_HRPWM, -					       ((*(u8 *) val) | BIT(7))); +					       *val | BIT(7));  			}  			break;  		}  	case HW_VAR_H2C_FW_PWRMODE:{ -			u8 psmode = (*(u8 *) val); +			u8 psmode = *val;  			if ((psmode != FW_PS_ACTIVE_MODE) &&  			    (!IS_92C_SERIAL(rtlhal->version))) {  				rtl92c_dm_rf_saving(hw, true);  			} -			rtl92c_set_fw_pwrmode_cmd(hw, (*(u8 *) val)); +			rtl92c_set_fw_pwrmode_cmd(hw, *val);  			break;  		}  	case HW_VAR_FW_PSMODE_STATUS:  		ppsc->fw_current_inpsmode = *((bool *) val);  		break;  	case HW_VAR_H2C_FW_JOINBSSRPT:{ -			u8 mstatus = (*(u8 *) val); +			u8 mstatus = *val;  			u8 tmp_regcr, tmp_reg422;  			bool recover = false; @@ -472,7 +471,7 @@ void rtl92ce_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  				rtl_write_byte(rtlpriv, REG_CR + 1,  					       (tmp_regcr & ~(BIT(0))));  			} -			rtl92c_set_fw_joinbss_report_cmd(hw, (*(u8 *) val)); +			rtl92c_set_fw_joinbss_report_cmd(hw, *val);  			break;  		} @@ -486,7 +485,7 @@ void rtl92ce_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  			break;  		}  	case HW_VAR_CORRECT_TSF:{ -			u8 btype_ibss = ((u8 *) (val))[0]; +			u8 btype_ibss = val[0];  			if (btype_ibss)  				_rtl92ce_stop_tx_beacon(hw); @@ -1589,10 +1588,10 @@ static void _rtl92ce_read_adapter_info(struct ieee80211_hw *hw)  						 rtlefuse->autoload_failflag,  						 hwinfo); -	rtlefuse->eeprom_channelplan = *(u8 *)&hwinfo[EEPROM_CHANNELPLAN]; +	rtlefuse->eeprom_channelplan = *&hwinfo[EEPROM_CHANNELPLAN];  	rtlefuse->eeprom_version = *(u16 *)&hwinfo[EEPROM_VERSION];  	rtlefuse->txpwr_fromeprom = true; -	rtlefuse->eeprom_oemid = *(u8 *)&hwinfo[EEPROM_CUSTOMER_ID]; +	rtlefuse->eeprom_oemid = *&hwinfo[EEPROM_CUSTOMER_ID];  	RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD,  		 "EEPROM Customer ID: 0x%2x\n", rtlefuse->eeprom_oemid); @@ -1939,7 +1938,7 @@ void rtl92ce_update_channel_access_setting(struct ieee80211_hw *hw)  	u16 sifs_timer;  	rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_SLOT_TIME, -				      (u8 *)&mac->slot_time); +				      &mac->slot_time);  	if (!mac->ht_enable)  		sifs_timer = 0x0a0a;  	else diff --git a/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c b/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c index 3af874e6959..52166640f16 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c +++ b/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c @@ -605,7 +605,7 @@ void rtl92ce_tx_fill_desc(struct ieee80211_hw *hw,  	struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw));  	bool defaultadapter = true;  	struct ieee80211_sta *sta; -	u8 *pdesc = (u8 *) pdesc_tx; +	u8 *pdesc = pdesc_tx;  	u16 seq_number;  	__le16 fc = hdr->frame_control;  	u8 fw_qsel = _rtl92ce_map_hwqueue_to_fwqueue(skb, hw_queue); @@ -806,7 +806,7 @@ void rtl92ce_tx_fill_cmddesc(struct ieee80211_hw *hw,  	SET_TX_DESC_OWN(pdesc, 1); -	SET_TX_DESC_PKT_SIZE((u8 *) pdesc, (u16) (skb->len)); +	SET_TX_DESC_PKT_SIZE(pdesc, (u16) (skb->len));  	SET_TX_DESC_FIRST_SEG(pdesc, 1);  	SET_TX_DESC_LAST_SEG(pdesc, 1); diff --git a/drivers/net/wireless/rtlwifi/rtl8192cu/hw.c b/drivers/net/wireless/rtlwifi/rtl8192cu/hw.c index 0c74d4f2eeb..4bbb711a36c 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192cu/hw.c +++ b/drivers/net/wireless/rtlwifi/rtl8192cu/hw.c @@ -381,11 +381,11 @@ static void _rtl92cu_read_adapter_info(struct ieee80211_hw *hw)  	rtlefuse->eeprom_did = le16_to_cpu(*(__le16 *)&hwinfo[EEPROM_DID]);  	RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG, " VID = 0x%02x PID = 0x%02x\n",  		 rtlefuse->eeprom_vid, rtlefuse->eeprom_did); -	rtlefuse->eeprom_channelplan = *(u8 *)&hwinfo[EEPROM_CHANNELPLAN]; +	rtlefuse->eeprom_channelplan = hwinfo[EEPROM_CHANNELPLAN];  	rtlefuse->eeprom_version =  			 le16_to_cpu(*(__le16 *)&hwinfo[EEPROM_VERSION]);  	rtlefuse->txpwr_fromeprom = true; -	rtlefuse->eeprom_oemid = *(u8 *)&hwinfo[EEPROM_CUSTOMER_ID]; +	rtlefuse->eeprom_oemid = hwinfo[EEPROM_CUSTOMER_ID];  	RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD, "EEPROM Customer ID: 0x%2x\n",  		 rtlefuse->eeprom_oemid);  	if (rtlhal->oem_id == RT_CID_DEFAULT) { @@ -1660,7 +1660,7 @@ void rtl92cu_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  				for (e_aci = 0; e_aci < AC_MAX; e_aci++)  					rtlpriv->cfg->ops->set_hw_reg(hw,  								HW_VAR_AC_PARAM, -								(u8 *)(&e_aci)); +								&e_aci);  			} else {  				u8 sifstime = 0;  				u8	u1bAIFS; @@ -1685,7 +1685,7 @@ void rtl92cu_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  		}  	case HW_VAR_ACK_PREAMBLE:{  			u8 reg_tmp; -			u8 short_preamble = (bool) (*(u8 *) val); +			u8 short_preamble = (bool)*val;  			reg_tmp = 0;  			if (short_preamble)  				reg_tmp |= 0x80; @@ -1696,7 +1696,7 @@ void rtl92cu_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  			u8 min_spacing_to_set;  			u8 sec_min_space; -			min_spacing_to_set = *((u8 *) val); +			min_spacing_to_set = *val;  			if (min_spacing_to_set <= 7) {  				switch (rtlpriv->sec.pairwise_enc_algorithm) {  				case NO_ENCRYPTION: @@ -1729,7 +1729,7 @@ void rtl92cu_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  	case HW_VAR_SHORTGI_DENSITY:{  			u8 density_to_set; -			density_to_set = *((u8 *) val); +			density_to_set = *val;  			density_to_set &= 0x1f;  			mac->min_space_cfg &= 0x07;  			mac->min_space_cfg |= (density_to_set << 3); @@ -1747,7 +1747,7 @@ void rtl92cu_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  			u8 index = 0;  			p_regtoset = regtoset_normal; -			factor_toset = *((u8 *) val); +			factor_toset = *val;  			if (factor_toset <= 3) {  				factor_toset = (1 << (factor_toset + 2));  				if (factor_toset > 0xf) @@ -1774,7 +1774,7 @@ void rtl92cu_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  			break;  		}  	case HW_VAR_AC_PARAM:{ -			u8 e_aci = *((u8 *) val); +			u8 e_aci = *val;  			u32 u4b_ac_param;  			u16 cw_min = le16_to_cpu(mac->ac[e_aci].cw_min);  			u16 cw_max = le16_to_cpu(mac->ac[e_aci].cw_max); @@ -1814,11 +1814,11 @@ void rtl92cu_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  			}  			if (rtlusb->acm_method != eAcmWay2_SW)  				rtlpriv->cfg->ops->set_hw_reg(hw, -					 HW_VAR_ACM_CTRL, (u8 *)(&e_aci)); +					 HW_VAR_ACM_CTRL, &e_aci);  			break;  		}  	case HW_VAR_ACM_CTRL:{ -			u8 e_aci = *((u8 *) val); +			u8 e_aci = *val;  			union aci_aifsn *p_aci_aifsn = (union aci_aifsn *)  							(&(mac->ac[0].aifs));  			u8 acm = p_aci_aifsn->f.acm; @@ -1874,7 +1874,7 @@ void rtl92cu_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  			break;  		}  	case HW_VAR_RETRY_LIMIT:{ -			u8 retry_limit = ((u8 *) (val))[0]; +			u8 retry_limit = val[0];  			rtl_write_word(rtlpriv, REG_RL,  				       retry_limit << RETRY_LIMIT_SHORT_SHIFT | @@ -1891,39 +1891,38 @@ void rtl92cu_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  		rtlefuse->efuse_usedbytes = *((u16 *) val);  		break;  	case HW_VAR_EFUSE_USAGE: -		rtlefuse->efuse_usedpercentage = *((u8 *) val); +		rtlefuse->efuse_usedpercentage = *val;  		break;  	case HW_VAR_IO_CMD:  		rtl92c_phy_set_io_cmd(hw, (*(enum io_type *)val));  		break;  	case HW_VAR_WPA_CONFIG: -		rtl_write_byte(rtlpriv, REG_SECCFG, *((u8 *) val)); +		rtl_write_byte(rtlpriv, REG_SECCFG, *val);  		break;  	case HW_VAR_SET_RPWM:{  			u8 rpwm_val = rtl_read_byte(rtlpriv, REG_USB_HRPWM);  			if (rpwm_val & BIT(7)) -				rtl_write_byte(rtlpriv, REG_USB_HRPWM, -					       (*(u8 *)val)); +				rtl_write_byte(rtlpriv, REG_USB_HRPWM, *val);  			else  				rtl_write_byte(rtlpriv, REG_USB_HRPWM, -					       ((*(u8 *)val) | BIT(7))); +					       *val | BIT(7));  			break;  		}  	case HW_VAR_H2C_FW_PWRMODE:{ -			u8 psmode = (*(u8 *) val); +			u8 psmode = *val;  			if ((psmode != FW_PS_ACTIVE_MODE) &&  			   (!IS_92C_SERIAL(rtlhal->version)))  				rtl92c_dm_rf_saving(hw, true); -			rtl92c_set_fw_pwrmode_cmd(hw, (*(u8 *) val)); +			rtl92c_set_fw_pwrmode_cmd(hw, (*val));  			break;  		}  	case HW_VAR_FW_PSMODE_STATUS:  		ppsc->fw_current_inpsmode = *((bool *) val);  		break;  	case HW_VAR_H2C_FW_JOINBSSRPT:{ -			u8 mstatus = (*(u8 *) val); +			u8 mstatus = *val;  			u8 tmp_reg422;  			bool recover = false; @@ -1948,7 +1947,7 @@ void rtl92cu_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  						tmp_reg422 | BIT(6));  				rtl_write_byte(rtlpriv, REG_CR + 1, 0x02);  			} -			rtl92c_set_fw_joinbss_report_cmd(hw, (*(u8 *) val)); +			rtl92c_set_fw_joinbss_report_cmd(hw, (*val));  			break;  		}  	case HW_VAR_AID:{ @@ -1961,7 +1960,7 @@ void rtl92cu_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  			break;  		}  	case HW_VAR_CORRECT_TSF:{ -			u8 btype_ibss = ((u8 *) (val))[0]; +			u8 btype_ibss = val[0];  			if (btype_ibss)  				_rtl92cu_stop_tx_beacon(hw); @@ -2184,7 +2183,7 @@ void rtl92cu_update_channel_access_setting(struct ieee80211_hw *hw)  	u16 sifs_timer;  	rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_SLOT_TIME, -				      (u8 *)&mac->slot_time); +				      &mac->slot_time);  	if (!mac->ht_enable)  		sifs_timer = 0x0a0a;  	else diff --git a/drivers/net/wireless/rtlwifi/rtl8192cu/trx.c b/drivers/net/wireless/rtlwifi/rtl8192cu/trx.c index 21bc827c5fa..2e6eb356a93 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192cu/trx.c +++ b/drivers/net/wireless/rtlwifi/rtl8192cu/trx.c @@ -668,7 +668,7 @@ void rtl92cu_tx_fill_cmddesc(struct ieee80211_hw *hw,  	SET_TX_DESC_RATE_ID(pdesc, 7);  	SET_TX_DESC_MACID(pdesc, 0);  	SET_TX_DESC_OWN(pdesc, 1); -	SET_TX_DESC_PKT_SIZE((u8 *) pdesc, (u16) (skb->len)); +	SET_TX_DESC_PKT_SIZE(pdesc, (u16)skb->len);  	SET_TX_DESC_FIRST_SEG(pdesc, 1);  	SET_TX_DESC_LAST_SEG(pdesc, 1);  	SET_TX_DESC_OFFSET(pdesc, 0x20); diff --git a/drivers/net/wireless/rtlwifi/rtl8192de/dm.c b/drivers/net/wireless/rtlwifi/rtl8192de/dm.c index a7d63a84551..c0201ed69dd 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192de/dm.c +++ b/drivers/net/wireless/rtlwifi/rtl8192de/dm.c @@ -696,7 +696,7 @@ static void rtl92d_dm_check_edca_turbo(struct ieee80211_hw *hw)  		if (rtlpriv->dm.current_turbo_edca) {  			u8 tmp = AC0_BE;  			rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_AC_PARAM, -						      (u8 *) (&tmp)); +						      &tmp);  			rtlpriv->dm.current_turbo_edca = false;  		}  	} diff --git a/drivers/net/wireless/rtlwifi/rtl8192de/fw.c b/drivers/net/wireless/rtlwifi/rtl8192de/fw.c index f548a8d0068..895ae6c1f35 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192de/fw.c +++ b/drivers/net/wireless/rtlwifi/rtl8192de/fw.c @@ -120,7 +120,7 @@ static void _rtl92d_write_fw(struct ieee80211_hw *hw,  {  	struct rtl_priv *rtlpriv = rtl_priv(hw);  	struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); -	u8 *bufferPtr = (u8 *) buffer; +	u8 *bufferPtr = buffer;  	u32 pagenums, remainSize;  	u32 page, offset; @@ -256,8 +256,8 @@ int rtl92d_download_fw(struct ieee80211_hw *hw)  	if (rtlpriv->max_fw_size == 0 || !rtlhal->pfirmware)  		return 1;  	fwsize = rtlhal->fwsize; -	pfwheader = (u8 *) rtlhal->pfirmware; -	pfwdata = (u8 *) rtlhal->pfirmware; +	pfwheader = rtlhal->pfirmware; +	pfwdata = rtlhal->pfirmware;  	rtlhal->fw_version = (u16) GET_FIRMWARE_HDR_VERSION(pfwheader);  	rtlhal->fw_subversion = (u16) GET_FIRMWARE_HDR_SUB_VER(pfwheader);  	RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD, diff --git a/drivers/net/wireless/rtlwifi/rtl8192de/hw.c b/drivers/net/wireless/rtlwifi/rtl8192de/hw.c index b338d526c42..f4051f4f039 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192de/hw.c +++ b/drivers/net/wireless/rtlwifi/rtl8192de/hw.c @@ -235,12 +235,12 @@ void rtl92de_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  		for (e_aci = 0; e_aci < AC_MAX; e_aci++)  			rtlpriv->cfg->ops->set_hw_reg(hw,  						      HW_VAR_AC_PARAM, -						      (u8 *) (&e_aci)); +						      (&e_aci));  		break;  	}  	case HW_VAR_ACK_PREAMBLE: {  		u8 reg_tmp; -		u8 short_preamble = (bool) (*(u8 *) val); +		u8 short_preamble = (bool) (*val);  		reg_tmp = (mac->cur_40_prime_sc) << 5;  		if (short_preamble) @@ -252,7 +252,7 @@ void rtl92de_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  		u8 min_spacing_to_set;  		u8 sec_min_space; -		min_spacing_to_set = *((u8 *) val); +		min_spacing_to_set = *val;  		if (min_spacing_to_set <= 7) {  			sec_min_space = 0;  			if (min_spacing_to_set < sec_min_space) @@ -271,7 +271,7 @@ void rtl92de_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  	case HW_VAR_SHORTGI_DENSITY: {  		u8 density_to_set; -		density_to_set = *((u8 *) val); +		density_to_set = *val;  		mac->min_space_cfg = rtlpriv->rtlhal.minspace_cfg;  		mac->min_space_cfg |= (density_to_set << 3);  		RT_TRACE(rtlpriv, COMP_MLME, DBG_LOUD, @@ -293,7 +293,7 @@ void rtl92de_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  			regtoSet = 0x66626641;  		else  			regtoSet = 0xb972a841; -		factor_toset = *((u8 *) val); +		factor_toset = *val;  		if (factor_toset <= 3) {  			factor_toset = (1 << (factor_toset + 2));  			if (factor_toset > 0xf) @@ -316,15 +316,15 @@ void rtl92de_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  		break;  	}  	case HW_VAR_AC_PARAM: { -		u8 e_aci = *((u8 *) val); +		u8 e_aci = *val;  		rtl92d_dm_init_edca_turbo(hw);  		if (rtlpci->acm_method != eAcmWay2_SW)  			rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_ACM_CTRL, -						      (u8 *) (&e_aci)); +						      &e_aci);  		break;  	}  	case HW_VAR_ACM_CTRL: { -		u8 e_aci = *((u8 *) val); +		u8 e_aci = *val;  		union aci_aifsn *p_aci_aifsn =  		    (union aci_aifsn *)(&(mac->ac[0].aifs));  		u8 acm = p_aci_aifsn->f.acm; @@ -376,7 +376,7 @@ void rtl92de_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  		rtlpci->receive_config = ((u32 *) (val))[0];  		break;  	case HW_VAR_RETRY_LIMIT: { -		u8 retry_limit = ((u8 *) (val))[0]; +		u8 retry_limit = val[0];  		rtl_write_word(rtlpriv, REG_RL,  			       retry_limit << RETRY_LIMIT_SHORT_SHIFT | @@ -390,16 +390,16 @@ void rtl92de_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  		rtlefuse->efuse_usedbytes = *((u16 *) val);  		break;  	case HW_VAR_EFUSE_USAGE: -		rtlefuse->efuse_usedpercentage = *((u8 *) val); +		rtlefuse->efuse_usedpercentage = *val;  		break;  	case HW_VAR_IO_CMD:  		rtl92d_phy_set_io_cmd(hw, (*(enum io_type *)val));  		break;  	case HW_VAR_WPA_CONFIG: -		rtl_write_byte(rtlpriv, REG_SECCFG, *((u8 *) val)); +		rtl_write_byte(rtlpriv, REG_SECCFG, *val);  		break;  	case HW_VAR_SET_RPWM: -		rtl92d_fill_h2c_cmd(hw, H2C_PWRM, 1, (u8 *) (val)); +		rtl92d_fill_h2c_cmd(hw, H2C_PWRM, 1, (val));  		break;  	case HW_VAR_H2C_FW_PWRMODE:  		break; @@ -407,7 +407,7 @@ void rtl92de_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  		ppsc->fw_current_inpsmode = *((bool *) val);  		break;  	case HW_VAR_H2C_FW_JOINBSSRPT: { -		u8 mstatus = (*(u8 *) val); +		u8 mstatus = (*val);  		u8 tmp_regcr, tmp_reg422;  		bool recover = false; @@ -435,7 +435,7 @@ void rtl92de_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  			rtl_write_byte(rtlpriv, REG_CR + 1,  				       (tmp_regcr & ~(BIT(0))));  		} -		rtl92d_set_fw_joinbss_report_cmd(hw, (*(u8 *) val)); +		rtl92d_set_fw_joinbss_report_cmd(hw, (*val));  		break;  	}  	case HW_VAR_AID: { @@ -447,7 +447,7 @@ void rtl92de_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  		break;  	}  	case HW_VAR_CORRECT_TSF: { -		u8 btype_ibss = ((u8 *) (val))[0]; +		u8 btype_ibss = val[0];  		if (btype_ibss)  			_rtl92de_stop_tx_beacon(hw); @@ -1794,7 +1794,7 @@ static void _rtl92de_read_adapter_info(struct ieee80211_hw *hw)  			 "RTL819X Not boot from eeprom, check it !!\n");  		return;  	} -	rtlefuse->eeprom_oemid = *(u8 *)&hwinfo[EEPROM_CUSTOMER_ID]; +	rtlefuse->eeprom_oemid = hwinfo[EEPROM_CUSTOMER_ID];  	_rtl92de_read_macphymode_and_bandtype(hw, hwinfo);  	/* VID, DID  SE     0xA-D */ @@ -2115,7 +2115,7 @@ void rtl92de_update_channel_access_setting(struct ieee80211_hw *hw)  	u16 sifs_timer;  	rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_SLOT_TIME, -				      (u8 *)&mac->slot_time); +				      &mac->slot_time);  	if (!mac->ht_enable)  		sifs_timer = 0x0a0a;  	else diff --git a/drivers/net/wireless/rtlwifi/rtl8192de/phy.c b/drivers/net/wireless/rtlwifi/rtl8192de/phy.c index 18380a7829f..442031256bc 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192de/phy.c +++ b/drivers/net/wireless/rtlwifi/rtl8192de/phy.c @@ -3345,21 +3345,21 @@ void rtl92d_phy_config_macphymode_info(struct ieee80211_hw *hw)  	switch (rtlhal->macphymode) {  	case DUALMAC_SINGLEPHY:  		rtlphy->rf_type = RF_2T2R; -		rtlhal->version |= CHIP_92D_SINGLEPHY; +		rtlhal->version |= RF_TYPE_2T2R;  		rtlhal->bandset = BAND_ON_BOTH;  		rtlhal->current_bandtype = BAND_ON_2_4G;  		break;  	case SINGLEMAC_SINGLEPHY:  		rtlphy->rf_type = RF_2T2R; -		rtlhal->version |= CHIP_92D_SINGLEPHY; +		rtlhal->version |= RF_TYPE_2T2R;  		rtlhal->bandset = BAND_ON_BOTH;  		rtlhal->current_bandtype = BAND_ON_2_4G;  		break;  	case DUALMAC_DUALPHY:  		rtlphy->rf_type = RF_1T1R; -		rtlhal->version &= (~CHIP_92D_SINGLEPHY); +		rtlhal->version &= RF_TYPE_1T1R;  		/* Now we let MAC0 run on 5G band. */  		if (rtlhal->interfaceindex == 0) {  			rtlhal->bandset = BAND_ON_5G; diff --git a/drivers/net/wireless/rtlwifi/rtl8192de/trx.c b/drivers/net/wireless/rtlwifi/rtl8192de/trx.c index 1666ef7fd87..f80690d82c1 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192de/trx.c +++ b/drivers/net/wireless/rtlwifi/rtl8192de/trx.c @@ -560,7 +560,7 @@ void rtl92de_tx_fill_desc(struct ieee80211_hw *hw,  	struct rtl_hal *rtlhal = rtl_hal(rtlpriv);  	struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw));  	struct ieee80211_sta *sta = info->control.sta; -	u8 *pdesc = (u8 *) pdesc_tx; +	u8 *pdesc = pdesc_tx;  	u16 seq_number;  	__le16 fc = hdr->frame_control;  	unsigned int buf_len = 0; @@ -761,11 +761,11 @@ void rtl92de_tx_fill_cmddesc(struct ieee80211_hw *hw,  	SET_TX_DESC_QUEUE_SEL(pdesc, fw_queue);  	SET_TX_DESC_FIRST_SEG(pdesc, 1);  	SET_TX_DESC_LAST_SEG(pdesc, 1); -	SET_TX_DESC_TX_BUFFER_SIZE(pdesc, (u16) (skb->len)); +	SET_TX_DESC_TX_BUFFER_SIZE(pdesc, (u16)skb->len);  	SET_TX_DESC_TX_BUFFER_ADDRESS(pdesc, mapping);  	SET_TX_DESC_RATE_ID(pdesc, 7);  	SET_TX_DESC_MACID(pdesc, 0); -	SET_TX_DESC_PKT_SIZE((u8 *) pdesc, (u16) (skb->len)); +	SET_TX_DESC_PKT_SIZE(pdesc, (u16) (skb->len));  	SET_TX_DESC_FIRST_SEG(pdesc, 1);  	SET_TX_DESC_LAST_SEG(pdesc, 1);  	SET_TX_DESC_OFFSET(pdesc, 0x20); diff --git a/drivers/net/wireless/rtlwifi/rtl8192se/dm.c b/drivers/net/wireless/rtlwifi/rtl8192se/dm.c index 2e1158026fb..465f5815710 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192se/dm.c +++ b/drivers/net/wireless/rtlwifi/rtl8192se/dm.c @@ -146,7 +146,7 @@ static void _rtl92s_dm_check_edca_turbo(struct ieee80211_hw *hw)  		if (rtlpriv->dm.current_turbo_edca) {  			u8 tmp = AC0_BE;  			rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_AC_PARAM, -						      (u8 *)(&tmp)); +						      &tmp);  			rtlpriv->dm.current_turbo_edca = false;  		}  	} diff --git a/drivers/net/wireless/rtlwifi/rtl8192se/hw.c b/drivers/net/wireless/rtlwifi/rtl8192se/hw.c index b141c35bf92..4542e6952b9 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192se/hw.c +++ b/drivers/net/wireless/rtlwifi/rtl8192se/hw.c @@ -145,13 +145,13 @@ void rtl92se_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  			for (e_aci = 0; e_aci < AC_MAX; e_aci++) {  				rtlpriv->cfg->ops->set_hw_reg(hw,  						HW_VAR_AC_PARAM, -						(u8 *)(&e_aci)); +						(&e_aci));  			}  			break;  		}  	case HW_VAR_ACK_PREAMBLE:{  			u8 reg_tmp; -			u8 short_preamble = (bool) (*(u8 *) val); +			u8 short_preamble = (bool) (*val);  			reg_tmp = (mac->cur_40_prime_sc) << 5;  			if (short_preamble)  				reg_tmp |= 0x80; @@ -163,7 +163,7 @@ void rtl92se_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  			u8 min_spacing_to_set;  			u8 sec_min_space; -			min_spacing_to_set = *((u8 *)val); +			min_spacing_to_set = *val;  			if (min_spacing_to_set <= 7) {  				if (rtlpriv->sec.pairwise_enc_algorithm ==  				    NO_ENCRYPTION) @@ -194,7 +194,7 @@ void rtl92se_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  	case HW_VAR_SHORTGI_DENSITY:{  			u8 density_to_set; -			density_to_set = *((u8 *) val); +			density_to_set = *val;  			mac->min_space_cfg = rtlpriv->rtlhal.minspace_cfg;  			mac->min_space_cfg |= (density_to_set << 3); @@ -216,7 +216,7 @@ void rtl92se_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  				15, 15, 15, 15, 0};  			u8 index = 0; -			factor_toset = *((u8 *) val); +			factor_toset = *val;  			if (factor_toset <= 3) {  				factor_toset = (1 << (factor_toset + 2));  				if (factor_toset > 0xf) @@ -248,17 +248,17 @@ void rtl92se_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  			break;  		}  	case HW_VAR_AC_PARAM:{ -			u8 e_aci = *((u8 *) val); +			u8 e_aci = *val;  			rtl92s_dm_init_edca_turbo(hw);  			if (rtlpci->acm_method != eAcmWay2_SW)  				rtlpriv->cfg->ops->set_hw_reg(hw,  						 HW_VAR_ACM_CTRL, -						 (u8 *)(&e_aci)); +						 &e_aci);  			break;  		}  	case HW_VAR_ACM_CTRL:{ -			u8 e_aci = *((u8 *) val); +			u8 e_aci = *val;  			union aci_aifsn *p_aci_aifsn = (union aci_aifsn *)(&(  							mac->ac[0].aifs));  			u8 acm = p_aci_aifsn->f.acm; @@ -313,7 +313,7 @@ void rtl92se_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  			break;  		}  	case HW_VAR_RETRY_LIMIT:{ -			u8 retry_limit = ((u8 *) (val))[0]; +			u8 retry_limit = val[0];  			rtl_write_word(rtlpriv, RETRY_LIMIT,  				       retry_limit << RETRY_LIMIT_SHORT_SHIFT | @@ -328,14 +328,14 @@ void rtl92se_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)  			break;  		}  	case HW_VAR_EFUSE_USAGE: { -			rtlefuse->efuse_usedpercentage = *((u8 *) val); +			rtlefuse->efuse_usedpercentage = *val;  			break;  		}  	case HW_VAR_IO_CMD: {  			break;  		}  	case HW_VAR_WPA_CONFIG: { -			rtl_write_byte(rtlpriv, REG_SECR, *((u8 *) val)); +			rtl_write_byte(rtlpriv, REG_SECR, *val);  			break;  		}  	case HW_VAR_SET_RPWM:{ @@ -1813,8 +1813,7 @@ static void _rtl92se_read_adapter_info(struct ieee80211_hw *hw)  		else  			index = 2; -		tempval = (*(u8 *)&hwinfo[EEPROM_TX_PWR_HT20_DIFF + -			   index]) & 0xff; +		tempval = hwinfo[EEPROM_TX_PWR_HT20_DIFF + index] & 0xff;  		rtlefuse->txpwr_ht20diff[RF90_PATH_A][i] = (tempval & 0xF);  		rtlefuse->txpwr_ht20diff[RF90_PATH_B][i] =  						 ((tempval >> 4) & 0xF); @@ -1830,14 +1829,13 @@ static void _rtl92se_read_adapter_info(struct ieee80211_hw *hw)  		else  			index = 1; -		tempval = (*(u8 *)&hwinfo[EEPROM_TX_PWR_OFDM_DIFF + index]) -				  & 0xff; +		tempval = hwinfo[EEPROM_TX_PWR_OFDM_DIFF + index] & 0xff;  		rtlefuse->txpwr_legacyhtdiff[RF90_PATH_A][i] =  				 (tempval & 0xF);  		rtlefuse->txpwr_legacyhtdiff[RF90_PATH_B][i] =  				 ((tempval >> 4) & 0xF); -		tempval = (*(u8 *)&hwinfo[TX_PWR_SAFETY_CHK]); +		tempval = hwinfo[TX_PWR_SAFETY_CHK];  		rtlefuse->txpwr_safetyflag = (tempval & 0x01);  	} @@ -1876,7 +1874,7 @@ static void _rtl92se_read_adapter_info(struct ieee80211_hw *hw)  	/* Read RF-indication and Tx Power gain  	 * index diff of legacy to HT OFDM rate. */ -	tempval = (*(u8 *)&hwinfo[EEPROM_RFIND_POWERDIFF]) & 0xff; +	tempval = hwinfo[EEPROM_RFIND_POWERDIFF] & 0xff;  	rtlefuse->eeprom_txpowerdiff = tempval;  	rtlefuse->legacy_httxpowerdiff =  		rtlefuse->txpwr_legacyhtdiff[RF90_PATH_A][0]; @@ -1887,7 +1885,7 @@ static void _rtl92se_read_adapter_info(struct ieee80211_hw *hw)  	/* Get TSSI value for each path. */  	usvalue = *(u16 *)&hwinfo[EEPROM_TSSI_A];  	rtlefuse->eeprom_tssi[RF90_PATH_A] = (u8)((usvalue & 0xff00) >> 8); -	usvalue = *(u8 *)&hwinfo[EEPROM_TSSI_B]; +	usvalue = hwinfo[EEPROM_TSSI_B];  	rtlefuse->eeprom_tssi[RF90_PATH_B] = (u8)(usvalue & 0xff);  	RTPRINT(rtlpriv, FINIT, INIT_TxPower, "TSSI_A = 0x%x, TSSI_B = 0x%x\n", @@ -1896,7 +1894,7 @@ static void _rtl92se_read_adapter_info(struct ieee80211_hw *hw)  	/* Read antenna tx power offset of B/C/D to A  from EEPROM */  	/* and read ThermalMeter from EEPROM */ -	tempval = *(u8 *)&hwinfo[EEPROM_THERMALMETER]; +	tempval = hwinfo[EEPROM_THERMALMETER];  	rtlefuse->eeprom_thermalmeter = tempval;  	RTPRINT(rtlpriv, FINIT, INIT_TxPower,  		"thermalmeter = 0x%x\n", rtlefuse->eeprom_thermalmeter); @@ -1906,20 +1904,20 @@ static void _rtl92se_read_adapter_info(struct ieee80211_hw *hw)  	rtlefuse->tssi_13dbm = rtlefuse->eeprom_thermalmeter * 100;  	/* Read CrystalCap from EEPROM */ -	tempval = (*(u8 *)&hwinfo[EEPROM_CRYSTALCAP]) >> 4; +	tempval = hwinfo[EEPROM_CRYSTALCAP] >> 4;  	rtlefuse->eeprom_crystalcap = tempval;  	/* CrystalCap, BIT(12)~15 */  	rtlefuse->crystalcap = rtlefuse->eeprom_crystalcap;  	/* Read IC Version && Channel Plan */  	/* Version ID, Channel plan */ -	rtlefuse->eeprom_channelplan = *(u8 *)&hwinfo[EEPROM_CHANNELPLAN]; +	rtlefuse->eeprom_channelplan = hwinfo[EEPROM_CHANNELPLAN];  	rtlefuse->txpwr_fromeprom = true;  	RTPRINT(rtlpriv, FINIT, INIT_TxPower,  		"EEPROM ChannelPlan = 0x%4x\n", rtlefuse->eeprom_channelplan);  	/* Read Customer ID or Board Type!!! */ -	tempval = *(u8 *)&hwinfo[EEPROM_BOARDTYPE]; +	tempval = hwinfo[EEPROM_BOARDTYPE];  	/* Change RF type definition */  	if (tempval == 0)  		rtlphy->rf_type = RF_2T2R; @@ -1941,7 +1939,7 @@ static void _rtl92se_read_adapter_info(struct ieee80211_hw *hw)  		}  	}  	rtlefuse->b1ss_support = rtlefuse->b1x1_recvcombine; -	rtlefuse->eeprom_oemid = *(u8 *)&hwinfo[EEPROM_CUSTOMID]; +	rtlefuse->eeprom_oemid = *&hwinfo[EEPROM_CUSTOMID];  	RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD, "EEPROM Customer ID: 0x%2x",  		 rtlefuse->eeprom_oemid); @@ -2251,7 +2249,7 @@ void rtl92se_update_channel_access_setting(struct ieee80211_hw *hw)  	u16 sifs_timer;  	rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_SLOT_TIME, -				      (u8 *)&mac->slot_time); +				      &mac->slot_time);  	sifs_timer = 0x0e0e;  	rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_SIFS, (u8 *)&sifs_timer); diff --git a/drivers/net/wireless/rtlwifi/rtl8192se/phy.c b/drivers/net/wireless/rtlwifi/rtl8192se/phy.c index 8d7099bc472..b917a2a3caf 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192se/phy.c +++ b/drivers/net/wireless/rtlwifi/rtl8192se/phy.c @@ -1247,6 +1247,9 @@ static void _rtl92s_phy_get_txpower_index(struct ieee80211_hw *hw, u8 channel,  		/* Read HT 40 OFDM TX power */  		ofdmpowerLevel[0] = rtlefuse->txpwrlevel_ht40_2s[0][index];  		ofdmpowerLevel[1] = rtlefuse->txpwrlevel_ht40_2s[1][index]; +	} else { +		ofdmpowerLevel[0] = 0; +		ofdmpowerLevel[1] = 0;  	}  } diff --git a/drivers/net/wireless/rtlwifi/rtl8192se/sw.c b/drivers/net/wireless/rtlwifi/rtl8192se/sw.c index 730bcc91952..ad4b4803482 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192se/sw.c +++ b/drivers/net/wireless/rtlwifi/rtl8192se/sw.c @@ -29,7 +29,6 @@  #include "../wifi.h"  #include "../core.h" -#include "../pci.h"  #include "../base.h"  #include "../pci.h"  #include "reg.h" diff --git a/drivers/net/wireless/rtlwifi/rtl8192se/trx.c b/drivers/net/wireless/rtlwifi/rtl8192se/trx.c index 812b5858f14..36d1cb3aef8 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192se/trx.c +++ b/drivers/net/wireless/rtlwifi/rtl8192se/trx.c @@ -599,7 +599,7 @@ void rtl92se_tx_fill_desc(struct ieee80211_hw *hw,  	struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw));  	struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw));  	struct ieee80211_sta *sta = info->control.sta; -	u8 *pdesc = (u8 *) pdesc_tx; +	u8 *pdesc = pdesc_tx;  	u16 seq_number;  	__le16 fc = hdr->frame_control;  	u8 reserved_macid = 0; diff --git a/drivers/net/wireless/rtlwifi/usb.c b/drivers/net/wireless/rtlwifi/usb.c index a6049d7d51b..aa970fc18a2 100644 --- a/drivers/net/wireless/rtlwifi/usb.c +++ b/drivers/net/wireless/rtlwifi/usb.c @@ -131,15 +131,19 @@ static u32 _usb_read_sync(struct rtl_priv *rtlpriv, u32 addr, u16 len)  	u8 request;  	u16 wvalue;  	u16 index; -	__le32 *data = &rtlpriv->usb_data[rtlpriv->usb_data_index]; +	__le32 *data; +	unsigned long flags; +	spin_lock_irqsave(&rtlpriv->locks.usb_lock, flags); +	if (++rtlpriv->usb_data_index >= RTL_USB_MAX_RX_COUNT) +		rtlpriv->usb_data_index = 0; +	data = &rtlpriv->usb_data[rtlpriv->usb_data_index]; +	spin_unlock_irqrestore(&rtlpriv->locks.usb_lock, flags);  	request = REALTEK_USB_VENQT_CMD_REQ;  	index = REALTEK_USB_VENQT_CMD_IDX; /* n/a */  	wvalue = (u16)addr;  	_usbctrl_vendorreq_sync_read(udev, request, wvalue, index, data, len); -	if (++rtlpriv->usb_data_index >= RTL_USB_MAX_RX_COUNT) -		rtlpriv->usb_data_index = 0;  	return le32_to_cpu(*data);  } @@ -951,6 +955,10 @@ int __devinit rtl_usb_probe(struct usb_interface *intf,  				    GFP_KERNEL);  	if (!rtlpriv->usb_data)  		return -ENOMEM; + +	/* this spin lock must be initialized early */ +	spin_lock_init(&rtlpriv->locks.usb_lock); +  	rtlpriv->usb_data_index = 0;  	init_completion(&rtlpriv->firmware_loading_complete);  	SET_IEEE80211_DEV(hw, &intf->dev); diff --git a/drivers/net/wireless/rtlwifi/wifi.h b/drivers/net/wireless/rtlwifi/wifi.h index bd816aef26d..cdaa21f2971 100644 --- a/drivers/net/wireless/rtlwifi/wifi.h +++ b/drivers/net/wireless/rtlwifi/wifi.h @@ -1555,6 +1555,7 @@ struct rtl_locks {  	spinlock_t rf_ps_lock;  	spinlock_t rf_lock;  	spinlock_t waitq_lock; +	spinlock_t usb_lock;  	/*Dual mac*/  	spinlock_t cck_and_rw_pagea_lock;  |