staging: rtl8188eu: use netdev routines for private data
This driver implements its own routines to allocate, access and free the private data of its net_device. Use the functionality from the networking core instead. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20210321162009.15447-1-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
9e1c785f13
commit
1665c8fdff
@ -33,7 +33,7 @@ int proc_set_write_reg(struct file *file, const char __user *buffer,
|
|||||||
unsigned long count, void *data)
|
unsigned long count, void *data)
|
||||||
{
|
{
|
||||||
struct net_device *dev = data;
|
struct net_device *dev = data;
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
char tmp[32];
|
char tmp[32];
|
||||||
u32 addr, val, len;
|
u32 addr, val, len;
|
||||||
|
|
||||||
@ -75,7 +75,7 @@ int proc_get_read_reg(char *page, char **start,
|
|||||||
int *eof, void *data)
|
int *eof, void *data)
|
||||||
{
|
{
|
||||||
struct net_device *dev = data;
|
struct net_device *dev = data;
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
|
|
||||||
int len = 0;
|
int len = 0;
|
||||||
|
|
||||||
@ -139,7 +139,7 @@ int proc_get_adapter_state(char *page, char **start,
|
|||||||
int *eof, void *data)
|
int *eof, void *data)
|
||||||
{
|
{
|
||||||
struct net_device *dev = data;
|
struct net_device *dev = data;
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
int len = 0;
|
int len = 0;
|
||||||
|
|
||||||
len += scnprintf(page + len, count - len, "bSurpriseRemoved=%d, bDriverStopped=%d\n",
|
len += scnprintf(page + len, count - len, "bSurpriseRemoved=%d, bDriverStopped=%d\n",
|
||||||
@ -155,7 +155,7 @@ int proc_get_best_channel(char *page, char **start,
|
|||||||
int *eof, void *data)
|
int *eof, void *data)
|
||||||
{
|
{
|
||||||
struct net_device *dev = data;
|
struct net_device *dev = data;
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
|
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
|
||||||
int len = 0;
|
int len = 0;
|
||||||
u32 i, best_channel_24G = 1, index_24G = 0;
|
u32 i, best_channel_24G = 1, index_24G = 0;
|
||||||
|
@ -84,7 +84,7 @@ static int rtw_hw_resume(struct adapter *padapter)
|
|||||||
pwrpriv->bips_processing = true;
|
pwrpriv->bips_processing = true;
|
||||||
rtw_reset_drv_sw(padapter);
|
rtw_reset_drv_sw(padapter);
|
||||||
|
|
||||||
if (ips_netdrv_open(rtw_netdev_priv(pnetdev)) != _SUCCESS) {
|
if (ips_netdrv_open(netdev_priv(pnetdev)) != _SUCCESS) {
|
||||||
mutex_unlock(&pwrpriv->mutex_lock);
|
mutex_unlock(&pwrpriv->mutex_lock);
|
||||||
goto error_exit;
|
goto error_exit;
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,10 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
|
|||||||
u32 max_xmit_extbuf_size = MAX_XMIT_EXTBUF_SZ;
|
u32 max_xmit_extbuf_size = MAX_XMIT_EXTBUF_SZ;
|
||||||
u32 num_xmit_extbuf = NR_XMIT_EXTBUFF;
|
u32 num_xmit_extbuf = NR_XMIT_EXTBUFF;
|
||||||
|
|
||||||
/* We don't need to memset padapter->XXX to zero, because adapter is allocated by vzalloc(). */
|
/*
|
||||||
|
* We don't need to memset padapter->XXX to zero because adapter is
|
||||||
|
* allocated by alloc_etherdev_mq, which eventually calls kvzalloc.
|
||||||
|
*/
|
||||||
|
|
||||||
spin_lock_init(&pxmitpriv->lock);
|
spin_lock_init(&pxmitpriv->lock);
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ void rtw_cancel_all_timer(struct adapter *padapter);
|
|||||||
|
|
||||||
int rtw_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
|
int rtw_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
|
||||||
|
|
||||||
struct net_device *rtw_init_netdev(struct adapter *padapter);
|
struct net_device *rtw_init_netdev(void);
|
||||||
u16 rtw_recv_select_queue(struct sk_buff *skb);
|
u16 rtw_recv_select_queue(struct sk_buff *skb);
|
||||||
|
|
||||||
int netdev_open(struct net_device *pnetdev);
|
int netdev_open(struct net_device *pnetdev);
|
||||||
|
@ -66,19 +66,6 @@ u8 *_rtw_malloc(u32 sz);
|
|||||||
|
|
||||||
void _rtw_init_queue(struct __queue *pqueue);
|
void _rtw_init_queue(struct __queue *pqueue);
|
||||||
|
|
||||||
struct rtw_netdev_priv_indicator {
|
|
||||||
void *priv;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct net_device *rtw_alloc_etherdev_with_old_priv(void *old_priv);
|
|
||||||
|
|
||||||
static inline struct adapter *rtw_netdev_priv(struct net_device *netdev)
|
|
||||||
{
|
|
||||||
return ((struct rtw_netdev_priv_indicator *)netdev_priv(netdev))->priv;
|
|
||||||
}
|
|
||||||
|
|
||||||
void rtw_free_netdev(struct net_device *netdev);
|
|
||||||
|
|
||||||
#define FUNC_NDEV_FMT "%s(%s)"
|
#define FUNC_NDEV_FMT "%s(%s)"
|
||||||
#define FUNC_NDEV_ARG(ndev) __func__, ndev->name
|
#define FUNC_NDEV_ARG(ndev) __func__, ndev->name
|
||||||
#define FUNC_ADPT_FMT "%s(%s)"
|
#define FUNC_ADPT_FMT "%s(%s)"
|
||||||
|
@ -311,7 +311,7 @@ static char *translate_scan(struct adapter *padapter,
|
|||||||
|
|
||||||
static int wpa_set_auth_algs(struct net_device *dev, u32 value)
|
static int wpa_set_auth_algs(struct net_device *dev, u32 value)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
if ((value & AUTH_ALG_SHARED_KEY) && (value & AUTH_ALG_OPEN_SYSTEM)) {
|
if ((value & AUTH_ALG_SHARED_KEY) && (value & AUTH_ALG_OPEN_SYSTEM)) {
|
||||||
@ -345,7 +345,7 @@ static int wpa_set_encryption(struct net_device *dev, struct ieee_param *param,
|
|||||||
int ret = 0;
|
int ret = 0;
|
||||||
u32 wep_key_idx, wep_key_len, wep_total_len;
|
u32 wep_key_idx, wep_key_len, wep_total_len;
|
||||||
struct ndis_802_11_wep *pwep = NULL;
|
struct ndis_802_11_wep *pwep = NULL;
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
struct security_priv *psecuritypriv = &padapter->securitypriv;
|
struct security_priv *psecuritypriv = &padapter->securitypriv;
|
||||||
|
|
||||||
@ -617,7 +617,7 @@ static int rtw_wx_get_name(struct net_device *dev,
|
|||||||
struct iw_request_info *info,
|
struct iw_request_info *info,
|
||||||
union iwreq_data *wrqu, char *extra)
|
union iwreq_data *wrqu, char *extra)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
u32 ht_ielen = 0;
|
u32 ht_ielen = 0;
|
||||||
char *p;
|
char *p;
|
||||||
u8 ht_cap = false;
|
u8 ht_cap = false;
|
||||||
@ -669,7 +669,7 @@ static int rtw_wx_get_freq(struct net_device *dev,
|
|||||||
struct iw_request_info *info,
|
struct iw_request_info *info,
|
||||||
union iwreq_data *wrqu, char *extra)
|
union iwreq_data *wrqu, char *extra)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
struct wlan_bssid_ex *pcur_bss = &pmlmepriv->cur_network.network;
|
struct wlan_bssid_ex *pcur_bss = &pmlmepriv->cur_network.network;
|
||||||
|
|
||||||
@ -690,7 +690,7 @@ static int rtw_wx_get_freq(struct net_device *dev,
|
|||||||
static int rtw_wx_set_mode(struct net_device *dev, struct iw_request_info *a,
|
static int rtw_wx_set_mode(struct net_device *dev, struct iw_request_info *a,
|
||||||
union iwreq_data *wrqu, char *b)
|
union iwreq_data *wrqu, char *b)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
enum ndis_802_11_network_infra networkType;
|
enum ndis_802_11_network_infra networkType;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
@ -738,7 +738,7 @@ exit:
|
|||||||
static int rtw_wx_get_mode(struct net_device *dev, struct iw_request_info *a,
|
static int rtw_wx_get_mode(struct net_device *dev, struct iw_request_info *a,
|
||||||
union iwreq_data *wrqu, char *b)
|
union iwreq_data *wrqu, char *b)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
|
|
||||||
RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("%s\n", __func__));
|
RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("%s\n", __func__));
|
||||||
@ -760,7 +760,7 @@ static int rtw_wx_set_pmkid(struct net_device *dev,
|
|||||||
struct iw_request_info *a,
|
struct iw_request_info *a,
|
||||||
union iwreq_data *wrqu, char *extra)
|
union iwreq_data *wrqu, char *extra)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
u8 j, blInserted = false;
|
u8 j, blInserted = false;
|
||||||
int ret = false;
|
int ret = false;
|
||||||
struct security_priv *psecuritypriv = &padapter->securitypriv;
|
struct security_priv *psecuritypriv = &padapter->securitypriv;
|
||||||
@ -837,7 +837,7 @@ static int rtw_wx_get_range(struct net_device *dev,
|
|||||||
union iwreq_data *wrqu, char *extra)
|
union iwreq_data *wrqu, char *extra)
|
||||||
{
|
{
|
||||||
struct iw_range *range = (struct iw_range *)extra;
|
struct iw_range *range = (struct iw_range *)extra;
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
|
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
|
||||||
|
|
||||||
u16 val;
|
u16 val;
|
||||||
@ -925,7 +925,7 @@ static int rtw_wx_set_wap(struct net_device *dev,
|
|||||||
union iwreq_data *awrq, char *extra)
|
union iwreq_data *awrq, char *extra)
|
||||||
{
|
{
|
||||||
uint ret = 0;
|
uint ret = 0;
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct sockaddr *temp = (struct sockaddr *)awrq;
|
struct sockaddr *temp = (struct sockaddr *)awrq;
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
struct list_head *phead;
|
struct list_head *phead;
|
||||||
@ -990,7 +990,7 @@ static int rtw_wx_get_wap(struct net_device *dev,
|
|||||||
struct iw_request_info *info,
|
struct iw_request_info *info,
|
||||||
union iwreq_data *wrqu, char *extra)
|
union iwreq_data *wrqu, char *extra)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
struct wlan_bssid_ex *pcur_bss = &pmlmepriv->cur_network.network;
|
struct wlan_bssid_ex *pcur_bss = &pmlmepriv->cur_network.network;
|
||||||
|
|
||||||
@ -1015,7 +1015,7 @@ static int rtw_wx_set_mlme(struct net_device *dev,
|
|||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
u16 reason;
|
u16 reason;
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct iw_mlme *mlme = (struct iw_mlme *)extra;
|
struct iw_mlme *mlme = (struct iw_mlme *)extra;
|
||||||
|
|
||||||
if (!mlme)
|
if (!mlme)
|
||||||
@ -1047,7 +1047,7 @@ static int rtw_wx_set_scan(struct net_device *dev, struct iw_request_info *a,
|
|||||||
{
|
{
|
||||||
u8 _status = false;
|
u8 _status = false;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
struct ndis_802_11_ssid ssid[RTW_SSID_SCAN_AMOUNT];
|
struct ndis_802_11_ssid ssid[RTW_SSID_SCAN_AMOUNT];
|
||||||
|
|
||||||
@ -1178,7 +1178,7 @@ static int rtw_wx_get_scan(struct net_device *dev, struct iw_request_info *a,
|
|||||||
union iwreq_data *wrqu, char *extra)
|
union iwreq_data *wrqu, char *extra)
|
||||||
{
|
{
|
||||||
struct list_head *plist, *phead;
|
struct list_head *plist, *phead;
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
struct __queue *queue = &pmlmepriv->scanned_queue;
|
struct __queue *queue = &pmlmepriv->scanned_queue;
|
||||||
struct wlan_network *pnetwork = NULL;
|
struct wlan_network *pnetwork = NULL;
|
||||||
@ -1246,7 +1246,7 @@ static int rtw_wx_set_essid(struct net_device *dev,
|
|||||||
struct iw_request_info *a,
|
struct iw_request_info *a,
|
||||||
union iwreq_data *wrqu, char *extra)
|
union iwreq_data *wrqu, char *extra)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
struct __queue *queue = &pmlmepriv->scanned_queue;
|
struct __queue *queue = &pmlmepriv->scanned_queue;
|
||||||
struct list_head *phead;
|
struct list_head *phead;
|
||||||
@ -1348,7 +1348,7 @@ static int rtw_wx_get_essid(struct net_device *dev,
|
|||||||
union iwreq_data *wrqu, char *extra)
|
union iwreq_data *wrqu, char *extra)
|
||||||
{
|
{
|
||||||
u32 len;
|
u32 len;
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
struct wlan_bssid_ex *pcur_bss = &pmlmepriv->cur_network.network;
|
struct wlan_bssid_ex *pcur_bss = &pmlmepriv->cur_network.network;
|
||||||
|
|
||||||
@ -1453,7 +1453,7 @@ static int rtw_wx_get_rate(struct net_device *dev,
|
|||||||
{
|
{
|
||||||
u16 max_rate = 0;
|
u16 max_rate = 0;
|
||||||
|
|
||||||
max_rate = rtw_get_cur_max_rate(rtw_netdev_priv(dev));
|
max_rate = rtw_get_cur_max_rate(netdev_priv(dev));
|
||||||
|
|
||||||
if (max_rate == 0)
|
if (max_rate == 0)
|
||||||
return -EPERM;
|
return -EPERM;
|
||||||
@ -1468,7 +1468,7 @@ static int rtw_wx_set_rts(struct net_device *dev,
|
|||||||
struct iw_request_info *info,
|
struct iw_request_info *info,
|
||||||
union iwreq_data *wrqu, char *extra)
|
union iwreq_data *wrqu, char *extra)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
|
|
||||||
if (wrqu->rts.disabled) {
|
if (wrqu->rts.disabled) {
|
||||||
padapter->registrypriv.rts_thresh = 2347;
|
padapter->registrypriv.rts_thresh = 2347;
|
||||||
@ -1489,7 +1489,7 @@ static int rtw_wx_get_rts(struct net_device *dev,
|
|||||||
struct iw_request_info *info,
|
struct iw_request_info *info,
|
||||||
union iwreq_data *wrqu, char *extra)
|
union iwreq_data *wrqu, char *extra)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
|
|
||||||
DBG_88E("%s, rts_thresh =%d\n", __func__, padapter->registrypriv.rts_thresh);
|
DBG_88E("%s, rts_thresh =%d\n", __func__, padapter->registrypriv.rts_thresh);
|
||||||
|
|
||||||
@ -1504,7 +1504,7 @@ static int rtw_wx_set_frag(struct net_device *dev,
|
|||||||
struct iw_request_info *info,
|
struct iw_request_info *info,
|
||||||
union iwreq_data *wrqu, char *extra)
|
union iwreq_data *wrqu, char *extra)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
|
|
||||||
if (wrqu->frag.disabled) {
|
if (wrqu->frag.disabled) {
|
||||||
padapter->xmitpriv.frag_len = MAX_FRAG_THRESHOLD;
|
padapter->xmitpriv.frag_len = MAX_FRAG_THRESHOLD;
|
||||||
@ -1525,7 +1525,7 @@ static int rtw_wx_get_frag(struct net_device *dev,
|
|||||||
struct iw_request_info *info,
|
struct iw_request_info *info,
|
||||||
union iwreq_data *wrqu, char *extra)
|
union iwreq_data *wrqu, char *extra)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
|
|
||||||
DBG_88E("%s, frag_len =%d\n", __func__, padapter->xmitpriv.frag_len);
|
DBG_88E("%s, frag_len =%d\n", __func__, padapter->xmitpriv.frag_len);
|
||||||
|
|
||||||
@ -1556,7 +1556,7 @@ static int rtw_wx_set_enc(struct net_device *dev,
|
|||||||
enum ndis_802_11_auth_mode authmode;
|
enum ndis_802_11_auth_mode authmode;
|
||||||
|
|
||||||
struct iw_point *erq = &wrqu->encoding;
|
struct iw_point *erq = &wrqu->encoding;
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct pwrctrl_priv *pwrpriv = &padapter->pwrctrlpriv;
|
struct pwrctrl_priv *pwrpriv = &padapter->pwrctrlpriv;
|
||||||
|
|
||||||
DBG_88E("+%s, flags = 0x%x\n", __func__, erq->flags);
|
DBG_88E("+%s, flags = 0x%x\n", __func__, erq->flags);
|
||||||
@ -1665,7 +1665,7 @@ static int rtw_wx_get_enc(struct net_device *dev,
|
|||||||
union iwreq_data *wrqu, char *keybuf)
|
union iwreq_data *wrqu, char *keybuf)
|
||||||
{
|
{
|
||||||
uint key;
|
uint key;
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct iw_point *erq = &wrqu->encoding;
|
struct iw_point *erq = &wrqu->encoding;
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
|
|
||||||
@ -1740,7 +1740,7 @@ static int rtw_wx_set_gen_ie(struct net_device *dev,
|
|||||||
struct iw_request_info *info,
|
struct iw_request_info *info,
|
||||||
union iwreq_data *wrqu, char *extra)
|
union iwreq_data *wrqu, char *extra)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
|
|
||||||
return rtw_set_wpa_ie(padapter, extra, wrqu->data.length);
|
return rtw_set_wpa_ie(padapter, extra, wrqu->data.length);
|
||||||
}
|
}
|
||||||
@ -1749,7 +1749,7 @@ static int rtw_wx_set_auth(struct net_device *dev,
|
|||||||
struct iw_request_info *info,
|
struct iw_request_info *info,
|
||||||
union iwreq_data *wrqu, char *extra)
|
union iwreq_data *wrqu, char *extra)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct iw_param *param = (struct iw_param *)&wrqu->param;
|
struct iw_param *param = (struct iw_param *)&wrqu->param;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
@ -1919,7 +1919,7 @@ static int dummy(struct net_device *dev, struct iw_request_info *a,
|
|||||||
static int wpa_set_param(struct net_device *dev, u8 name, u32 value)
|
static int wpa_set_param(struct net_device *dev, u8 name, u32 value)
|
||||||
{
|
{
|
||||||
uint ret = 0;
|
uint ret = 0;
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
|
|
||||||
switch (name) {
|
switch (name) {
|
||||||
case IEEE_PARAM_WPA_ENABLED:
|
case IEEE_PARAM_WPA_ENABLED:
|
||||||
@ -1974,7 +1974,7 @@ static int wpa_set_param(struct net_device *dev, u8 name, u32 value)
|
|||||||
static int wpa_mlme(struct net_device *dev, u32 command, u32 reason)
|
static int wpa_mlme(struct net_device *dev, u32 command, u32 reason)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
|
|
||||||
switch (command) {
|
switch (command) {
|
||||||
case IEEE_MLME_STA_DEAUTH:
|
case IEEE_MLME_STA_DEAUTH:
|
||||||
@ -2011,7 +2011,7 @@ static int wpa_supplicant_ioctl(struct net_device *dev, struct iw_point *p)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case IEEE_CMD_SET_WPA_IE:
|
case IEEE_CMD_SET_WPA_IE:
|
||||||
ret = rtw_set_wpa_ie(rtw_netdev_priv(dev),
|
ret = rtw_set_wpa_ie(netdev_priv(dev),
|
||||||
(char *)param->u.wpa_ie.data, (u16)param->u.wpa_ie.len);
|
(char *)param->u.wpa_ie.data, (u16)param->u.wpa_ie.len);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -2155,7 +2155,7 @@ static int rtw_set_encryption(struct net_device *dev, struct ieee_param *param,
|
|||||||
u32 wep_key_idx, wep_key_len, wep_total_len;
|
u32 wep_key_idx, wep_key_len, wep_total_len;
|
||||||
struct ndis_802_11_wep *pwep = NULL;
|
struct ndis_802_11_wep *pwep = NULL;
|
||||||
struct sta_info *psta = NULL, *pbcmc_sta = NULL;
|
struct sta_info *psta = NULL, *pbcmc_sta = NULL;
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
struct security_priv *psecuritypriv = &padapter->securitypriv;
|
struct security_priv *psecuritypriv = &padapter->securitypriv;
|
||||||
struct sta_priv *pstapriv = &padapter->stapriv;
|
struct sta_priv *pstapriv = &padapter->stapriv;
|
||||||
@ -2381,7 +2381,7 @@ exit:
|
|||||||
static int rtw_set_beacon(struct net_device *dev, struct ieee_param *param, int len)
|
static int rtw_set_beacon(struct net_device *dev, struct ieee_param *param, int len)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
struct sta_priv *pstapriv = &padapter->stapriv;
|
struct sta_priv *pstapriv = &padapter->stapriv;
|
||||||
unsigned char *pbuf = param->u.bcn_ie.buf;
|
unsigned char *pbuf = param->u.bcn_ie.buf;
|
||||||
@ -2406,7 +2406,7 @@ static int rtw_set_beacon(struct net_device *dev, struct ieee_param *param, int
|
|||||||
|
|
||||||
static int rtw_hostapd_sta_flush(struct net_device *dev)
|
static int rtw_hostapd_sta_flush(struct net_device *dev)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
|
|
||||||
DBG_88E("%s\n", __func__);
|
DBG_88E("%s\n", __func__);
|
||||||
|
|
||||||
@ -2419,7 +2419,7 @@ static int rtw_add_sta(struct net_device *dev, struct ieee_param *param)
|
|||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
struct sta_info *psta = NULL;
|
struct sta_info *psta = NULL;
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
struct sta_priv *pstapriv = &padapter->stapriv;
|
struct sta_priv *pstapriv = &padapter->stapriv;
|
||||||
|
|
||||||
@ -2472,7 +2472,7 @@ static int rtw_add_sta(struct net_device *dev, struct ieee_param *param)
|
|||||||
static int rtw_del_sta(struct net_device *dev, struct ieee_param *param)
|
static int rtw_del_sta(struct net_device *dev, struct ieee_param *param)
|
||||||
{
|
{
|
||||||
struct sta_info *psta = NULL;
|
struct sta_info *psta = NULL;
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
struct sta_priv *pstapriv = &padapter->stapriv;
|
struct sta_priv *pstapriv = &padapter->stapriv;
|
||||||
int updated = 0;
|
int updated = 0;
|
||||||
@ -2507,7 +2507,7 @@ static int rtw_ioctl_get_sta_data(struct net_device *dev, struct ieee_param *par
|
|||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
struct sta_info *psta = NULL;
|
struct sta_info *psta = NULL;
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
struct sta_priv *pstapriv = &padapter->stapriv;
|
struct sta_priv *pstapriv = &padapter->stapriv;
|
||||||
struct ieee_param_ex *param_ex = (struct ieee_param_ex *)param;
|
struct ieee_param_ex *param_ex = (struct ieee_param_ex *)param;
|
||||||
@ -2563,7 +2563,7 @@ static int rtw_get_sta_wpaie(struct net_device *dev, struct ieee_param *param)
|
|||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
struct sta_info *psta = NULL;
|
struct sta_info *psta = NULL;
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
struct sta_priv *pstapriv = &padapter->stapriv;
|
struct sta_priv *pstapriv = &padapter->stapriv;
|
||||||
|
|
||||||
@ -2599,7 +2599,7 @@ static int rtw_get_sta_wpaie(struct net_device *dev, struct ieee_param *param)
|
|||||||
static int rtw_set_wps_beacon(struct net_device *dev, struct ieee_param *param, int len)
|
static int rtw_set_wps_beacon(struct net_device *dev, struct ieee_param *param, int len)
|
||||||
{
|
{
|
||||||
unsigned char wps_oui[4] = {0x0, 0x50, 0xf2, 0x04};
|
unsigned char wps_oui[4] = {0x0, 0x50, 0xf2, 0x04};
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
|
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
|
||||||
int ie_len;
|
int ie_len;
|
||||||
@ -2634,7 +2634,7 @@ static int rtw_set_wps_beacon(struct net_device *dev, struct ieee_param *param,
|
|||||||
|
|
||||||
static int rtw_set_wps_probe_resp(struct net_device *dev, struct ieee_param *param, int len)
|
static int rtw_set_wps_probe_resp(struct net_device *dev, struct ieee_param *param, int len)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
int ie_len;
|
int ie_len;
|
||||||
|
|
||||||
@ -2663,7 +2663,7 @@ static int rtw_set_wps_probe_resp(struct net_device *dev, struct ieee_param *par
|
|||||||
|
|
||||||
static int rtw_set_wps_assoc_resp(struct net_device *dev, struct ieee_param *param, int len)
|
static int rtw_set_wps_assoc_resp(struct net_device *dev, struct ieee_param *param, int len)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
int ie_len;
|
int ie_len;
|
||||||
|
|
||||||
@ -2693,7 +2693,7 @@ static int rtw_set_wps_assoc_resp(struct net_device *dev, struct ieee_param *par
|
|||||||
|
|
||||||
static int rtw_set_hidden_ssid(struct net_device *dev, struct ieee_param *param, int len)
|
static int rtw_set_hidden_ssid(struct net_device *dev, struct ieee_param *param, int len)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
|
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
|
||||||
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
|
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
|
||||||
@ -2717,7 +2717,7 @@ static int rtw_set_hidden_ssid(struct net_device *dev, struct ieee_param *param,
|
|||||||
|
|
||||||
static int rtw_ioctl_acl_remove_sta(struct net_device *dev, struct ieee_param *param, int len)
|
static int rtw_ioctl_acl_remove_sta(struct net_device *dev, struct ieee_param *param, int len)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
|
|
||||||
if (!check_fwstate(pmlmepriv, WIFI_AP_STATE))
|
if (!check_fwstate(pmlmepriv, WIFI_AP_STATE))
|
||||||
@ -2731,7 +2731,7 @@ static int rtw_ioctl_acl_remove_sta(struct net_device *dev, struct ieee_param *p
|
|||||||
|
|
||||||
static int rtw_ioctl_acl_add_sta(struct net_device *dev, struct ieee_param *param, int len)
|
static int rtw_ioctl_acl_add_sta(struct net_device *dev, struct ieee_param *param, int len)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
|
|
||||||
if (!check_fwstate(pmlmepriv, WIFI_AP_STATE))
|
if (!check_fwstate(pmlmepriv, WIFI_AP_STATE))
|
||||||
@ -2745,7 +2745,7 @@ static int rtw_ioctl_acl_add_sta(struct net_device *dev, struct ieee_param *para
|
|||||||
|
|
||||||
static int rtw_ioctl_set_macaddr_acl(struct net_device *dev, struct ieee_param *param, int len)
|
static int rtw_ioctl_set_macaddr_acl(struct net_device *dev, struct ieee_param *param, int len)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
|
|
||||||
if (!check_fwstate(pmlmepriv, WIFI_AP_STATE))
|
if (!check_fwstate(pmlmepriv, WIFI_AP_STATE))
|
||||||
@ -2760,7 +2760,7 @@ static int rtw_hostapd_ioctl(struct net_device *dev, struct iw_point *p)
|
|||||||
{
|
{
|
||||||
struct ieee_param *param;
|
struct ieee_param *param;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* this function is expect to call in master mode, which allows no power saving
|
* this function is expect to call in master mode, which allows no power saving
|
||||||
@ -2841,7 +2841,7 @@ static int rtw_wx_set_priv(struct net_device *dev,
|
|||||||
int ret = 0;
|
int ret = 0;
|
||||||
int len = 0;
|
int len = 0;
|
||||||
char *ext;
|
char *ext;
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct iw_point *dwrq = (struct iw_point *)awrq;
|
struct iw_point *dwrq = (struct iw_point *)awrq;
|
||||||
|
|
||||||
if (dwrq->length == 0)
|
if (dwrq->length == 0)
|
||||||
@ -2959,7 +2959,7 @@ static iw_handler rtw_handlers[] = {
|
|||||||
|
|
||||||
static struct iw_statistics *rtw_get_wireless_stats(struct net_device *dev)
|
static struct iw_statistics *rtw_get_wireless_stats(struct net_device *dev)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct iw_statistics *piwstats = &padapter->iwstats;
|
struct iw_statistics *piwstats = &padapter->iwstats;
|
||||||
int tmp_level = 0;
|
int tmp_level = 0;
|
||||||
int tmp_qual = 0;
|
int tmp_qual = 0;
|
||||||
|
@ -187,7 +187,7 @@ static void loadparam(struct adapter *padapter, struct net_device *pnetdev)
|
|||||||
|
|
||||||
static int rtw_net_set_mac_address(struct net_device *pnetdev, void *p)
|
static int rtw_net_set_mac_address(struct net_device *pnetdev, void *p)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(pnetdev);
|
struct adapter *padapter = netdev_priv(pnetdev);
|
||||||
struct sockaddr *addr = p;
|
struct sockaddr *addr = p;
|
||||||
|
|
||||||
if (!padapter->bup)
|
if (!padapter->bup)
|
||||||
@ -198,7 +198,7 @@ static int rtw_net_set_mac_address(struct net_device *pnetdev, void *p)
|
|||||||
|
|
||||||
static struct net_device_stats *rtw_net_get_stats(struct net_device *pnetdev)
|
static struct net_device_stats *rtw_net_get_stats(struct net_device *pnetdev)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(pnetdev);
|
struct adapter *padapter = netdev_priv(pnetdev);
|
||||||
struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
|
struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
|
||||||
struct recv_priv *precvpriv = &padapter->recvpriv;
|
struct recv_priv *precvpriv = &padapter->recvpriv;
|
||||||
|
|
||||||
@ -248,7 +248,7 @@ static unsigned int rtw_classify8021d(struct sk_buff *skb)
|
|||||||
static u16 rtw_select_queue(struct net_device *dev, struct sk_buff *skb,
|
static u16 rtw_select_queue(struct net_device *dev, struct sk_buff *skb,
|
||||||
struct net_device *sb_dev)
|
struct net_device *sb_dev)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(dev);
|
struct adapter *padapter = netdev_priv(dev);
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
|
|
||||||
skb->priority = rtw_classify8021d(skb);
|
skb->priority = rtw_classify8021d(skb);
|
||||||
@ -296,21 +296,19 @@ static const struct device_type wlan_type = {
|
|||||||
.name = "wlan",
|
.name = "wlan",
|
||||||
};
|
};
|
||||||
|
|
||||||
struct net_device *rtw_init_netdev(struct adapter *old_padapter)
|
struct net_device *rtw_init_netdev(void)
|
||||||
{
|
{
|
||||||
struct adapter *padapter;
|
struct adapter *padapter;
|
||||||
struct net_device *pnetdev = NULL;
|
struct net_device *pnetdev;
|
||||||
|
|
||||||
RT_TRACE(_module_os_intfs_c_, _drv_info_, ("+init_net_dev\n"));
|
RT_TRACE(_module_os_intfs_c_, _drv_info_, ("+init_net_dev\n"));
|
||||||
|
|
||||||
if (old_padapter)
|
pnetdev = alloc_etherdev_mq(sizeof(struct adapter), 4);
|
||||||
pnetdev = rtw_alloc_etherdev_with_old_priv((void *)old_padapter);
|
|
||||||
|
|
||||||
if (!pnetdev)
|
if (!pnetdev)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
pnetdev->dev.type = &wlan_type;
|
pnetdev->dev.type = &wlan_type;
|
||||||
padapter = rtw_netdev_priv(pnetdev);
|
padapter = netdev_priv(pnetdev);
|
||||||
padapter->pnetdev = pnetdev;
|
padapter->pnetdev = pnetdev;
|
||||||
DBG_88E("register rtw_netdev_ops to netdev_ops\n");
|
DBG_88E("register rtw_netdev_ops to netdev_ops\n");
|
||||||
pnetdev->netdev_ops = &rtw_netdev_ops;
|
pnetdev->netdev_ops = &rtw_netdev_ops;
|
||||||
@ -534,7 +532,7 @@ static int _netdev_open(struct net_device *pnetdev)
|
|||||||
{
|
{
|
||||||
uint status;
|
uint status;
|
||||||
int err;
|
int err;
|
||||||
struct adapter *padapter = rtw_netdev_priv(pnetdev);
|
struct adapter *padapter = netdev_priv(pnetdev);
|
||||||
struct pwrctrl_priv *pwrctrlpriv = &padapter->pwrctrlpriv;
|
struct pwrctrl_priv *pwrctrlpriv = &padapter->pwrctrlpriv;
|
||||||
|
|
||||||
RT_TRACE(_module_os_intfs_c_, _drv_info_, ("+88eu_drv - dev_open\n"));
|
RT_TRACE(_module_os_intfs_c_, _drv_info_, ("+88eu_drv - dev_open\n"));
|
||||||
@ -603,7 +601,7 @@ netdev_open_error:
|
|||||||
int netdev_open(struct net_device *pnetdev)
|
int netdev_open(struct net_device *pnetdev)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
struct adapter *padapter = rtw_netdev_priv(pnetdev);
|
struct adapter *padapter = netdev_priv(pnetdev);
|
||||||
|
|
||||||
if (mutex_lock_interruptible(&padapter->hw_init_mutex))
|
if (mutex_lock_interruptible(&padapter->hw_init_mutex))
|
||||||
return -ERESTARTSYS;
|
return -ERESTARTSYS;
|
||||||
@ -689,7 +687,7 @@ void rtw_ips_dev_unload(struct adapter *padapter)
|
|||||||
|
|
||||||
static int netdev_close(struct net_device *pnetdev)
|
static int netdev_close(struct net_device *pnetdev)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(pnetdev);
|
struct adapter *padapter = netdev_priv(pnetdev);
|
||||||
|
|
||||||
RT_TRACE(_module_os_intfs_c_, _drv_info_, ("+88eu_drv - drv_close\n"));
|
RT_TRACE(_module_os_intfs_c_, _drv_info_, ("+88eu_drv - drv_close\n"));
|
||||||
|
|
||||||
|
@ -24,37 +24,6 @@ void _rtw_init_queue(struct __queue *pqueue)
|
|||||||
spin_lock_init(&pqueue->lock);
|
spin_lock_init(&pqueue->lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct net_device *rtw_alloc_etherdev_with_old_priv(void *old_priv)
|
|
||||||
{
|
|
||||||
struct net_device *netdev;
|
|
||||||
struct rtw_netdev_priv_indicator *pnpi;
|
|
||||||
|
|
||||||
netdev = alloc_etherdev_mq(sizeof(struct rtw_netdev_priv_indicator), 4);
|
|
||||||
if (!netdev)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
pnpi = netdev_priv(netdev);
|
|
||||||
pnpi->priv = old_priv;
|
|
||||||
|
|
||||||
return netdev;
|
|
||||||
}
|
|
||||||
|
|
||||||
void rtw_free_netdev(struct net_device *netdev)
|
|
||||||
{
|
|
||||||
struct rtw_netdev_priv_indicator *pnpi;
|
|
||||||
|
|
||||||
if (!netdev)
|
|
||||||
return;
|
|
||||||
|
|
||||||
pnpi = netdev_priv(netdev);
|
|
||||||
|
|
||||||
if (!pnpi->priv)
|
|
||||||
return;
|
|
||||||
|
|
||||||
vfree(pnpi->priv);
|
|
||||||
free_netdev(netdev);
|
|
||||||
}
|
|
||||||
|
|
||||||
void rtw_buf_free(u8 **buf, u32 *buf_len)
|
void rtw_buf_free(u8 **buf, u32 *buf_len)
|
||||||
{
|
{
|
||||||
*buf_len = 0;
|
*buf_len = 0;
|
||||||
|
@ -76,7 +76,7 @@ int rtw_android_cmdstr_to_num(char *cmdstr)
|
|||||||
static int rtw_android_get_rssi(struct net_device *net, char *command,
|
static int rtw_android_get_rssi(struct net_device *net, char *command,
|
||||||
int total_len)
|
int total_len)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(net);
|
struct adapter *padapter = netdev_priv(net);
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
struct wlan_network *pcur_network = &pmlmepriv->cur_network;
|
struct wlan_network *pcur_network = &pmlmepriv->cur_network;
|
||||||
int bytes_written = 0;
|
int bytes_written = 0;
|
||||||
@ -93,7 +93,7 @@ static int rtw_android_get_rssi(struct net_device *net, char *command,
|
|||||||
static int rtw_android_get_link_speed(struct net_device *net, char *command,
|
static int rtw_android_get_link_speed(struct net_device *net, char *command,
|
||||||
int total_len)
|
int total_len)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(net);
|
struct adapter *padapter = netdev_priv(net);
|
||||||
u16 link_speed;
|
u16 link_speed;
|
||||||
|
|
||||||
link_speed = rtw_get_cur_max_rate(padapter) / 10;
|
link_speed = rtw_get_cur_max_rate(padapter) / 10;
|
||||||
@ -111,7 +111,7 @@ static int rtw_android_get_macaddr(struct net_device *net, char *command,
|
|||||||
static int android_set_cntry(struct net_device *net, char *command,
|
static int android_set_cntry(struct net_device *net, char *command,
|
||||||
int total_len)
|
int total_len)
|
||||||
{
|
{
|
||||||
struct adapter *adapter = rtw_netdev_priv(net);
|
struct adapter *adapter = netdev_priv(net);
|
||||||
char *country_code = command + strlen(android_wifi_cmd_str[ANDROID_WIFI_CMD_COUNTRY]) + 1;
|
char *country_code = command + strlen(android_wifi_cmd_str[ANDROID_WIFI_CMD_COUNTRY]) + 1;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
@ -326,26 +326,23 @@ static struct adapter *rtw_usb_if1_init(struct dvobj_priv *dvobj,
|
|||||||
struct usb_interface *pusb_intf,
|
struct usb_interface *pusb_intf,
|
||||||
const struct usb_device_id *pdid)
|
const struct usb_device_id *pdid)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = NULL;
|
struct adapter *padapter;
|
||||||
struct net_device *pnetdev = NULL;
|
struct net_device *pnetdev;
|
||||||
struct net_device *pmondev;
|
struct net_device *pmondev;
|
||||||
int status = _FAIL;
|
int status = _FAIL;
|
||||||
|
|
||||||
padapter = vzalloc(sizeof(*padapter));
|
pnetdev = rtw_init_netdev();
|
||||||
if (!padapter)
|
if (!pnetdev)
|
||||||
goto exit;
|
return NULL;
|
||||||
|
SET_NETDEV_DEV(pnetdev, dvobj_to_dev(dvobj));
|
||||||
|
|
||||||
|
padapter = netdev_priv(pnetdev);
|
||||||
padapter->dvobj = dvobj;
|
padapter->dvobj = dvobj;
|
||||||
dvobj->if1 = padapter;
|
dvobj->if1 = padapter;
|
||||||
|
|
||||||
padapter->bDriverStopped = true;
|
padapter->bDriverStopped = true;
|
||||||
mutex_init(&padapter->hw_init_mutex);
|
mutex_init(&padapter->hw_init_mutex);
|
||||||
|
|
||||||
pnetdev = rtw_init_netdev(padapter);
|
|
||||||
if (!pnetdev)
|
|
||||||
goto free_adapter;
|
|
||||||
SET_NETDEV_DEV(pnetdev, dvobj_to_dev(dvobj));
|
|
||||||
padapter = rtw_netdev_priv(pnetdev);
|
|
||||||
|
|
||||||
if (padapter->registrypriv.monitor_enable) {
|
if (padapter->registrypriv.monitor_enable) {
|
||||||
pmondev = rtl88eu_mon_init();
|
pmondev = rtl88eu_mon_init();
|
||||||
if (!pmondev)
|
if (!pmondev)
|
||||||
@ -421,13 +418,9 @@ free_hal_data:
|
|||||||
kfree(padapter->HalData);
|
kfree(padapter->HalData);
|
||||||
free_adapter:
|
free_adapter:
|
||||||
if (status != _SUCCESS) {
|
if (status != _SUCCESS) {
|
||||||
if (pnetdev)
|
free_netdev(pnetdev);
|
||||||
rtw_free_netdev(pnetdev);
|
|
||||||
else
|
|
||||||
vfree(padapter);
|
|
||||||
padapter = NULL;
|
padapter = NULL;
|
||||||
}
|
}
|
||||||
exit:
|
|
||||||
return padapter;
|
return padapter;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -453,7 +446,7 @@ static void rtw_usb_if1_deinit(struct adapter *if1)
|
|||||||
pr_debug("+r871xu_dev_remove, hw_init_completed=%d\n",
|
pr_debug("+r871xu_dev_remove, hw_init_completed=%d\n",
|
||||||
if1->hw_init_completed);
|
if1->hw_init_completed);
|
||||||
rtw_free_drv_sw(if1);
|
rtw_free_drv_sw(if1);
|
||||||
rtw_free_netdev(pnetdev);
|
free_netdev(pnetdev);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int rtw_drv_init(struct usb_interface *pusb_intf, const struct usb_device_id *pdid)
|
static int rtw_drv_init(struct usb_interface *pusb_intf, const struct usb_device_id *pdid)
|
||||||
|
@ -164,7 +164,7 @@ static int rtw_mlcst2unicst(struct adapter *padapter, struct sk_buff *skb)
|
|||||||
|
|
||||||
int rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev)
|
int rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev)
|
||||||
{
|
{
|
||||||
struct adapter *padapter = rtw_netdev_priv(pnetdev);
|
struct adapter *padapter = netdev_priv(pnetdev);
|
||||||
struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
|
struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
s32 res = 0;
|
s32 res = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user