Loading drivers/staging/rtl8821ae/core.c +2 −154 Original line number Diff line number Diff line Loading @@ -88,42 +88,9 @@ static void rtl_op_stop(struct ieee80211_hw *hw) mutex_unlock(&rtlpriv->locks.conf_mutex); } /*<delete in kernel start>*/ #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,39)) static int rtl_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb) { struct rtl_priv *rtlpriv = rtl_priv(hw); struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw)); struct rtl_tcb_desc tcb_desc; memset(&tcb_desc, 0, sizeof(struct rtl_tcb_desc)); if (unlikely(is_hal_stop(rtlhal) || ppsc->rfpwr_state != ERFON)) goto err_free; if (!test_bit(RTL_STATUS_INTERFACE_START, &rtlpriv->status)) goto err_free; if (!rtlpriv->intf_ops->waitq_insert(hw, skb)) rtlpriv->intf_ops->adapter_tx(hw, skb, &tcb_desc); return NETDEV_TX_OK; err_free: dev_kfree_skb_any(skb); return NETDEV_TX_OK; } #else #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)) static void rtl_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb) #else /*<delete in kernel end>*/ static void rtl_op_tx(struct ieee80211_hw *hw, struct ieee80211_tx_control *control, struct sk_buff *skb) /*<delete in kernel start>*/ #endif /*<delete in kernel end>*/ { struct rtl_priv *rtlpriv = rtl_priv(hw); struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); Loading @@ -137,26 +104,14 @@ static void rtl_op_tx(struct ieee80211_hw *hw, if (!test_bit(RTL_STATUS_INTERFACE_START, &rtlpriv->status)) goto err_free; /*<delete in kernel start>*/ #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)) if (!rtlpriv->intf_ops->waitq_insert(hw, skb)) rtlpriv->intf_ops->adapter_tx(hw, skb, &tcb_desc); #else /*<delete in kernel end>*/ if (!rtlpriv->intf_ops->waitq_insert(hw, control->sta, skb)) rtlpriv->intf_ops->adapter_tx(hw, control->sta, skb, &tcb_desc); /*<delete in kernel start>*/ #endif /*<delete in kernel end>*/ return; err_free: dev_kfree_skb_any(skb); return; } /*<delete in kernel start>*/ #endif /*<delete in kernel end>*/ static int rtl_op_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) Loading @@ -171,26 +126,15 @@ static int rtl_op_add_interface(struct ieee80211_hw *hw, return -EOPNOTSUPP; } /*This flag is not defined before kernel 3.4*/ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)) vif->driver_flags |= IEEE80211_VIF_BEACON_FILTER; #endif rtl_ips_nic_on(hw); mutex_lock(&rtlpriv->locks.conf_mutex); /*<delete in kernel start>*/ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) switch (ieee80211_vif_type_p2p(vif)) { case NL80211_IFTYPE_P2P_CLIENT: mac->p2p = P2P_ROLE_CLIENT; /*fall through*/ #else /*<delete in kernel end>*/ switch (vif->type) { /*<delete in kernel start>*/ #endif /*<delete in kernel end>*/ case NL80211_IFTYPE_STATION: if (mac->beacon_enabled == 1) { RT_TRACE(COMP_MAC80211, DBG_LOUD, Loading @@ -214,13 +158,9 @@ static int rtl_op_add_interface(struct ieee80211_hw *hw, (u8 *) (&mac->basic_rates)); break; /*<delete in kernel start>*/ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) case NL80211_IFTYPE_P2P_GO: mac->p2p = P2P_ROLE_GO; /*fall through*/ #endif /*<delete in kernel end>*/ case NL80211_IFTYPE_AP: RT_TRACE(COMP_MAC80211, DBG_LOUD, ("NL80211_IFTYPE_AP \n")); Loading Loading @@ -310,9 +250,7 @@ static void rtl_op_remove_interface(struct ieee80211_hw *hw, mutex_unlock(&rtlpriv->locks.conf_mutex); } /*<delete in kernel start>*/ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) /*<delete in kernel end>*/ static int rtl_op_change_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum nl80211_iftype new_type, bool p2p) Loading @@ -328,9 +266,7 @@ static int rtl_op_change_interface(struct ieee80211_hw *hw, (" p2p %x\n",p2p)); return ret; } /*<delete in kernel start>*/ #endif /*<delete in kernel end>*/ static int rtl_op_config(struct ieee80211_hw *hw, u32 changed) { struct rtl_priv *rtlpriv = rtl_priv(hw); Loading Loading @@ -398,14 +334,9 @@ static int rtl_op_config(struct ieee80211_hw *hw, u32 changed) } if (changed & IEEE80211_CONF_CHANGE_CHANNEL) { #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)) struct ieee80211_channel *channel = hw->conf.chandef.chan; enum nl80211_channel_type channel_type = cfg80211_get_chandef_type(&(hw->conf.chandef)); #else struct ieee80211_channel *channel = hw->conf.channel; enum nl80211_channel_type channel_type = hw->conf.channel_type; #endif u8 wide_chan = (u8) channel->hw_value; if (mac->act_scanning) Loading Loading @@ -661,14 +592,9 @@ static int _rtl_get_hal_qnum(u16 queue) *for mac80211 VO=0, VI=1, BE=2, BK=3 *for rtl819x BE=0, BK=1, VI=2, VO=3 */ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)) static int rtl_op_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 queue, const struct ieee80211_tx_queue_params *param) #else static int rtl_op_conf_tx(struct ieee80211_hw *hw, u16 queue, const struct ieee80211_tx_queue_params *param) #endif { struct rtl_priv *rtlpriv = rtl_priv(hw); struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); Loading Loading @@ -964,11 +890,7 @@ static void rtl_op_bss_info_changed(struct ieee80211_hw *hw, mutex_unlock(&rtlpriv->locks.conf_mutex); } #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)) static u64 rtl_op_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) #else static u64 rtl_op_get_tsf(struct ieee80211_hw *hw) #endif { struct rtl_priv *rtlpriv = rtl_priv(hw); u64 tsf; Loading @@ -977,12 +899,8 @@ static u64 rtl_op_get_tsf(struct ieee80211_hw *hw) return tsf; } #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)) static void rtl_op_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u64 tsf) #else static void rtl_op_set_tsf(struct ieee80211_hw *hw, u64 tsf) #endif { struct rtl_priv *rtlpriv = rtl_priv(hw); struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); Loading @@ -992,11 +910,7 @@ static void rtl_op_set_tsf(struct ieee80211_hw *hw, u64 tsf) rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_CORRECT_TSF, (u8 *) (&bibss)); } #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)) static void rtl_op_reset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) #else static void rtl_op_reset_tsf(struct ieee80211_hw *hw) #endif { struct rtl_priv *rtlpriv = rtl_priv(hw); u8 tmp = 0; Loading @@ -1023,13 +937,7 @@ static int rtl_op_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum ieee80211_ampdu_mlme_action action, struct ieee80211_sta *sta, u16 tid, u16 * ssn /*<delete in kernel start>*/ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39)) /*<delete in kernel end>*/ ,u8 buf_size /*<delete in kernel start>*/ #endif /*<delete in kernel end>*/ ) { struct rtl_priv *rtlpriv = rtl_priv(hw); Loading @@ -1040,13 +948,9 @@ static int rtl_op_ampdu_action(struct ieee80211_hw *hw, ("IEEE80211_AMPDU_TX_START: TID:%d\n", tid)); return rtl_tx_agg_start(hw, vif, sta, tid, ssn); break; #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) case IEEE80211_AMPDU_TX_STOP_CONT: case IEEE80211_AMPDU_TX_STOP_FLUSH: case IEEE80211_AMPDU_TX_STOP_FLUSH_CONT: #else case IEEE80211_AMPDU_TX_STOP: #endif RT_TRACE(COMP_MAC80211, DBG_TRACE, ("IEEE80211_AMPDU_TX_STOP: TID:%d\n", tid)); return rtl_tx_agg_stop(hw, vif, sta, tid); Loading Loading @@ -1174,9 +1078,6 @@ static int rtl_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, mutex_lock(&rtlpriv->locks.conf_mutex); /* <1> get encryption alg */ /*<delete in kernel start>*/ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) /*<delete in kernel end>*/ switch (key->cipher) { case WLAN_CIPHER_SUITE_WEP40: key_type = WEP40_ENCRYPTION; Loading Loading @@ -1209,43 +1110,6 @@ static int rtl_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, ("alg_err:%x!!!!:\n", key->cipher)); goto out_unlock; } /*<delete in kernel start>*/ #else switch (key->alg) { case ALG_WEP: if (key->keylen == WLAN_KEY_LEN_WEP40) { key_type = WEP40_ENCRYPTION; RT_TRACE(COMP_SEC, DBG_DMESG, ("alg:WEP40\n")); } else { RT_TRACE(COMP_SEC, DBG_DMESG, ("alg:WEP104\n")); key_type = WEP104_ENCRYPTION; } break; case ALG_TKIP: key_type = TKIP_ENCRYPTION; RT_TRACE(COMP_SEC, DBG_DMESG, ("alg:TKIP\n")); break; case ALG_CCMP: key_type = AESCCMP_ENCRYPTION; RT_TRACE(COMP_SEC, DBG_DMESG, ("alg:CCMP\n")); break; case ALG_AES_CMAC: /*HW don't support CMAC encryption, use software CMAC encryption */ key_type = AESCMAC_ENCRYPTION; RT_TRACE(COMP_SEC, DBG_DMESG, ("alg:CMAC\n")); RT_TRACE(COMP_SEC, DBG_DMESG, ("HW don't support CMAC encryption, " "use software CMAC encryption\n")); err = -EOPNOTSUPP; goto out_unlock; default: RT_TRACE(COMP_ERR, DBG_EMERG, ("alg_err:%x!!!!:\n", key->alg)); goto out_unlock; } #endif /*<delete in kernel end>*/ if(key_type == WEP40_ENCRYPTION || key_type == WEP104_ENCRYPTION || vif->type == NL80211_IFTYPE_ADHOC) Loading Loading @@ -1414,7 +1278,6 @@ static void rtl_op_rfkill_poll(struct ieee80211_hw *hw) * before switch channel or power save, or tx buffer packet * maybe send after offchannel or rf sleep, this may cause * dis-association by AP */ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)) static void rtl_op_flush(struct ieee80211_hw *hw, u32 queues, bool drop) { struct rtl_priv *rtlpriv = rtl_priv(hw); Loading @@ -1422,15 +1285,6 @@ static void rtl_op_flush(struct ieee80211_hw *hw, u32 queues, bool drop) if (rtlpriv->intf_ops->flush) rtlpriv->intf_ops->flush(hw, queues, drop); } #else static void rtl_op_flush(struct ieee80211_hw *hw, bool drop) { struct rtl_priv *rtlpriv = rtl_priv(hw); if (rtlpriv->intf_ops->flush) rtlpriv->intf_ops->flush(hw, drop); } #endif const struct ieee80211_ops rtl_ops = { .start = rtl_op_start, Loading @@ -1438,13 +1292,7 @@ const struct ieee80211_ops rtl_ops = { .tx = rtl_op_tx, .add_interface = rtl_op_add_interface, .remove_interface = rtl_op_remove_interface, /*<delete in kernel start>*/ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) /*<delete in kernel end>*/ .change_interface = rtl_op_change_interface, /*<delete in kernel start>*/ #endif /*<delete in kernel end>*/ .config = rtl_op_config, .configure_filter = rtl_op_configure_filter, .set_key = rtl_op_set_key, Loading Loading
drivers/staging/rtl8821ae/core.c +2 −154 Original line number Diff line number Diff line Loading @@ -88,42 +88,9 @@ static void rtl_op_stop(struct ieee80211_hw *hw) mutex_unlock(&rtlpriv->locks.conf_mutex); } /*<delete in kernel start>*/ #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,39)) static int rtl_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb) { struct rtl_priv *rtlpriv = rtl_priv(hw); struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw)); struct rtl_tcb_desc tcb_desc; memset(&tcb_desc, 0, sizeof(struct rtl_tcb_desc)); if (unlikely(is_hal_stop(rtlhal) || ppsc->rfpwr_state != ERFON)) goto err_free; if (!test_bit(RTL_STATUS_INTERFACE_START, &rtlpriv->status)) goto err_free; if (!rtlpriv->intf_ops->waitq_insert(hw, skb)) rtlpriv->intf_ops->adapter_tx(hw, skb, &tcb_desc); return NETDEV_TX_OK; err_free: dev_kfree_skb_any(skb); return NETDEV_TX_OK; } #else #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)) static void rtl_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb) #else /*<delete in kernel end>*/ static void rtl_op_tx(struct ieee80211_hw *hw, struct ieee80211_tx_control *control, struct sk_buff *skb) /*<delete in kernel start>*/ #endif /*<delete in kernel end>*/ { struct rtl_priv *rtlpriv = rtl_priv(hw); struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); Loading @@ -137,26 +104,14 @@ static void rtl_op_tx(struct ieee80211_hw *hw, if (!test_bit(RTL_STATUS_INTERFACE_START, &rtlpriv->status)) goto err_free; /*<delete in kernel start>*/ #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)) if (!rtlpriv->intf_ops->waitq_insert(hw, skb)) rtlpriv->intf_ops->adapter_tx(hw, skb, &tcb_desc); #else /*<delete in kernel end>*/ if (!rtlpriv->intf_ops->waitq_insert(hw, control->sta, skb)) rtlpriv->intf_ops->adapter_tx(hw, control->sta, skb, &tcb_desc); /*<delete in kernel start>*/ #endif /*<delete in kernel end>*/ return; err_free: dev_kfree_skb_any(skb); return; } /*<delete in kernel start>*/ #endif /*<delete in kernel end>*/ static int rtl_op_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) Loading @@ -171,26 +126,15 @@ static int rtl_op_add_interface(struct ieee80211_hw *hw, return -EOPNOTSUPP; } /*This flag is not defined before kernel 3.4*/ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)) vif->driver_flags |= IEEE80211_VIF_BEACON_FILTER; #endif rtl_ips_nic_on(hw); mutex_lock(&rtlpriv->locks.conf_mutex); /*<delete in kernel start>*/ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) switch (ieee80211_vif_type_p2p(vif)) { case NL80211_IFTYPE_P2P_CLIENT: mac->p2p = P2P_ROLE_CLIENT; /*fall through*/ #else /*<delete in kernel end>*/ switch (vif->type) { /*<delete in kernel start>*/ #endif /*<delete in kernel end>*/ case NL80211_IFTYPE_STATION: if (mac->beacon_enabled == 1) { RT_TRACE(COMP_MAC80211, DBG_LOUD, Loading @@ -214,13 +158,9 @@ static int rtl_op_add_interface(struct ieee80211_hw *hw, (u8 *) (&mac->basic_rates)); break; /*<delete in kernel start>*/ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) case NL80211_IFTYPE_P2P_GO: mac->p2p = P2P_ROLE_GO; /*fall through*/ #endif /*<delete in kernel end>*/ case NL80211_IFTYPE_AP: RT_TRACE(COMP_MAC80211, DBG_LOUD, ("NL80211_IFTYPE_AP \n")); Loading Loading @@ -310,9 +250,7 @@ static void rtl_op_remove_interface(struct ieee80211_hw *hw, mutex_unlock(&rtlpriv->locks.conf_mutex); } /*<delete in kernel start>*/ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) /*<delete in kernel end>*/ static int rtl_op_change_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum nl80211_iftype new_type, bool p2p) Loading @@ -328,9 +266,7 @@ static int rtl_op_change_interface(struct ieee80211_hw *hw, (" p2p %x\n",p2p)); return ret; } /*<delete in kernel start>*/ #endif /*<delete in kernel end>*/ static int rtl_op_config(struct ieee80211_hw *hw, u32 changed) { struct rtl_priv *rtlpriv = rtl_priv(hw); Loading Loading @@ -398,14 +334,9 @@ static int rtl_op_config(struct ieee80211_hw *hw, u32 changed) } if (changed & IEEE80211_CONF_CHANGE_CHANNEL) { #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)) struct ieee80211_channel *channel = hw->conf.chandef.chan; enum nl80211_channel_type channel_type = cfg80211_get_chandef_type(&(hw->conf.chandef)); #else struct ieee80211_channel *channel = hw->conf.channel; enum nl80211_channel_type channel_type = hw->conf.channel_type; #endif u8 wide_chan = (u8) channel->hw_value; if (mac->act_scanning) Loading Loading @@ -661,14 +592,9 @@ static int _rtl_get_hal_qnum(u16 queue) *for mac80211 VO=0, VI=1, BE=2, BK=3 *for rtl819x BE=0, BK=1, VI=2, VO=3 */ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)) static int rtl_op_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 queue, const struct ieee80211_tx_queue_params *param) #else static int rtl_op_conf_tx(struct ieee80211_hw *hw, u16 queue, const struct ieee80211_tx_queue_params *param) #endif { struct rtl_priv *rtlpriv = rtl_priv(hw); struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); Loading Loading @@ -964,11 +890,7 @@ static void rtl_op_bss_info_changed(struct ieee80211_hw *hw, mutex_unlock(&rtlpriv->locks.conf_mutex); } #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)) static u64 rtl_op_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) #else static u64 rtl_op_get_tsf(struct ieee80211_hw *hw) #endif { struct rtl_priv *rtlpriv = rtl_priv(hw); u64 tsf; Loading @@ -977,12 +899,8 @@ static u64 rtl_op_get_tsf(struct ieee80211_hw *hw) return tsf; } #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)) static void rtl_op_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u64 tsf) #else static void rtl_op_set_tsf(struct ieee80211_hw *hw, u64 tsf) #endif { struct rtl_priv *rtlpriv = rtl_priv(hw); struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); Loading @@ -992,11 +910,7 @@ static void rtl_op_set_tsf(struct ieee80211_hw *hw, u64 tsf) rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_CORRECT_TSF, (u8 *) (&bibss)); } #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)) static void rtl_op_reset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) #else static void rtl_op_reset_tsf(struct ieee80211_hw *hw) #endif { struct rtl_priv *rtlpriv = rtl_priv(hw); u8 tmp = 0; Loading @@ -1023,13 +937,7 @@ static int rtl_op_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum ieee80211_ampdu_mlme_action action, struct ieee80211_sta *sta, u16 tid, u16 * ssn /*<delete in kernel start>*/ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39)) /*<delete in kernel end>*/ ,u8 buf_size /*<delete in kernel start>*/ #endif /*<delete in kernel end>*/ ) { struct rtl_priv *rtlpriv = rtl_priv(hw); Loading @@ -1040,13 +948,9 @@ static int rtl_op_ampdu_action(struct ieee80211_hw *hw, ("IEEE80211_AMPDU_TX_START: TID:%d\n", tid)); return rtl_tx_agg_start(hw, vif, sta, tid, ssn); break; #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) case IEEE80211_AMPDU_TX_STOP_CONT: case IEEE80211_AMPDU_TX_STOP_FLUSH: case IEEE80211_AMPDU_TX_STOP_FLUSH_CONT: #else case IEEE80211_AMPDU_TX_STOP: #endif RT_TRACE(COMP_MAC80211, DBG_TRACE, ("IEEE80211_AMPDU_TX_STOP: TID:%d\n", tid)); return rtl_tx_agg_stop(hw, vif, sta, tid); Loading Loading @@ -1174,9 +1078,6 @@ static int rtl_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, mutex_lock(&rtlpriv->locks.conf_mutex); /* <1> get encryption alg */ /*<delete in kernel start>*/ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) /*<delete in kernel end>*/ switch (key->cipher) { case WLAN_CIPHER_SUITE_WEP40: key_type = WEP40_ENCRYPTION; Loading Loading @@ -1209,43 +1110,6 @@ static int rtl_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, ("alg_err:%x!!!!:\n", key->cipher)); goto out_unlock; } /*<delete in kernel start>*/ #else switch (key->alg) { case ALG_WEP: if (key->keylen == WLAN_KEY_LEN_WEP40) { key_type = WEP40_ENCRYPTION; RT_TRACE(COMP_SEC, DBG_DMESG, ("alg:WEP40\n")); } else { RT_TRACE(COMP_SEC, DBG_DMESG, ("alg:WEP104\n")); key_type = WEP104_ENCRYPTION; } break; case ALG_TKIP: key_type = TKIP_ENCRYPTION; RT_TRACE(COMP_SEC, DBG_DMESG, ("alg:TKIP\n")); break; case ALG_CCMP: key_type = AESCCMP_ENCRYPTION; RT_TRACE(COMP_SEC, DBG_DMESG, ("alg:CCMP\n")); break; case ALG_AES_CMAC: /*HW don't support CMAC encryption, use software CMAC encryption */ key_type = AESCMAC_ENCRYPTION; RT_TRACE(COMP_SEC, DBG_DMESG, ("alg:CMAC\n")); RT_TRACE(COMP_SEC, DBG_DMESG, ("HW don't support CMAC encryption, " "use software CMAC encryption\n")); err = -EOPNOTSUPP; goto out_unlock; default: RT_TRACE(COMP_ERR, DBG_EMERG, ("alg_err:%x!!!!:\n", key->alg)); goto out_unlock; } #endif /*<delete in kernel end>*/ if(key_type == WEP40_ENCRYPTION || key_type == WEP104_ENCRYPTION || vif->type == NL80211_IFTYPE_ADHOC) Loading Loading @@ -1414,7 +1278,6 @@ static void rtl_op_rfkill_poll(struct ieee80211_hw *hw) * before switch channel or power save, or tx buffer packet * maybe send after offchannel or rf sleep, this may cause * dis-association by AP */ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)) static void rtl_op_flush(struct ieee80211_hw *hw, u32 queues, bool drop) { struct rtl_priv *rtlpriv = rtl_priv(hw); Loading @@ -1422,15 +1285,6 @@ static void rtl_op_flush(struct ieee80211_hw *hw, u32 queues, bool drop) if (rtlpriv->intf_ops->flush) rtlpriv->intf_ops->flush(hw, queues, drop); } #else static void rtl_op_flush(struct ieee80211_hw *hw, bool drop) { struct rtl_priv *rtlpriv = rtl_priv(hw); if (rtlpriv->intf_ops->flush) rtlpriv->intf_ops->flush(hw, drop); } #endif const struct ieee80211_ops rtl_ops = { .start = rtl_op_start, Loading @@ -1438,13 +1292,7 @@ const struct ieee80211_ops rtl_ops = { .tx = rtl_op_tx, .add_interface = rtl_op_add_interface, .remove_interface = rtl_op_remove_interface, /*<delete in kernel start>*/ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) /*<delete in kernel end>*/ .change_interface = rtl_op_change_interface, /*<delete in kernel start>*/ #endif /*<delete in kernel end>*/ .config = rtl_op_config, .configure_filter = rtl_op_configure_filter, .set_key = rtl_op_set_key, Loading