diff options
Diffstat (limited to 'drivers/staging/rtl8712')
36 files changed, 128 insertions, 239 deletions
diff --git a/drivers/staging/rtl8712/drv_types.h b/drivers/staging/rtl8712/drv_types.h index a44d04effc8b..76ac798642bd 100644 --- a/drivers/staging/rtl8712/drv_types.h +++ b/drivers/staging/rtl8712/drv_types.h @@ -157,12 +157,11 @@ struct _adapter { struct iw_statistics iwstats; int pid; /*process id from UI*/ struct work_struct wk_filter_rx_ff0; - u8 blnEnableRxFF0Filter; - spinlock_t lock_rx_ff0_filter; const struct firmware *fw; struct usb_interface *pusb_intf; struct mutex mutex_start; struct completion rtl8712_fw_ready; + struct completion rx_filter_ready; }; static inline u8 *myid(struct eeprom_priv *peepriv) diff --git a/drivers/staging/rtl8712/ieee80211.c b/drivers/staging/rtl8712/ieee80211.c index f926809b1021..7d8f1a29d18a 100644 --- a/drivers/staging/rtl8712/ieee80211.c +++ b/drivers/staging/rtl8712/ieee80211.c @@ -162,13 +162,13 @@ int r8712_generate_ie(struct registry_priv *registrypriv) uint sz = 0; struct wlan_bssid_ex *dev_network = ®istrypriv->dev_network; u8 *ie = dev_network->IEs; - u16 beaconPeriod = (u16)dev_network->Configuration.BeaconPeriod; + u16 beacon_period = (u16)dev_network->Configuration.BeaconPeriod; /*timestamp will be inserted by hardware*/ sz += 8; ie += sz; /*beacon interval : 2bytes*/ - *(__le16 *)ie = cpu_to_le16(beaconPeriod); + *(__le16 *)ie = cpu_to_le16(beacon_period); sz += 2; ie += 2; /*capability info*/ diff --git a/drivers/staging/rtl8712/os_intfs.c b/drivers/staging/rtl8712/os_intfs.c index d15d52c0d1a7..003e97205124 100644 --- a/drivers/staging/rtl8712/os_intfs.c +++ b/drivers/staging/rtl8712/os_intfs.c @@ -332,7 +332,6 @@ void r8712_free_drv_sw(struct _adapter *padapter) r8712_free_evt_priv(&padapter->evtpriv); r8712_DeInitSwLeds(padapter); r8712_free_mlme_priv(&padapter->mlmepriv); - r8712_free_io_queue(padapter); _free_xmit_priv(&padapter->xmitpriv); _r8712_free_sta_priv(&padapter->stapriv); _r8712_free_recv_priv(&padapter->recvpriv); diff --git a/drivers/staging/rtl8712/rtl8712_cmd.c b/drivers/staging/rtl8712/rtl8712_cmd.c index 2326aae6709e..bb7db96ed821 100644 --- a/drivers/staging/rtl8712/rtl8712_cmd.c +++ b/drivers/staging/rtl8712/rtl8712_cmd.c @@ -117,34 +117,6 @@ static void r871x_internal_cmd_hdl(struct _adapter *padapter, u8 *pbuf) kfree(pdrvcmd->pbuf); } -static u8 read_macreg_hdl(struct _adapter *padapter, u8 *pbuf) -{ - void (*pcmd_callback)(struct _adapter *dev, struct cmd_obj *pcmd); - struct cmd_obj *pcmd = (struct cmd_obj *)pbuf; - - /* invoke cmd->callback function */ - pcmd_callback = cmd_callback[pcmd->cmdcode].callback; - if (!pcmd_callback) - r8712_free_cmd_obj(pcmd); - else - pcmd_callback(padapter, pcmd); - return H2C_SUCCESS; -} - -static u8 write_macreg_hdl(struct _adapter *padapter, u8 *pbuf) -{ - void (*pcmd_callback)(struct _adapter *dev, struct cmd_obj *pcmd); - struct cmd_obj *pcmd = (struct cmd_obj *)pbuf; - - /* invoke cmd->callback function */ - pcmd_callback = cmd_callback[pcmd->cmdcode].callback; - if (!pcmd_callback) - r8712_free_cmd_obj(pcmd); - else - pcmd_callback(padapter, pcmd); - return H2C_SUCCESS; -} - static u8 read_bbreg_hdl(struct _adapter *padapter, u8 *pbuf) { struct cmd_obj *pcmd = (struct cmd_obj *)pbuf; @@ -213,14 +185,6 @@ static struct cmd_obj *cmd_hdl_filter(struct _adapter *padapter, pcmd_r = NULL; switch (pcmd->cmdcode) { - case GEN_CMD_CODE(_Read_MACREG): - read_macreg_hdl(padapter, (u8 *)pcmd); - pcmd_r = pcmd; - break; - case GEN_CMD_CODE(_Write_MACREG): - write_macreg_hdl(padapter, (u8 *)pcmd); - pcmd_r = pcmd; - break; case GEN_CMD_CODE(_Read_BBREG): read_bbreg_hdl(padapter, (u8 *)pcmd); break; diff --git a/drivers/staging/rtl8712/rtl8712_cmdctrl_bitdef.h b/drivers/staging/rtl8712/rtl8712_cmdctrl_bitdef.h index e125c7222ab5..68bdec07f51e 100644 --- a/drivers/staging/rtl8712/rtl8712_cmdctrl_bitdef.h +++ b/drivers/staging/rtl8712/rtl8712_cmdctrl_bitdef.h @@ -91,6 +91,5 @@ #define _BCNSPACE_MSK 0x0FFF #define _BCNSPACE_SHT 0 - #endif /* __RTL8712_CMDCTRL_BITDEF_H__*/ diff --git a/drivers/staging/rtl8712/rtl8712_efuse.c b/drivers/staging/rtl8712/rtl8712_efuse.c index 4f3b54a7c3be..c9400e40a1d6 100644 --- a/drivers/staging/rtl8712/rtl8712_efuse.c +++ b/drivers/staging/rtl8712/rtl8712_efuse.c @@ -298,25 +298,23 @@ static u8 fix_header(struct _adapter *adapter, u8 header, u16 header_addr) continue; } for (i = 0; i < PGPKG_MAX_WORDS; i++) { - if (BIT(i) & word_en) { - if (BIT(i) & pkt.word_en) { - if (efuse_one_byte_read( - adapter, addr, + if (!(BIT(i) & word_en)) + continue; + if (BIT(i) & pkt.word_en) { + if (efuse_one_byte_read(adapter, + addr, &value)) - pkt.data[i * 2] = value; - else - return false; - if (efuse_one_byte_read( - adapter, + pkt.data[i * 2] = value; + else + return false; + if (efuse_one_byte_read(adapter, addr + 1, &value)) - pkt.data[i * 2 + 1] = - value; - else - return false; - } - addr += 2; + pkt.data[i * 2 + 1] = value; + else + return false; } + addr += 2; } } if (addr != header_addr) diff --git a/drivers/staging/rtl8712/rtl8712_efuse.h b/drivers/staging/rtl8712/rtl8712_efuse.h index 4969d307e978..2e1ea9d7a295 100644 --- a/drivers/staging/rtl8712/rtl8712_efuse.h +++ b/drivers/staging/rtl8712/rtl8712_efuse.h @@ -15,8 +15,8 @@ #define GET_EFUSE_OFFSET(header) ((header & 0xF0) >> 4) #define GET_EFUSE_WORD_EN(header) (header & 0x0F) -#define MAKE_EFUSE_HEADER(offset, word_en) (((offset & 0x0F) << 4) | \ - (word_en & 0x0F)) +#define MAKE_EFUSE_HEADER(offset, word_en) ((((offset) & 0x0F) << 4) | \ + ((word_en) & 0x0F)) /*--------------------------------------------------------------------------*/ struct PGPKT_STRUCT { u8 offset; diff --git a/drivers/staging/rtl8712/rtl8712_macsetting_bitdef.h b/drivers/staging/rtl8712/rtl8712_macsetting_bitdef.h index 3d9f40fa8469..46d758d3f3a4 100644 --- a/drivers/staging/rtl8712/rtl8712_macsetting_bitdef.h +++ b/drivers/staging/rtl8712/rtl8712_macsetting_bitdef.h @@ -7,7 +7,6 @@ #ifndef __RTL8712_MACSETTING_BITDEF_H__ #define __RTL8712_MACSETTING_BITDEF_H__ - /*MACID*/ /*BSSID*/ @@ -28,7 +27,5 @@ /*BUILDUSER*/ - - #endif /* __RTL8712_MACSETTING_BITDEF_H__*/ diff --git a/drivers/staging/rtl8712/rtl8712_macsetting_regdef.h b/drivers/staging/rtl8712/rtl8712_macsetting_regdef.h index e8cb2eee9294..64740d99c252 100644 --- a/drivers/staging/rtl8712/rtl8712_macsetting_regdef.h +++ b/drivers/staging/rtl8712/rtl8712_macsetting_regdef.h @@ -16,7 +16,5 @@ #define BUILDTIME (RTL8712_MACIDSETTING_ + 0x0024) #define BUILDUSER (RTL8712_MACIDSETTING_ + 0x0028) - - #endif /*__RTL8712_MACSETTING_REGDEF_H__*/ diff --git a/drivers/staging/rtl8712/rtl8712_ratectrl_regdef.h b/drivers/staging/rtl8712/rtl8712_ratectrl_regdef.h index a3eaee0e1b69..9ed5653f3f7f 100644 --- a/drivers/staging/rtl8712/rtl8712_ratectrl_regdef.h +++ b/drivers/staging/rtl8712/rtl8712_ratectrl_regdef.h @@ -39,6 +39,5 @@ #define MCS_TXAGC7 (RTL8712_RATECTRL_ + 0x67) #define CCK_TXAGC (RTL8712_RATECTRL_ + 0x68) - #endif /*__RTL8712_RATECTRL_REGDEF_H__*/ diff --git a/drivers/staging/rtl8712/rtl8712_recv.c b/drivers/staging/rtl8712/rtl8712_recv.c index 0ffb30f1af7e..7f1fdd058551 100644 --- a/drivers/staging/rtl8712/rtl8712_recv.c +++ b/drivers/staging/rtl8712/rtl8712_recv.c @@ -56,7 +56,7 @@ void r8712_init_recv_priv(struct recv_priv *precvpriv, precvbuf->ref_cnt = 0; precvbuf->adapter = padapter; list_add_tail(&precvbuf->list, - &(precvpriv->free_recv_buf_queue.queue)); + &precvpriv->free_recv_buf_queue.queue); precvbuf++; } precvpriv->free_recv_buf_queue_cnt = NR_RECVBUFF; @@ -123,8 +123,8 @@ void r8712_free_recvframe(union recv_frame *precvframe, precvframe->u.hdr.pkt = NULL; } spin_lock_irqsave(&pfree_recv_queue->lock, irqL); - list_del_init(&(precvframe->u.hdr.list)); - list_add_tail(&(precvframe->u.hdr.list), &pfree_recv_queue->queue); + list_del_init(&precvframe->u.hdr.list); + list_add_tail(&precvframe->u.hdr.list, &pfree_recv_queue->queue); if (padapter) { if (pfree_recv_queue == &precvpriv->free_recv_queue) precvpriv->free_recvframe_cnt++; @@ -319,7 +319,7 @@ static void amsdu_to_msdu(struct _adapter *padapter, union recv_frame *prframe) struct rx_pkt_attrib *pattrib; _pkt *sub_skb, *subframes[MAX_SUBFRAME_COUNT]; struct recv_priv *precvpriv = &padapter->recvpriv; - struct __queue *pfree_recv_queue = &(precvpriv->free_recv_queue); + struct __queue *pfree_recv_queue = &precvpriv->free_recv_queue; nr_subframes = 0; pattrib = &prframe->u.hdr.attrib; @@ -485,8 +485,8 @@ static int enqueue_reorder_recvframe(struct recv_reorder_ctrl *preorder_ctrl, else break; } - list_del_init(&(prframe->u.hdr.list)); - list_add_tail(&(prframe->u.hdr.list), plist); + list_del_init(&prframe->u.hdr.list); + list_add_tail(&prframe->u.hdr.list, plist); return true; } @@ -520,7 +520,7 @@ int r8712_recv_indicatepkts_in_order(struct _adapter *padapter, pattrib = &prframe->u.hdr.attrib; if (!SN_LESS(preorder_ctrl->indicate_seq, pattrib->seq_num)) { plist = plist->next; - list_del_init(&(prframe->u.hdr.list)); + list_del_init(&prframe->u.hdr.list); if (SN_EQUAL(preorder_ctrl->indicate_seq, pattrib->seq_num)) preorder_ctrl->indicate_seq = @@ -980,7 +980,7 @@ static void recvbuf2recvframe(struct _adapter *padapter, struct sk_buff *pskb) union recv_frame *precvframe = NULL; struct recv_priv *precvpriv = &padapter->recvpriv; - pfree_recv_queue = &(precvpriv->free_recv_queue); + pfree_recv_queue = &precvpriv->free_recv_queue; pbuf = pskb->data; prxstat = (struct recv_stat *)pbuf; pkt_cnt = (le32_to_cpu(prxstat->rxdw2) >> 16) & 0xff; diff --git a/drivers/staging/rtl8712/rtl8712_security_bitdef.h b/drivers/staging/rtl8712/rtl8712_security_bitdef.h index 1c26a7eca64a..44275ef455a0 100644 --- a/drivers/staging/rtl8712/rtl8712_security_bitdef.h +++ b/drivers/staging/rtl8712/rtl8712_security_bitdef.h @@ -30,6 +30,5 @@ #define _RXUSEDK BIT(1) #define _TXUSEDK BIT(0) - #endif /*__RTL8712_SECURITY_BITDEF_H__*/ diff --git a/drivers/staging/rtl8712/rtl8712_spec.h b/drivers/staging/rtl8712/rtl8712_spec.h index c0bab4c49ae9..613a410e5714 100644 --- a/drivers/staging/rtl8712/rtl8712_spec.h +++ b/drivers/staging/rtl8712/rtl8712_spec.h @@ -30,7 +30,6 @@ #define RTL8712_IOBASE_FF 0x10300000 /*IOBASE_FIFO 0x1031000~0x103AFFFF*/ - /*IOREG Offset for 8712*/ #define RTL8712_SYSCFG_ RTL8712_IOBASE_IOREG #define RTL8712_CMDCTRL_ (RTL8712_IOBASE_IOREG + 0x40) @@ -47,7 +46,6 @@ #define RTL8712_DEBUGCTRL_ (RTL8712_IOBASE_IOREG + 0x310) #define RTL8712_OFFLOAD_ (RTL8712_IOBASE_IOREG + 0x2D0) - /*FIFO for 8712*/ #define RTL8712_DMA_BCNQ (RTL8712_IOBASE_FF + 0x10000) #define RTL8712_DMA_MGTQ (RTL8712_IOBASE_FF + 0x20000) @@ -60,7 +58,6 @@ #define RTL8712_DMA_H2CCMD (RTL8712_IOBASE_FF + 0x90000) #define RTL8712_DMA_C2HCMD (RTL8712_IOBASE_FF + 0xA0000) - /*------------------------------*/ /*BIT 16 15*/ diff --git a/drivers/staging/rtl8712/rtl8712_syscfg_bitdef.h b/drivers/staging/rtl8712/rtl8712_syscfg_bitdef.h index a328ca9b340c..d92df3fbd2b1 100644 --- a/drivers/staging/rtl8712/rtl8712_syscfg_bitdef.h +++ b/drivers/staging/rtl8712/rtl8712_syscfg_bitdef.h @@ -117,20 +117,17 @@ * Block's Bandgap. */ - /*--------------------------------------------------------------------------*/ /* SPS1_CTRL bits (Offset 0x18-1E, 56bits)*/ /*--------------------------------------------------------------------------*/ #define SPS1_SWEN BIT(1) /* Enable vsps18 SW Macro Block.*/ #define SPS1_LDEN BIT(0) /* Enable VSPS12 LDO Macro block.*/ - /*----------------------------------------------------------------------------*/ /* LDOA15_CTRL bits (Offset 0x20, 8bits)*/ /*----------------------------------------------------------------------------*/ #define LDA15_EN BIT(0) /* Enable LDOA15 Macro Block*/ - /*----------------------------------------------------------------------------*/ /* 8192S LDOV12D_CTRL bit (Offset 0x21, 8bits)*/ /*----------------------------------------------------------------------------*/ @@ -140,7 +137,6 @@ /*CLK_PS_CTRL*/ #define _CLK_GATE_EN BIT(0) - /* EFUSE_CTRL*/ #define EF_FLAG BIT(31) /* Access Flag, Write:1; * Read:0 diff --git a/drivers/staging/rtl8712/rtl8712_syscfg_regdef.h b/drivers/staging/rtl8712/rtl8712_syscfg_regdef.h index e95eb5832ec4..da5efcdedabe 100644 --- a/drivers/staging/rtl8712/rtl8712_syscfg_regdef.h +++ b/drivers/staging/rtl8712/rtl8712_syscfg_regdef.h @@ -14,7 +14,6 @@ #ifndef __RTL8712_SYSCFG_REGDEF_H__ #define __RTL8712_SYSCFG_REGDEF_H__ - #define SYS_ISO_CTRL (RTL8712_SYSCFG_ + 0x0000) #define SYS_FUNC_EN (RTL8712_SYSCFG_ + 0x0002) #define PMC_FSM (RTL8712_SYSCFG_ + 0x0004) @@ -39,6 +38,5 @@ #define RCLK_MON (RTL8712_SYSCFG_ + 0x003E) #define EFUSE_CLK_CTRL (RTL8712_SYSCFG_ + 0x02F8) - #endif /*__RTL8712_SYSCFG_REGDEF_H__*/ diff --git a/drivers/staging/rtl8712/rtl8712_timectrl_bitdef.h b/drivers/staging/rtl8712/rtl8712_timectrl_bitdef.h index 1af5f1dd3c20..d7bc9dd5cecd 100644 --- a/drivers/staging/rtl8712/rtl8712_timectrl_bitdef.h +++ b/drivers/staging/rtl8712/rtl8712_timectrl_bitdef.h @@ -45,6 +45,5 @@ /*BCNERRTH*/ /*MLT*/ - #endif /* __RTL8712_TIMECTRL_BITDEF_H__*/ diff --git a/drivers/staging/rtl8712/rtl8712_wmac_bitdef.h b/drivers/staging/rtl8712/rtl8712_wmac_bitdef.h index d3b45c6cd855..ea164e482347 100644 --- a/drivers/staging/rtl8712/rtl8712_wmac_bitdef.h +++ b/drivers/staging/rtl8712/rtl8712_wmac_bitdef.h @@ -45,6 +45,5 @@ #define _RPT_CNT_MSK 0x000FFFFF #define _RPT_CNT_SHT 0 - #endif /*__RTL8712_WMAC_BITDEF_H__*/ diff --git a/drivers/staging/rtl8712/rtl871x_cmd.c b/drivers/staging/rtl8712/rtl871x_cmd.c index acda930722b2..4be96df5a329 100644 --- a/drivers/staging/rtl8712/rtl871x_cmd.c +++ b/drivers/staging/rtl8712/rtl871x_cmd.c @@ -202,7 +202,7 @@ u8 r8712_sitesurvey_cmd(struct _adapter *padapter, mod_timer(&pmlmepriv->scan_to_timer, jiffies + msecs_to_jiffies(SCANNING_TIMEOUT)); padapter->ledpriv.LedControlHandler(padapter, LED_CTL_SITE_SURVEY); - padapter->blnEnableRxFF0Filter = 0; + complete(&padapter->rx_filter_ready); return _SUCCESS; } @@ -536,7 +536,7 @@ void r8712_setstakey_cmd(struct _adapter *padapter, u8 *psta, u8 unicast_key) return; } init_h2fwcmd_w_parm_no_rsp(ph2c, psetstakey_para, _SetStaKey_CMD_); - ph2c->rsp = (u8 *) psetstakey_rsp; + ph2c->rsp = (u8 *)psetstakey_rsp; ph2c->rspsz = sizeof(struct set_stakey_rsp); ether_addr_copy(psetstakey_para->addr, sta->hwaddr); if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)) diff --git a/drivers/staging/rtl8712/rtl871x_cmd.h b/drivers/staging/rtl8712/rtl871x_cmd.h index ddd69c4ae208..8453d8de8248 100644 --- a/drivers/staging/rtl8712/rtl871x_cmd.h +++ b/drivers/staging/rtl8712/rtl871x_cmd.h @@ -66,7 +66,6 @@ struct evt_priv { u8 *evt_buf; /*shall be non-paged, and 4 bytes aligned*/ u8 *evt_allocated_buf; u32 evt_done_cnt; - struct tasklet_struct event_tasklet; }; #define init_h2fwcmd_w_parm_no_rsp(pcmd, pparm, code) \ @@ -316,7 +315,6 @@ enum _RT_CHANNEL_DOMAIN { RT_CHANNEL_DOMAIN_MAX, }; - struct SetChannelPlan_param { enum _RT_CHANNEL_DOMAIN ChannelPlan; }; @@ -338,7 +336,6 @@ struct getdatarate_rsp { u8 datarates[NumRates]; }; - /* * Caller Mode: Any * AP: AP can use the info for the contents of beacon frame @@ -657,25 +654,25 @@ struct setra_parm { struct setprobereqextraie_parm { unsigned char e_id; unsigned char ie_len; - unsigned char ie[0]; + unsigned char ie[]; }; struct setassocreqextraie_parm { unsigned char e_id; unsigned char ie_len; - unsigned char ie[0]; + unsigned char ie[]; }; struct setproberspextraie_parm { unsigned char e_id; unsigned char ie_len; - unsigned char ie[0]; + unsigned char ie[]; }; struct setassocrspextraie_parm { unsigned char e_id; unsigned char ie_len; - unsigned char ie[0]; + unsigned char ie[]; }; struct addBaReq_parm { diff --git a/drivers/staging/rtl8712/rtl871x_ioctl.h b/drivers/staging/rtl8712/rtl871x_ioctl.h index 634e67461712..d6332a8c7f4f 100644 --- a/drivers/staging/rtl8712/rtl871x_ioctl.h +++ b/drivers/staging/rtl8712/rtl871x_ioctl.h @@ -13,7 +13,6 @@ #define OID_802_11_PMKID 0x0d010123 #endif - /* For DDK-defined OIDs*/ #define OID_NDIS_SEG1 0x00010100 #define OID_NDIS_SEG2 0x00010200 diff --git a/drivers/staging/rtl8712/rtl871x_ioctl_linux.c b/drivers/staging/rtl8712/rtl871x_ioctl_linux.c index 3b6926613257..36f6904d25ab 100644 --- a/drivers/staging/rtl8712/rtl871x_ioctl_linux.c +++ b/drivers/staging/rtl8712/rtl871x_ioctl_linux.c @@ -82,9 +82,9 @@ static inline void handle_pairwise_key(struct sta_info *psta, (param->u.crypt. key_len > 16 ? 16 : param->u.crypt.key_len)); if (strcmp(param->u.crypt.alg, "TKIP") == 0) { /* set mic key */ memcpy(psta->tkiptxmickey. skey, - &(param->u.crypt.key[16]), 8); + ¶m->u.crypt.key[16], 8); memcpy(psta->tkiprxmickey. skey, - &(param->u.crypt.key[24]), 8); + ¶m->u.crypt.key[24], 8); padapter->securitypriv. busetkipkey = false; mod_timer(&padapter->securitypriv.tkip_timer, jiffies + msecs_to_jiffies(50)); @@ -600,7 +600,7 @@ static int r8711_wx_get_name(struct net_device *dev, u32 ht_ielen = 0; char *p; u8 ht_cap = false; - struct mlme_priv *pmlmepriv = &(padapter->mlmepriv); + struct mlme_priv *pmlmepriv = &padapter->mlmepriv; struct wlan_bssid_ex *pcur_bss = &pmlmepriv->cur_network.network; u8 *prates; @@ -659,8 +659,8 @@ static int r8711_wx_set_freq(struct net_device *dev, /* If setting by frequency, convert to a channel */ if ((fwrq->e == 1) && - (fwrq->m >= (int) 2.412e8) && - (fwrq->m <= (int) 2.487e8)) { + (fwrq->m >= 241200000) && + (fwrq->m <= 248700000)) { int f = fwrq->m / 100000; int c = 0; @@ -1494,7 +1494,7 @@ static int r8711_wx_set_enc(struct net_device *dev, u32 keyindex_provided; struct NDIS_802_11_WEP wep; enum NDIS_802_11_AUTHENTICATION_MODE authmode; - struct iw_point *erq = &(wrqu->encoding); + struct iw_point *erq = &wrqu->encoding; struct _adapter *padapter = netdev_priv(dev); key = erq->flags & IW_ENCODE_INDEX; @@ -1589,8 +1589,8 @@ static int r8711_wx_get_enc(struct net_device *dev, { uint key; struct _adapter *padapter = netdev_priv(dev); - struct iw_point *erq = &(wrqu->encoding); - struct mlme_priv *pmlmepriv = &(padapter->mlmepriv); + struct iw_point *erq = &wrqu->encoding; + struct mlme_priv *pmlmepriv = &padapter->mlmepriv; union Keytype *dk = padapter->securitypriv.DefKey; if (!check_fwstate(pmlmepriv, _FW_LINKED)) { @@ -1670,7 +1670,7 @@ static int r871x_wx_set_auth(struct net_device *dev, union iwreq_data *wrqu, char *extra) { 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 paramid; int paramval; int ret = 0; @@ -1964,7 +1964,7 @@ static int r871x_get_ap_info(struct net_device *dev, return -EINVAL; data[32] = 0; - spin_lock_irqsave(&(pmlmepriv->scanned_queue.lock), irqL); + spin_lock_irqsave(&pmlmepriv->scanned_queue.lock, irqL); phead = &queue->queue; plist = phead->next; while (1) { @@ -1974,7 +1974,7 @@ static int r871x_get_ap_info(struct net_device *dev, if (!mac_pton(data, bssid)) { netdev_info(dev, "r8712u: Invalid BSSID '%s'.\n", (u8 *)data); - spin_unlock_irqrestore(&(pmlmepriv->scanned_queue.lock), + spin_unlock_irqrestore(&pmlmepriv->scanned_queue.lock, irqL); return -EINVAL; } @@ -1996,7 +1996,7 @@ static int r871x_get_ap_info(struct net_device *dev, } plist = plist->next; } - spin_unlock_irqrestore(&(pmlmepriv->scanned_queue.lock), irqL); + spin_unlock_irqrestore(&pmlmepriv->scanned_queue.lock, irqL); if (pdata->length >= 34) { if (copy_to_user((u8 __user *)pdata->pointer + 32, (u8 *)&pdata->flags, 1)) diff --git a/drivers/staging/rtl8712/rtl871x_ioctl_rtl.c b/drivers/staging/rtl8712/rtl871x_ioctl_rtl.c index b78101afc93d..2b539335206a 100644 --- a/drivers/staging/rtl8712/rtl871x_ioctl_rtl.c +++ b/drivers/staging/rtl8712/rtl871x_ioctl_rtl.c @@ -367,7 +367,6 @@ uint oid_rt_get_scan_in_progress_hdl(struct oid_par_priv *poid_par_priv) return RNDIS_STATUS_SUCCESS; } - uint oid_rt_forced_data_rate_hdl(struct oid_par_priv *poid_par_priv) { return RNDIS_STATUS_SUCCESS; diff --git a/drivers/staging/rtl8712/rtl871x_ioctl_set.c b/drivers/staging/rtl8712/rtl871x_ioctl_set.c index 6cdc6f1a6bc6..34c9a52b4c42 100644 --- a/drivers/staging/rtl8712/rtl871x_ioctl_set.c +++ b/drivers/staging/rtl8712/rtl871x_ioctl_set.c @@ -22,7 +22,6 @@ #include "usb_osintf.h" #include "usb_ops.h" - static u8 validate_ssid(struct ndis_802_11_ssid *ssid) { u8 i; @@ -76,7 +75,7 @@ static u8 do_join(struct _adapter *padapter) * acquired by caller... */ struct wlan_bssid_ex *pdev_network = - &(padapter->registrypriv.dev_network); + &padapter->registrypriv.dev_network; pmlmepriv->fw_state = WIFI_ADHOC_MASTER_STATE; pibss = padapter->registrypriv.dev_network.MacAddress; memcpy(&pdev_network->Ssid, diff --git a/drivers/staging/rtl8712/rtl871x_mlme.c b/drivers/staging/rtl8712/rtl871x_mlme.c index 92b7c9c07df6..63e12b157001 100644 --- a/drivers/staging/rtl8712/rtl871x_mlme.c +++ b/drivers/staging/rtl8712/rtl871x_mlme.c @@ -431,8 +431,7 @@ static int is_desired_network(struct _adapter *adapter, bselected = false; if (check_fwstate(&adapter->mlmepriv, WIFI_ADHOC_STATE)) { if (pnetwork->network.InfrastructureMode != - adapter->mlmepriv.cur_network.network. - InfrastructureMode) + adapter->mlmepriv.cur_network.network.InfrastructureMode) bselected = false; } return bselected; @@ -539,8 +538,7 @@ void r8712_surveydone_event_callback(struct _adapter *adapter, u8 *pbuf) struct wlan_bssid_ex *pdev_network = &(adapter->registrypriv.dev_network); u8 *pibss = - adapter->registrypriv. - dev_network.MacAddress; + adapter->registrypriv.dev_network.MacAddress; pmlmepriv->fw_state ^= _FW_UNDER_SURVEY; memcpy(&pdev_network->Ssid, &pmlmepriv->assoc_ssid, @@ -688,11 +686,9 @@ void r8712_joinbss_event_callback(struct _adapter *adapter, u8 *pbuf) pnetwork->network.Configuration.DSConfig = le32_to_cpu(pnetwork->network.Configuration.DSConfig); pnetwork->network.Configuration.FHConfig.DwellTime = - le32_to_cpu(pnetwork->network.Configuration.FHConfig. - DwellTime); + le32_to_cpu(pnetwork->network.Configuration.FHConfig.DwellTime); pnetwork->network.Configuration.FHConfig.HopPattern = - le32_to_cpu(pnetwork->network.Configuration. - FHConfig.HopPattern); + le32_to_cpu(pnetwork->network.Configuration.FHConfig.HopPattern); pnetwork->network.Configuration.FHConfig.HopSet = le32_to_cpu(pnetwork->network.Configuration.FHConfig.HopSet); pnetwork->network.Configuration.FHConfig.Length = @@ -717,36 +713,29 @@ void r8712_joinbss_event_callback(struct _adapter *adapter, u8 *pbuf) if (check_fwstate(pmlmepriv, _FW_LINKED)) { if (the_same_macaddr) { ptarget_wlan = - r8712_find_network(&pmlmepriv-> - scanned_queue, + r8712_find_network(&pmlmepriv->scanned_queue, cur_network->network.MacAddress); } else { pcur_wlan = - r8712_find_network(&pmlmepriv-> - scanned_queue, + r8712_find_network(&pmlmepriv->scanned_queue, cur_network->network.MacAddress); if (pcur_wlan) pcur_wlan->fixed = false; pcur_sta = r8712_get_stainfo(pstapriv, cur_network->network.MacAddress); - spin_lock_irqsave(&pstapriv-> - sta_hash_lock, irqL2); + spin_lock_irqsave(&pstapriv->sta_hash_lock, irqL2); r8712_free_stainfo(adapter, pcur_sta); - spin_unlock_irqrestore(&(pstapriv-> - sta_hash_lock), irqL2); + spin_unlock_irqrestore(&(pstapriv->sta_hash_lock), irqL2); ptarget_wlan = - r8712_find_network(&pmlmepriv-> - scanned_queue, - pnetwork->network. - MacAddress); + r8712_find_network(&pmlmepriv->scanned_queue, + pnetwork->network.MacAddress); if (ptarget_wlan) ptarget_wlan->fixed = true; } } else { - ptarget_wlan = r8712_find_network(&pmlmepriv-> - scanned_queue, + ptarget_wlan = r8712_find_network(&pmlmepriv->scanned_queue, pnetwork->network.MacAddress); if (ptarget_wlan) ptarget_wlan->fixed = true; @@ -779,39 +768,25 @@ void r8712_joinbss_event_callback(struct _adapter *adapter, u8 *pbuf) ptarget_sta->aid = pnetwork->join_res; ptarget_sta->qos_option = 1; ptarget_sta->mac_id = 5; - if (adapter->securitypriv. - AuthAlgrthm == 2) { - adapter->securitypriv. - binstallGrpkey = - false; - adapter->securitypriv. - busetkipkey = - false; - adapter->securitypriv. - bgrpkey_handshake = - false; - ptarget_sta->ieee8021x_blocked - = true; - ptarget_sta->XPrivacy = - adapter->securitypriv. - PrivacyAlgrthm; - memset((u8 *)&ptarget_sta-> - x_UncstKey, + if (adapter->securitypriv.AuthAlgrthm == 2) { + adapter->securitypriv.binstallGrpkey = false; + adapter->securitypriv.busetkipkey = false; + adapter->securitypriv.bgrpkey_handshake = false; + ptarget_sta->ieee8021x_blocked = true; + ptarget_sta->XPrivacy = adapter-> + securitypriv.PrivacyAlgrthm; + memset((u8 *)&ptarget_sta->x_UncstKey, 0, sizeof(union Keytype)); - memset((u8 *)&ptarget_sta-> - tkiprxmickey, + memset((u8 *)&ptarget_sta->tkiprxmickey, 0, sizeof(union Keytype)); - memset((u8 *)&ptarget_sta-> - tkiptxmickey, + memset((u8 *)&ptarget_sta->tkiptxmickey, 0, sizeof(union Keytype)); - memset((u8 *)&ptarget_sta-> - txpn, 0, + memset((u8 *)&ptarget_sta->txpn, 0, sizeof(union pn48)); - memset((u8 *)&ptarget_sta-> - rxpn, 0, + memset((u8 *)&ptarget_sta->rxpn, 0, sizeof(union pn48)); } } else { @@ -942,8 +917,7 @@ void r8712_stadel_event_callback(struct _adapter *adapter, u8 *pbuf) pdev_network = &(adapter->registrypriv.dev_network); pibss = adapter->registrypriv.dev_network.MacAddress; memcpy(pdev_network, &tgt_network->network, - r8712_get_wlan_bssid_ex_sz(&tgt_network-> - network)); + r8712_get_wlan_bssid_ex_sz(&tgt_network->network)); memcpy(&pdev_network->Ssid, &pmlmepriv->assoc_ssid, sizeof(struct ndis_802_11_ssid)); @@ -1092,8 +1066,7 @@ int r8712_select_and_join_from_scan(struct mlme_priv *pmlmepriv) src_ssid = pmlmepriv->assoc_bssid; if (!memcmp(dst_ssid, src_ssid, ETH_ALEN)) { if (check_fwstate(pmlmepriv, _FW_LINKED)) { - if (is_same_network(&pmlmepriv-> - cur_network.network, + if (is_same_network(&pmlmepriv->cur_network.network, &pnetwork->network)) { _clr_fwstate_(pmlmepriv, _FW_UNDER_LINKING); @@ -1284,26 +1257,13 @@ int r8712_restruct_wmm_ie(struct _adapter *adapter, u8 *in_ie, u8 *out_ie, */ static int SecIsInPMKIDList(struct _adapter *Adapter, u8 *bssid) { - struct security_priv *psecuritypriv = &Adapter->securitypriv; - int i = 0; - - do { - if (psecuritypriv->PMKIDList[i].bUsed && - (!memcmp(psecuritypriv->PMKIDList[i].Bssid, - bssid, ETH_ALEN))) - break; - i++; - - } while (i < NUM_PMKID_CACHE); + struct security_priv *p = &Adapter->securitypriv; + int i; - if (i == NUM_PMKID_CACHE) { - i = -1; /* Could not find. */ - } else { - ; /* There is one Pre-Authentication Key for the - * specific BSSID. - */ - } - return i; + for (i = 0; i < NUM_PMKID_CACHE; i++) + if (p->PMKIDList[i].bUsed && !memcmp(p->PMKIDList[i].Bssid, bssid, ETH_ALEN)) + return i; + return -1; } sint r8712_restruct_sec_ie(struct _adapter *adapter, u8 *in_ie, diff --git a/drivers/staging/rtl8712/rtl871x_mp_ioctl.h b/drivers/staging/rtl8712/rtl871x_mp_ioctl.h index 98204493a04c..aa4d5ce471f2 100644 --- a/drivers/staging/rtl8712/rtl871x_mp_ioctl.h +++ b/drivers/staging/rtl8712/rtl871x_mp_ioctl.h @@ -148,7 +148,6 @@ extern struct oid_obj_priv oid_rtl_seg_87_12_00[32]; #endif /* _RTL871X_MP_IOCTL_C_ */ - enum MP_MODE { MP_START_MODE, MP_STOP_MODE, diff --git a/drivers/staging/rtl8712/rtl871x_mp_phy_regdef.h b/drivers/staging/rtl8712/rtl871x_mp_phy_regdef.h index ca5072e11e22..a08c5d2f59e3 100644 --- a/drivers/staging/rtl8712/rtl871x_mp_phy_regdef.h +++ b/drivers/staging/rtl8712/rtl871x_mp_phy_regdef.h @@ -26,7 +26,6 @@ #ifndef __RTL871X_MP_PHY_REGDEF_H #define __RTL871X_MP_PHY_REGDEF_H - /*--------------------------Define Parameters-------------------------------*/ /*============================================================ @@ -1008,7 +1007,6 @@ #define ANTENNA_C 0x4 #define ANTENNA_D 0x8 - /* accept all physical address */ #define RCR_AAP BIT(0) #define RCR_APM BIT(1) /* accept physical match */ @@ -1032,6 +1030,5 @@ /*--------------------------Define Parameters-------------------------------*/ - #endif /*__INC_HAL8192SPHYREG_H */ diff --git a/drivers/staging/rtl8712/rtl871x_recv.c b/drivers/staging/rtl8712/rtl871x_recv.c index c23f6b376111..de9a568eaffa 100644 --- a/drivers/staging/rtl8712/rtl871x_recv.c +++ b/drivers/staging/rtl8712/rtl871x_recv.c @@ -234,7 +234,7 @@ union recv_frame *r8712_portctrl(struct _adapter *adapter, u16 ether_type; pstapriv = &adapter->stapriv; - ptr = get_recvframe_data(precv_frame); + ptr = precv_frame->u.hdr.rx_data; pfhdr = &precv_frame->u.hdr; psta_addr = pfhdr->attrib.ta; psta = r8712_get_stainfo(pstapriv, psta_addr); @@ -455,7 +455,6 @@ static sint validate_recv_mgnt_frame(struct _adapter *adapter, return _FAIL; } - static sint validate_recv_data_frame(struct _adapter *adapter, union recv_frame *precv_frame) { @@ -593,7 +592,7 @@ int r8712_wlanhdr_to_ethhdr(union recv_frame *precvframe) struct _adapter *adapter = precvframe->u.hdr.adapter; struct mlme_priv *pmlmepriv = &adapter->mlmepriv; - u8 *ptr = get_recvframe_data(precvframe); /*point to frame_ctrl field*/ + u8 *ptr = precvframe->u.hdr.rx_data; /*point to frame_ctrl field*/ struct rx_pkt_attrib *pattrib = &precvframe->u.hdr.attrib; if (pattrib->encrypt) diff --git a/drivers/staging/rtl8712/rtl871x_recv.h b/drivers/staging/rtl8712/rtl871x_recv.h index 1c8298bde033..0760bccbf389 100644 --- a/drivers/staging/rtl8712/rtl871x_recv.h +++ b/drivers/staging/rtl8712/rtl871x_recv.h @@ -139,14 +139,6 @@ static inline u8 *get_rxmem(union recv_frame *precvframe) return precvframe->u.hdr.rx_head; } -static inline u8 *get_recvframe_data(union recv_frame *precvframe) -{ - /* always return rx_data */ - if (!precvframe) - return NULL; - return precvframe->u.hdr.rx_data; -} - static inline u8 *recvframe_pull(union recv_frame *precvframe, sint sz) { /* used for extract sz bytes from rx_data, update rx_data and return diff --git a/drivers/staging/rtl8712/rtl871x_security.c b/drivers/staging/rtl8712/rtl871x_security.c index e0a1c30a8fe6..e46a5dbc7b65 100644 --- a/drivers/staging/rtl8712/rtl871x_security.c +++ b/drivers/staging/rtl8712/rtl871x_security.c @@ -381,7 +381,6 @@ void seccalctkipmic(u8 *key, u8 *header, u8 *data, u32 data_len, u8 *mic_code, #define P1K_SIZE 10 /* 80-bit Phase1 key */ #define RC4_KEY_SIZE 16 /* 128-bit RC4KEY (104 bits unknown) */ - /* 2-unsigned char by 2-unsigned char subset of the full AES S-box table */ static const unsigned short Sbox1[2][256] = {/* Sbox for hash (can be in ROM) */ { diff --git a/drivers/staging/rtl8712/sta_info.h b/drivers/staging/rtl8712/sta_info.h index 9b7e5ffa380d..6286c622475e 100644 --- a/drivers/staging/rtl8712/sta_info.h +++ b/drivers/staging/rtl8712/sta_info.h @@ -21,7 +21,6 @@ #define NUM_STA 32 #define NUM_ACL 64 - /* if mode ==0, then the sta is allowed once the addr is hit. * if mode ==1, then the sta is rejected once the addr is non-hit. */ diff --git a/drivers/staging/rtl8712/usb_intf.c b/drivers/staging/rtl8712/usb_intf.c index ee4c61f85a07..37364d3101e2 100644 --- a/drivers/staging/rtl8712/usb_intf.c +++ b/drivers/staging/rtl8712/usb_intf.c @@ -265,6 +265,7 @@ static uint r8712_usb_dvobj_init(struct _adapter *padapter) static void r8712_usb_dvobj_deinit(struct _adapter *padapter) { + r8712_free_io_queue(padapter); } void rtl871x_intf_stop(struct _adapter *padapter) @@ -302,9 +303,6 @@ void r871x_dev_unload(struct _adapter *padapter) rtl8712_hal_deinit(padapter); } - /*s6.*/ - if (padapter->dvobj_deinit) - padapter->dvobj_deinit(padapter); padapter->bup = false; } } @@ -538,13 +536,13 @@ static int r871xu_drv_init(struct usb_interface *pusb_intf, } else { AutoloadFail = false; } - if (((mac[0] == 0xff) && (mac[1] == 0xff) && + if ((!AutoloadFail) || + ((mac[0] == 0xff) && (mac[1] == 0xff) && (mac[2] == 0xff) && (mac[3] == 0xff) && (mac[4] == 0xff) && (mac[5] == 0xff)) || ((mac[0] == 0x00) && (mac[1] == 0x00) && (mac[2] == 0x00) && (mac[3] == 0x00) && - (mac[4] == 0x00) && (mac[5] == 0x00)) || - (!AutoloadFail)) { + (mac[4] == 0x00) && (mac[5] == 0x00))) { mac[0] = 0x00; mac[1] = 0xe0; mac[2] = 0x4c; @@ -568,7 +566,7 @@ static int r871xu_drv_init(struct usb_interface *pusb_intf, /* step 6. Load the firmware asynchronously */ if (rtl871x_load_fw(padapter)) goto deinit_drv_sw; - spin_lock_init(&padapter->lock_rx_ff0_filter); + init_completion(&padapter->rx_filter_ready); mutex_init(&padapter->mutex_start); return 0; @@ -607,6 +605,8 @@ static void r871xu_dev_remove(struct usb_interface *pusb_intf) /* Stop driver mlme relation timer */ r8712_stop_drv_timers(padapter); r871x_dev_unload(padapter); + if (padapter->dvobj_deinit) + padapter->dvobj_deinit(padapter); r8712_free_drv_sw(padapter); free_netdev(pnetdev); diff --git a/drivers/staging/rtl8712/usb_ops.c b/drivers/staging/rtl8712/usb_ops.c index e64845e6adf3..af9966d03979 100644 --- a/drivers/staging/rtl8712/usb_ops.c +++ b/drivers/staging/rtl8712/usb_ops.c @@ -29,7 +29,8 @@ static u8 usb_read8(struct intf_hdl *intfhdl, u32 addr) u16 wvalue; u16 index; u16 len; - __le32 data; + int status; + __le32 data = 0; struct intf_priv *intfpriv = intfhdl->pintfpriv; request = 0x05; @@ -37,8 +38,10 @@ static u8 usb_read8(struct intf_hdl *intfhdl, u32 addr) index = 0; wvalue = (u16)(addr & 0x0000ffff); len = 1; - r8712_usbctrl_vendorreq(intfpriv, request, wvalue, index, &data, len, - requesttype); + status = r8712_usbctrl_vendorreq(intfpriv, request, wvalue, index, + &data, len, requesttype); + if (status < 0) + return 0; return (u8)(le32_to_cpu(data) & 0x0ff); } @@ -49,7 +52,8 @@ static u16 usb_read16(struct intf_hdl *intfhdl, u32 addr) u16 wvalue; u16 index; u16 len; - __le32 data; + int status; + __le32 data = 0; struct intf_priv *intfpriv = intfhdl->pintfpriv; request = 0x05; @@ -57,8 +61,10 @@ static u16 usb_read16(struct intf_hdl *intfhdl, u32 addr) index = 0; wvalue = (u16)(addr & 0x0000ffff); len = 2; - r8712_usbctrl_vendorreq(intfpriv, request, wvalue, index, &data, len, - requesttype); + status = r8712_usbctrl_vendorreq(intfpriv, request, wvalue, index, + &data, len, requesttype); + if (status < 0) + return 0; return (u16)(le32_to_cpu(data) & 0xffff); } @@ -69,7 +75,8 @@ static u32 usb_read32(struct intf_hdl *intfhdl, u32 addr) u16 wvalue; u16 index; u16 len; - __le32 data; + int status; + __le32 data = 0; struct intf_priv *intfpriv = intfhdl->pintfpriv; request = 0x05; @@ -77,8 +84,10 @@ static u32 usb_read32(struct intf_hdl *intfhdl, u32 addr) index = 0; wvalue = (u16)(addr & 0x0000ffff); len = 4; - r8712_usbctrl_vendorreq(intfpriv, request, wvalue, index, &data, len, - requesttype); + status = r8712_usbctrl_vendorreq(intfpriv, request, wvalue, index, + &data, len, requesttype); + if (status < 0) + return 0; return le32_to_cpu(data); } diff --git a/drivers/staging/rtl8712/usb_ops_linux.c b/drivers/staging/rtl8712/usb_ops_linux.c index f984a5ab2c6f..b2181e1e2d38 100644 --- a/drivers/staging/rtl8712/usb_ops_linux.c +++ b/drivers/staging/rtl8712/usb_ops_linux.c @@ -495,14 +495,21 @@ int r8712_usbctrl_vendorreq(struct intf_priv *pintfpriv, u8 request, u16 value, } status = usb_control_msg(udev, pipe, request, reqtype, value, index, pIo_buf, len, 500); - if (status > 0) { /* Success this control transfer. */ - if (requesttype == 0x01) { - /* For Control read transfer, we have to copy the read - * data from pIo_buf to pdata. - */ - memcpy(pdata, pIo_buf, status); - } + if (status < 0) + goto free; + if (status != len) { + status = -EREMOTEIO; + goto free; + } + /* Success this control transfer. */ + if (requesttype == 0x01) { + /* For Control read transfer, we have to copy the read + * data from pIo_buf to pdata. + */ + memcpy(pdata, pIo_buf, status); } + +free: kfree(palloc_buf); return status; } diff --git a/drivers/staging/rtl8712/wifi.h b/drivers/staging/rtl8712/wifi.h index b8acb9c7395d..498e6dec7e67 100644 --- a/drivers/staging/rtl8712/wifi.h +++ b/drivers/staging/rtl8712/wifi.h @@ -186,7 +186,6 @@ static inline unsigned char *get_hdr_bssid(unsigned char *pframe) #define _CAPABILITY_ 2 #define _TIMESTAMP_ 8 - /*----------------------------------------------------------------------------- * Below is the definition for WMM *------------------------------------------------------------------------------ diff --git a/drivers/staging/rtl8712/xmit_linux.c b/drivers/staging/rtl8712/xmit_linux.c index 90d34cf9d2ff..132afbf49dde 100644 --- a/drivers/staging/rtl8712/xmit_linux.c +++ b/drivers/staging/rtl8712/xmit_linux.c @@ -66,16 +66,16 @@ void r8712_set_qos(struct pkt_file *ppktfile, struct pkt_attrib *pattrib) { struct ethhdr etherhdr; struct iphdr ip_hdr; - u16 UserPriority = 0; + u16 user_priority = 0; _r8712_open_pktfile(ppktfile->pkt, ppktfile); _r8712_pktfile_read(ppktfile, (unsigned char *)ðerhdr, ETH_HLEN); - /* get UserPriority from IP hdr*/ + /* get user_priority from IP hdr*/ if (pattrib->ether_type == 0x0800) { _r8712_pktfile_read(ppktfile, (u8 *)&ip_hdr, sizeof(ip_hdr)); - /*UserPriority = (ntohs(ip_hdr.tos) >> 5) & 0x3 ;*/ - UserPriority = ip_hdr.tos >> 5; + /*user_priority = (ntohs(ip_hdr.tos) >> 5) & 0x3 ;*/ + user_priority = ip_hdr.tos >> 5; } else { /* "When priority processing of data frames is supported, * a STA's SME should send EAPOL-Key frames at the highest @@ -83,9 +83,9 @@ void r8712_set_qos(struct pkt_file *ppktfile, struct pkt_attrib *pattrib) */ if (pattrib->ether_type == 0x888e) - UserPriority = 7; + user_priority = 7; } - pattrib->priority = UserPriority; + pattrib->priority = user_priority; pattrib->hdrlen = WLAN_HDR_A3_QOS_LEN; pattrib->subtype = WIFI_QOS_DATA_TYPE; } @@ -95,18 +95,12 @@ void r8712_SetFilter(struct work_struct *work) struct _adapter *adapter = container_of(work, struct _adapter, wk_filter_rx_ff0); u8 oldvalue = 0x00, newvalue = 0x00; - unsigned long irqL; oldvalue = r8712_read8(adapter, 0x117); newvalue = oldvalue & 0xfe; r8712_write8(adapter, 0x117, newvalue); - spin_lock_irqsave(&adapter->lock_rx_ff0_filter, irqL); - adapter->blnEnableRxFF0Filter = 1; - spin_unlock_irqrestore(&adapter->lock_rx_ff0_filter, irqL); - do { - msleep(100); - } while (adapter->blnEnableRxFF0Filter == 1); + wait_for_completion(&adapter->rx_filter_ready); r8712_write8(adapter, 0x117, oldvalue); } @@ -146,7 +140,7 @@ void r8712_xmit_complete(struct _adapter *padapter, struct xmit_frame *pxframe) pxframe->pkt = NULL; } -int r8712_xmit_entry(_pkt *pkt, struct net_device *netdev) +netdev_tx_t r8712_xmit_entry(_pkt *pkt, struct net_device *netdev) { struct xmit_frame *xmitframe = NULL; struct _adapter *adapter = netdev_priv(netdev); @@ -171,11 +165,11 @@ int r8712_xmit_entry(_pkt *pkt, struct net_device *netdev) } xmitpriv->tx_pkts++; xmitpriv->tx_bytes += xmitframe->attrib.last_txcmdsz; - return 0; + return NETDEV_TX_OK; _xmit_entry_drop: if (xmitframe) r8712_free_xmitframe(xmitpriv, xmitframe); xmitpriv->tx_drop++; dev_kfree_skb_any(pkt); - return 0; + return NETDEV_TX_OK; } diff --git a/drivers/staging/rtl8712/xmit_osdep.h b/drivers/staging/rtl8712/xmit_osdep.h index b76021b568f8..1ad42658c883 100644 --- a/drivers/staging/rtl8712/xmit_osdep.h +++ b/drivers/staging/rtl8712/xmit_osdep.h @@ -34,7 +34,7 @@ struct sta_xmit_priv; struct xmit_frame; struct xmit_buf; -int r8712_xmit_entry(_pkt *pkt, struct net_device *pnetdev); +netdev_tx_t r8712_xmit_entry(_pkt *pkt, struct net_device *pnetdev); void r8712_SetFilter(struct work_struct *work); int r8712_xmit_resource_alloc(struct _adapter *padapter, struct xmit_buf *pxmitbuf); |