mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-10 12:57:06 +09:00
staging: r8188eu: use in-kernel ieee channel
Use the in-kernel structure and flags instead of defining a separate one. The rtw_ieee80211_channel structure and flags can be replaced by the ieee80211_channel defined in include/net/cfg80211.h since the flags serve the same purpose and the ieee80211_channel struct includes the elements used in the rtw_ieee80211_channel struct. Signed-off-by: Solomon Tan <wjsota@gmail.com> Link: https://lore.kernel.org/r/20220421235237.4218-1-wjsota@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
9c40dba84c
commit
0afaa12181
@@ -320,7 +320,7 @@ post_process:
|
|||||||
* MUST TAKE CARE THAT BEFORE CALLING THIS FUNC, YOU SHOULD HAVE LOCKED pmlmepriv->lock
|
* MUST TAKE CARE THAT BEFORE CALLING THIS FUNC, YOU SHOULD HAVE LOCKED pmlmepriv->lock
|
||||||
*/
|
*/
|
||||||
u8 rtw_sitesurvey_cmd(struct adapter *padapter, struct ndis_802_11_ssid *ssid, int ssid_num,
|
u8 rtw_sitesurvey_cmd(struct adapter *padapter, struct ndis_802_11_ssid *ssid, int ssid_num,
|
||||||
struct rtw_ieee80211_channel *ch, int ch_num)
|
struct ieee80211_channel *ch, int ch_num)
|
||||||
{
|
{
|
||||||
u8 res = _FAIL;
|
u8 res = _FAIL;
|
||||||
struct cmd_obj *ph2c;
|
struct cmd_obj *ph2c;
|
||||||
@@ -366,8 +366,8 @@ u8 rtw_sitesurvey_cmd(struct adapter *padapter, struct ndis_802_11_ssid *ssid,
|
|||||||
if (ch) {
|
if (ch) {
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < ch_num && i < RTW_CHANNEL_SCAN_AMOUNT; i++) {
|
for (i = 0; i < ch_num && i < RTW_CHANNEL_SCAN_AMOUNT; i++) {
|
||||||
if (ch[i].hw_value && !(ch[i].flags & RTW_IEEE80211_CHAN_DISABLED)) {
|
if (ch[i].hw_value && !(ch[i].flags & IEEE80211_CHAN_DISABLED)) {
|
||||||
memcpy(&psurveyPara->ch[i], &ch[i], sizeof(struct rtw_ieee80211_channel));
|
memcpy(&psurveyPara->ch[i], &ch[i], sizeof(struct ieee80211_channel));
|
||||||
psurveyPara->ch_num++;
|
psurveyPara->ch_num++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5749,11 +5749,11 @@ void site_survey(struct adapter *padapter)
|
|||||||
else
|
else
|
||||||
ScanType = SCAN_ACTIVE;
|
ScanType = SCAN_ACTIVE;
|
||||||
} else {
|
} else {
|
||||||
struct rtw_ieee80211_channel *ch;
|
struct ieee80211_channel *ch;
|
||||||
if (pmlmeext->sitesurvey_res.channel_idx < pmlmeext->sitesurvey_res.ch_num) {
|
if (pmlmeext->sitesurvey_res.channel_idx < pmlmeext->sitesurvey_res.ch_num) {
|
||||||
ch = &pmlmeext->sitesurvey_res.ch[pmlmeext->sitesurvey_res.channel_idx];
|
ch = &pmlmeext->sitesurvey_res.ch[pmlmeext->sitesurvey_res.channel_idx];
|
||||||
survey_channel = ch->hw_value;
|
survey_channel = ch->hw_value;
|
||||||
ScanType = (ch->flags & RTW_IEEE80211_CHAN_PASSIVE_SCAN) ? SCAN_PASSIVE : SCAN_ACTIVE;
|
ScanType = (ch->flags & IEEE80211_CHAN_NO_IR) ? SCAN_PASSIVE : SCAN_ACTIVE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -7280,26 +7280,26 @@ u8 disconnect_hdl(struct adapter *padapter, unsigned char *pbuf)
|
|||||||
return H2C_SUCCESS;
|
return H2C_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int rtw_scan_ch_decision(struct adapter *padapter, struct rtw_ieee80211_channel *out,
|
static int rtw_scan_ch_decision(struct adapter *padapter, struct ieee80211_channel *out,
|
||||||
u32 out_num, struct rtw_ieee80211_channel *in, u32 in_num)
|
u32 out_num, struct ieee80211_channel *in, u32 in_num)
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
int set_idx;
|
int set_idx;
|
||||||
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
|
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
|
||||||
|
|
||||||
/* clear out first */
|
/* clear out first */
|
||||||
memset(out, 0, sizeof(struct rtw_ieee80211_channel) * out_num);
|
memset(out, 0, sizeof(struct ieee80211_channel) * out_num);
|
||||||
|
|
||||||
/* acquire channels from in */
|
/* acquire channels from in */
|
||||||
j = 0;
|
j = 0;
|
||||||
for (i = 0; i < in_num; i++) {
|
for (i = 0; i < in_num; i++) {
|
||||||
set_idx = rtw_ch_set_search_ch(pmlmeext->channel_set, in[i].hw_value);
|
set_idx = rtw_ch_set_search_ch(pmlmeext->channel_set, in[i].hw_value);
|
||||||
if (in[i].hw_value && !(in[i].flags & RTW_IEEE80211_CHAN_DISABLED) &&
|
if (in[i].hw_value && !(in[i].flags & IEEE80211_CHAN_DISABLED) &&
|
||||||
set_idx >= 0) {
|
set_idx >= 0) {
|
||||||
memcpy(&out[j], &in[i], sizeof(struct rtw_ieee80211_channel));
|
memcpy(&out[j], &in[i], sizeof(struct ieee80211_channel));
|
||||||
|
|
||||||
if (pmlmeext->channel_set[set_idx].ScanType == SCAN_PASSIVE)
|
if (pmlmeext->channel_set[set_idx].ScanType == SCAN_PASSIVE)
|
||||||
out[j].flags &= RTW_IEEE80211_CHAN_PASSIVE_SCAN;
|
out[j].flags &= IEEE80211_CHAN_NO_IR;
|
||||||
|
|
||||||
j++;
|
j++;
|
||||||
}
|
}
|
||||||
@@ -7313,7 +7313,7 @@ static int rtw_scan_ch_decision(struct adapter *padapter, struct rtw_ieee80211_c
|
|||||||
out[i].hw_value = pmlmeext->channel_set[i].ChannelNum;
|
out[i].hw_value = pmlmeext->channel_set[i].ChannelNum;
|
||||||
|
|
||||||
if (pmlmeext->channel_set[i].ScanType == SCAN_PASSIVE)
|
if (pmlmeext->channel_set[i].ScanType == SCAN_PASSIVE)
|
||||||
out[i].flags &= RTW_IEEE80211_CHAN_PASSIVE_SCAN;
|
out[i].flags &= IEEE80211_CHAN_NO_IR;
|
||||||
|
|
||||||
j++;
|
j++;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
#include "drv_types.h"
|
#include "drv_types.h"
|
||||||
#include "wifi.h"
|
#include "wifi.h"
|
||||||
#include <linux/wireless.h>
|
#include <linux/wireless.h>
|
||||||
|
#include <net/cfg80211.h>
|
||||||
|
|
||||||
#define MGMT_QUEUE_NUM 5
|
#define MGMT_QUEUE_NUM 5
|
||||||
|
|
||||||
@@ -665,39 +666,6 @@ enum rtw_ieee80211_back_actioncode {
|
|||||||
|
|
||||||
#define VENDOR_HT_CAPAB_OUI_TYPE 0x33 /* 00-90-4c:0x33 */
|
#define VENDOR_HT_CAPAB_OUI_TYPE 0x33 /* 00-90-4c:0x33 */
|
||||||
|
|
||||||
/**
|
|
||||||
* enum rtw_ieee80211_channel_flags - channel flags
|
|
||||||
*
|
|
||||||
* Channel flags set by the regulatory control code.
|
|
||||||
*
|
|
||||||
* @RTW_IEEE80211_CHAN_DISABLED: This channel is disabled.
|
|
||||||
* @RTW_IEEE80211_CHAN_PASSIVE_SCAN: Only passive scanning is permitted
|
|
||||||
* on this channel.
|
|
||||||
* @RTW_IEEE80211_CHAN_NO_IBSS: IBSS is not allowed on this channel.
|
|
||||||
* @RTW_IEEE80211_CHAN_RADAR: Radar detection is required on this channel.
|
|
||||||
* @RTW_IEEE80211_CHAN_NO_HT40PLUS: extension channel above this channel
|
|
||||||
* is not permitted.
|
|
||||||
* @RTW_IEEE80211_CHAN_NO_HT40MINUS: extension channel below this channel
|
|
||||||
* is not permitted.
|
|
||||||
*/
|
|
||||||
enum rtw_ieee80211_channel_flags {
|
|
||||||
RTW_IEEE80211_CHAN_DISABLED = 1<<0,
|
|
||||||
RTW_IEEE80211_CHAN_PASSIVE_SCAN = 1<<1,
|
|
||||||
RTW_IEEE80211_CHAN_NO_IBSS = 1<<2,
|
|
||||||
RTW_IEEE80211_CHAN_RADAR = 1<<3,
|
|
||||||
RTW_IEEE80211_CHAN_NO_HT40PLUS = 1<<4,
|
|
||||||
RTW_IEEE80211_CHAN_NO_HT40MINUS = 1<<5,
|
|
||||||
};
|
|
||||||
|
|
||||||
#define RTW_IEEE80211_CHAN_NO_HT40 \
|
|
||||||
(RTW_IEEE80211_CHAN_NO_HT40PLUS | RTW_IEEE80211_CHAN_NO_HT40MINUS)
|
|
||||||
|
|
||||||
/* Represent channel details, subset of ieee80211_channel */
|
|
||||||
struct rtw_ieee80211_channel {
|
|
||||||
u16 hw_value;
|
|
||||||
u32 flags;
|
|
||||||
};
|
|
||||||
|
|
||||||
#define CHAN_FMT \
|
#define CHAN_FMT \
|
||||||
"hw_value:%u, " \
|
"hw_value:%u, " \
|
||||||
"flags:0x%08x" \
|
"flags:0x%08x" \
|
||||||
|
|||||||
@@ -187,7 +187,7 @@ struct sitesurvey_parm {
|
|||||||
u8 ssid_num;
|
u8 ssid_num;
|
||||||
u8 ch_num;
|
u8 ch_num;
|
||||||
struct ndis_802_11_ssid ssid[RTW_SSID_SCAN_AMOUNT];
|
struct ndis_802_11_ssid ssid[RTW_SSID_SCAN_AMOUNT];
|
||||||
struct rtw_ieee80211_channel ch[RTW_CHANNEL_SCAN_AMOUNT];
|
struct ieee80211_channel ch[RTW_CHANNEL_SCAN_AMOUNT];
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -731,7 +731,7 @@ Result:
|
|||||||
#define H2C_RESERVED 0x07
|
#define H2C_RESERVED 0x07
|
||||||
|
|
||||||
u8 rtw_sitesurvey_cmd(struct adapter *padapter, struct ndis_802_11_ssid *ssid,
|
u8 rtw_sitesurvey_cmd(struct adapter *padapter, struct ndis_802_11_ssid *ssid,
|
||||||
int ssid_num, struct rtw_ieee80211_channel *ch,
|
int ssid_num, struct ieee80211_channel *ch,
|
||||||
int ch_num);
|
int ch_num);
|
||||||
u8 rtw_createbss_cmd(struct adapter *padapter);
|
u8 rtw_createbss_cmd(struct adapter *padapter);
|
||||||
u8 rtw_setstakey_cmd(struct adapter *padapter, u8 *psta, u8 unicast_key);
|
u8 rtw_setstakey_cmd(struct adapter *padapter, u8 *psta, u8 unicast_key);
|
||||||
|
|||||||
@@ -200,7 +200,7 @@ struct ss_res {
|
|||||||
u8 ssid_num;
|
u8 ssid_num;
|
||||||
u8 ch_num;
|
u8 ch_num;
|
||||||
struct ndis_802_11_ssid ssid[RTW_SSID_SCAN_AMOUNT];
|
struct ndis_802_11_ssid ssid[RTW_SSID_SCAN_AMOUNT];
|
||||||
struct rtw_ieee80211_channel ch[RTW_CHANNEL_SCAN_AMOUNT];
|
struct ieee80211_channel ch[RTW_CHANNEL_SCAN_AMOUNT];
|
||||||
};
|
};
|
||||||
|
|
||||||
/* define AP_MODE 0x0C */
|
/* define AP_MODE 0x0C */
|
||||||
|
|||||||
Reference in New Issue
Block a user