diff options
Diffstat (limited to 'drivers/staging/rtl8712')
34 files changed, 644 insertions, 944 deletions
diff --git a/drivers/staging/rtl8712/Kconfig b/drivers/staging/rtl8712/Kconfig index 6a43312380e..f160eee52f0 100644 --- a/drivers/staging/rtl8712/Kconfig +++ b/drivers/staging/rtl8712/Kconfig @@ -4,7 +4,6 @@ config R8712U select WIRELESS_EXT select WEXT_PRIV select FW_LOADER - default N ---help--- This option adds the Realtek RTL8712 USB device such as the D-Link DWA-130. If built as a module, it will be called r8712u. @@ -12,7 +11,6 @@ config R8712U config R8712_TX_AGGR bool "Realtek RTL8712U Transmit Aggregation code" depends on R8712U && BROKEN - default N ---help--- This option provides transmit aggregation for the Realtek RTL8712 USB device. diff --git a/drivers/staging/rtl8712/drv_types.h b/drivers/staging/rtl8712/drv_types.h index a074fe81016..3362e5e32bc 100644 --- a/drivers/staging/rtl8712/drv_types.h +++ b/drivers/staging/rtl8712/drv_types.h @@ -168,7 +168,7 @@ struct _adapter { struct task_struct *xmitThread; pid_t recvThread; uint(*dvobj_init)(struct _adapter *adapter); - void (*dvobj_deinit)(struct _adapter *adapter); + void (*dvobj_deinit)(struct _adapter *adapter); struct net_device *pnetdev; int bup; struct net_device_stats stats; diff --git a/drivers/staging/rtl8712/ethernet.h b/drivers/staging/rtl8712/ethernet.h index 90954203776..fad173f4097 100644 --- a/drivers/staging/rtl8712/ethernet.h +++ b/drivers/staging/rtl8712/ethernet.h @@ -26,15 +26,8 @@ #ifndef __INC_ETHERNET_H #define __INC_ETHERNET_H -#define ETHERNET_ADDRESS_LENGTH 6 /*!< Ethernet Address Length*/ #define ETHERNET_HEADER_SIZE 14 /*!< Ethernet Header Length*/ #define LLC_HEADER_SIZE 6 /*!< LLC Header Length*/ -#define TYPE_LENGTH_FIELD_SIZE 2 /*!< Type/Length Size*/ -#define MINIMUM_ETHERNET_PACKET_SIZE 60 /*!< Min Ethernet Packet Size*/ -#define MAXIMUM_ETHERNET_PACKET_SIZE 1514 /*!< Max Ethernet Packet Size*/ - -/*!< Is Multicast Address? */ -#define RT_ETH_IS_MULTICAST(_pAddr) ((((u8 *)(_pAddr))[0]&0x01) != 0) #endif /* #ifndef __INC_ETHERNET_H */ diff --git a/drivers/staging/rtl8712/hal_init.c b/drivers/staging/rtl8712/hal_init.c index cb9d4cfe8fe..36de7e478f3 100644 --- a/drivers/staging/rtl8712/hal_init.c +++ b/drivers/staging/rtl8712/hal_init.c @@ -49,7 +49,7 @@ static void rtl871x_load_fw_cb(const struct firmware *firmware, void *context) if (!firmware) { struct usb_device *udev = padapter->dvobjpriv.pusbdev; struct usb_interface *pusb_intf = padapter->pusb_intf; - printk(KERN_ERR "r8712u: Firmware request failed\n"); + dev_err(&udev->dev, "r8712u: Firmware request failed\n"); padapter->fw_found = false; usb_put_dev(udev); usb_set_intfdata(pusb_intf, NULL); @@ -69,12 +69,11 @@ int rtl871x_load_fw(struct _adapter *padapter) int rc; init_completion(&padapter->rtl8712_fw_ready); - printk(KERN_INFO "r8712u: Loading firmware from \"%s\"\n", - firmware_file); + dev_info(dev, "r8712u: Loading firmware from \"%s\"\n", firmware_file); rc = request_firmware_nowait(THIS_MODULE, 1, firmware_file, dev, GFP_KERNEL, padapter, rtl871x_load_fw_cb); if (rc) - printk(KERN_ERR "r8712u: Firmware request error %d\n", rc); + dev_err(dev, "r8712u: Firmware request error %d\n", rc); return rc; } MODULE_FIRMWARE("rtlwifi/rtl8712u.bin"); @@ -84,8 +83,8 @@ static u32 rtl871x_open_fw(struct _adapter *padapter, const u8 **ppmappedfw) const struct firmware **praw = &padapter->fw; if (padapter->fw->size > 200000) { - printk(KERN_ERR "r8172u: Badfw->size of %d\n", - (int)padapter->fw->size); + dev_err(&padapter->pnetdev->dev, "r8172u: Badfw->size of %d\n", + (int)padapter->fw->size); return 0; } *ppmappedfw = (u8 *)((*praw)->data); @@ -184,7 +183,7 @@ static u8 rtl8712_dl_fw(struct _adapter *padapter) maxlen = (fwhdr.img_IMEM_size > fwhdr.img_SRAM_size) ? fwhdr.img_IMEM_size : fwhdr.img_SRAM_size; maxlen += txdscp_sz; - ptmpchar = _malloc(maxlen + FWBUFF_ALIGN_SZ); + ptmpchar = kmalloc(maxlen + FWBUFF_ALIGN_SZ, GFP_ATOMIC); if (ptmpchar == NULL) return ret; @@ -334,11 +333,13 @@ uint rtl8712_hal_init(struct _adapter *padapter) if (rtl8712_dl_fw(padapter) != _SUCCESS) return _FAIL; - printk(KERN_INFO "r8712u: 1 RCR=0x%x\n", r8712_read32(padapter, RCR)); + netdev_info(padapter->pnetdev, "1 RCR=0x%x\n", + r8712_read32(padapter, RCR)); val32 = r8712_read32(padapter, RCR); r8712_write32(padapter, RCR, (val32 | BIT(26))); /* Enable RX TCP Checksum offload */ - printk(KERN_INFO "r8712u: 2 RCR=0x%x\n", r8712_read32(padapter, RCR)); + netdev_info(padapter->pnetdev, "2 RCR=0x%x\n", + r8712_read32(padapter, RCR)); val32 = r8712_read32(padapter, RCR); r8712_write32(padapter, RCR, (val32|BIT(25))); /* Append PHY status */ val32 = 0; diff --git a/drivers/staging/rtl8712/ieee80211.c b/drivers/staging/rtl8712/ieee80211.c index cc68d9748ed..fe9459e483c 100644 --- a/drivers/staging/rtl8712/ieee80211.c +++ b/drivers/staging/rtl8712/ieee80211.c @@ -78,9 +78,9 @@ uint r8712_is_cckrates_included(u8 *rate) if ((((rate[i]) & 0x7f) == 2) || (((rate[i]) & 0x7f) == 4) || (((rate[i]) & 0x7f) == 11) || (((rate[i]) & 0x7f) == 22)) return true; - i++; - } - return false; + i++; + } + return false; } uint r8712_is_cckratesonly_included(u8 *rate) @@ -289,7 +289,7 @@ static int r8712_get_wpa2_cipher_suite(u8 *s) int r8712_parse_wpa_ie(u8 *wpa_ie, int wpa_ie_len, int *group_cipher, int *pairwise_cipher) { - int i, ret = _SUCCESS; + int i; int left, count; u8 *pos; @@ -324,13 +324,13 @@ int r8712_parse_wpa_ie(u8 *wpa_ie, int wpa_ie_len, int *group_cipher, } } else if (left == 1) return _FAIL; - return ret; + return _SUCCESS; } int r8712_parse_wpa2_ie(u8 *rsn_ie, int rsn_ie_len, int *group_cipher, int *pairwise_cipher) { - int i, ret = _SUCCESS; + int i; int left, count; u8 *pos; @@ -364,7 +364,7 @@ int r8712_parse_wpa2_ie(u8 *rsn_ie, int rsn_ie_len, int *group_cipher, } } else if (left == 1) return _FAIL; - return ret; + return _SUCCESS; } int r8712_get_sec_ie(u8 *in_ie, uint in_len, u8 *rsn_ie, u16 *rsn_len, diff --git a/drivers/staging/rtl8712/ieee80211.h b/drivers/staging/rtl8712/ieee80211.h index 21515c31b37..da4000e49da 100644 --- a/drivers/staging/rtl8712/ieee80211.h +++ b/drivers/staging/rtl8712/ieee80211.h @@ -777,7 +777,7 @@ extern inline int ieee80211_get_hdrlen(u16 fc) struct registry_priv; u8 *r8712_set_ie(u8 *pbuf, sint index, uint len, u8 *source, uint *frlen); -u8 *r8712_get_ie(u8*pbuf, sint index, sint *len, sint limit); +u8 *r8712_get_ie(u8 *pbuf, sint index, sint *len, sint limit); unsigned char *r8712_get_wpa_ie(unsigned char *pie, int *rsn_ie_len, int limit); unsigned char *r8712_get_wpa2_ie(unsigned char *pie, int *rsn_ie_len, int limit); diff --git a/drivers/staging/rtl8712/mlme_linux.c b/drivers/staging/rtl8712/mlme_linux.c index 7279854c86a..377efb88676 100644 --- a/drivers/staging/rtl8712/mlme_linux.c +++ b/drivers/staging/rtl8712/mlme_linux.c @@ -106,8 +106,6 @@ void r8712_os_indicate_disconnect(struct _adapter *adapter) * disconnect with AP for 60 seconds. */ - memset(&backupPMKIDList[0], 0x00, sizeof( - struct RT_PMKID_LIST) * NUM_PMKID_CACHE); memcpy(&backupPMKIDList[0], &adapter->securitypriv. PMKIDList[0], sizeof(struct RT_PMKID_LIST) * NUM_PMKID_CACHE); @@ -149,10 +147,9 @@ void r8712_report_sec_ie(struct _adapter *adapter, u8 authmode, u8 *sec_ie) buff = NULL; if (authmode == _WPA_IE_ID_) { - buff = _malloc(IW_CUSTOM_MAX); + buff = kzalloc(IW_CUSTOM_MAX, GFP_ATOMIC); if (buff == NULL) return; - memset(buff, 0, IW_CUSTOM_MAX); p = buff; p += sprintf(p, "ASSOCINFO(ReqIEs="); len = sec_ie[1] + 2; diff --git a/drivers/staging/rtl8712/os_intfs.c b/drivers/staging/rtl8712/os_intfs.c index e00f7918d26..6bd08213cb7 100644 --- a/drivers/staging/rtl8712/os_intfs.c +++ b/drivers/staging/rtl8712/os_intfs.c @@ -29,7 +29,6 @@ #define _OS_INTFS_C_ #include <linux/module.h> -#include <linux/init.h> #include <linux/kthread.h> #include <linux/firmware.h> #include "osdep_service.h" @@ -141,7 +140,7 @@ static uint loadparam(struct _adapter *padapter, struct net_device *pnetdev) registry_par->ssid.SsidLength = 3; registry_par->channel = (u8)channel; registry_par->wireless_mode = (u8)wireless_mode; - registry_par->vrtl_carrier_sense = (u8)vrtl_carrier_sense ; + registry_par->vrtl_carrier_sense = (u8)vrtl_carrier_sense; registry_par->vcs_type = (u8)vcs_type; registry_par->frag_thresh = (u16)frag_thresh; registry_par->preamble = (u8)preamble; @@ -224,8 +223,7 @@ struct net_device *r8712_init_netdev(void) } padapter = (struct _adapter *) netdev_priv(pnetdev); padapter->pnetdev = pnetdev; - printk(KERN_INFO "r8712u: register rtl8712_netdev_ops to" - " netdev_ops\n"); + pr_info("r8712u: register rtl8712_netdev_ops to netdev_ops\n"); pnetdev->netdev_ops = &rtl8712_netdev_ops; pnetdev->watchdog_timeo = HZ; /* 1 second timeout */ pnetdev->wireless_handlers = (struct iw_handler_def *) @@ -239,9 +237,9 @@ struct net_device *r8712_init_netdev(void) static u32 start_drv_threads(struct _adapter *padapter) { - padapter->cmdThread = kthread_run(r8712_cmd_thread, padapter, + padapter->cmdThread = kthread_run(r8712_cmd_thread, padapter, "%s", padapter->pnetdev->name); - if (IS_ERR(padapter->cmdThread) < 0) + if (IS_ERR(padapter->cmdThread)) return _FAIL; return _SUCCESS; } diff --git a/drivers/staging/rtl8712/osdep_service.h b/drivers/staging/rtl8712/osdep_service.h index f1ccc7ebbda..09e156199e7 100644 --- a/drivers/staging/rtl8712/osdep_service.h +++ b/drivers/staging/rtl8712/osdep_service.h @@ -147,7 +147,8 @@ static inline u32 _queue_empty(struct __queue *pqueue) return is_list_empty(&(pqueue->queue)); } -static inline u32 end_of_queue_search(struct list_head *head, struct list_head *plist) +static inline u32 end_of_queue_search(struct list_head *head, + struct list_head *plist) { if (head == plist) return true; @@ -164,12 +165,7 @@ static inline void sleep_schedulable(int ms) delta = 1;/* 1 ms */ set_current_state(TASK_INTERRUPTIBLE); if (schedule_timeout(delta) != 0) - return ; -} - -static inline u8 *_malloc(u32 sz) -{ - return kmalloc(sz, GFP_ATOMIC); + return; } static inline unsigned char _cancel_timer_ex(struct timer_list *ptimer) diff --git a/drivers/staging/rtl8712/rtl8712_cmd.c b/drivers/staging/rtl8712/rtl8712_cmd.c index 088647cdca9..8ca7d7e68dc 100644 --- a/drivers/staging/rtl8712/rtl8712_cmd.c +++ b/drivers/staging/rtl8712/rtl8712_cmd.c @@ -31,7 +31,6 @@ #include <linux/compiler.h> #include <linux/kernel.h> #include <linux/errno.h> -#include <linux/init.h> #include <linux/slab.h> #include <linux/module.h> #include <linux/kref.h> @@ -62,7 +61,7 @@ static void check_hw_pbc(struct _adapter *padapter) r8712_write8(padapter, GPIO_IO_SEL, tmp1byte); tmp1byte = r8712_read8(padapter, GPIO_CTRL); if (tmp1byte == 0xff) - return ; + return; if (tmp1byte&HAL_8192S_HW_GPIO_WPS_BIT) { /* Here we only set bPbcPressed to true * After trigger PBC, the variable will be set to false */ @@ -291,8 +290,7 @@ static struct cmd_obj *cmd_hdl_filter(struct _adapter *padapter, static u8 check_cmd_fifo(struct _adapter *padapter, uint sz) { - u8 res = _SUCCESS; - return res; + return _SUCCESS; } u8 r8712_fw_cmd(struct _adapter *pAdapter, u32 cmd) @@ -381,7 +379,7 @@ _next: *pcmdbuf = cpu_to_le32((cmdsz & 0x0000ffff) | (pcmd->cmdcode << 16) | (pcmdpriv->cmd_seq << 24)); - pcmdbuf += 2 ; /* 8 bytes alignment */ + pcmdbuf += 2; /* 8 bytes alignment */ memcpy((u8 *)pcmdbuf, pcmd->parmbuf, pcmd->cmdsz); while (check_cmd_fifo(padapter, wr_sz) == _FAIL) { if ((padapter->bDriverStopped == true) || @@ -471,11 +469,9 @@ void r8712_event_handle(struct _adapter *padapter, uint *peventbuf) if (pevt_priv->event_seq > 127) pevt_priv->event_seq = 0; peventbuf = peventbuf + 2; /* move to event content, 8 bytes alignment */ - if (peventbuf) { - event_callback = wlanevents[evt_code].event_callback; - if (event_callback) - event_callback(padapter, (u8 *)peventbuf); - } + event_callback = wlanevents[evt_code].event_callback; + if (event_callback) + event_callback(padapter, (u8 *)peventbuf); pevt_priv->evt_done_cnt++; _abort_event_: return; diff --git a/drivers/staging/rtl8712/rtl8712_efuse.c b/drivers/staging/rtl8712/rtl8712_efuse.c index 377fca90580..c9eeb4270ab 100644 --- a/drivers/staging/rtl8712/rtl8712_efuse.c +++ b/drivers/staging/rtl8712/rtl8712_efuse.c @@ -231,7 +231,7 @@ u16 r8712_efuse_get_current_size(struct _adapter *padapter) /* read next header */ efuse_addr = efuse_addr + (word_cnts * 2) + 1; } else - bContinual = false ; + bContinual = false; } return efuse_addr; } diff --git a/drivers/staging/rtl8712/rtl8712_led.c b/drivers/staging/rtl8712/rtl8712_led.c index c9eb4b74799..6cb1a0af517 100644 --- a/drivers/staging/rtl8712/rtl8712_led.c +++ b/drivers/staging/rtl8712/rtl8712_led.c @@ -267,12 +267,8 @@ static void SwLedBlink(struct LED_871x *pLed) LED_BLINK_SLOWLY_INTERVAL); break; case LED_BLINK_WPS: - if (pLed->BlinkingLedState == LED_ON) - _set_timer(&(pLed->BlinkTimer), - LED_BLINK_LONG_INTERVAL); - else - _set_timer(&(pLed->BlinkTimer), - LED_BLINK_LONG_INTERVAL); + _set_timer(&(pLed->BlinkTimer), + LED_BLINK_LONG_INTERVAL); break; default: _set_timer(&(pLed->BlinkTimer), diff --git a/drivers/staging/rtl8712/rtl8712_recv.c b/drivers/staging/rtl8712/rtl8712_recv.c index c76732cdb18..1f700171af1 100644 --- a/drivers/staging/rtl8712/rtl8712_recv.c +++ b/drivers/staging/rtl8712/rtl8712_recv.c @@ -58,12 +58,10 @@ int r8712_init_recv_priv(struct recv_priv *precvpriv, struct _adapter *padapter) /*init recv_buf*/ _init_queue(&precvpriv->free_recv_buf_queue); - precvpriv->pallocated_recv_buf = _malloc(NR_RECVBUFF * - sizeof(struct recv_buf) + 4); + precvpriv->pallocated_recv_buf = kzalloc(NR_RECVBUFF * sizeof(struct recv_buf) + 4, + GFP_ATOMIC); if (precvpriv->pallocated_recv_buf == NULL) return _FAIL; - memset(precvpriv->pallocated_recv_buf, 0, NR_RECVBUFF * - sizeof(struct recv_buf) + 4); precvpriv->precv_buf = precvpriv->pallocated_recv_buf + 4 - ((addr_t) (precvpriv->pallocated_recv_buf) & 3); precvbuf = (struct recv_buf *)precvpriv->precv_buf; @@ -90,7 +88,6 @@ int r8712_init_recv_priv(struct recv_priv *precvpriv, struct _adapter *padapter) pskb = netdev_alloc_skb(padapter->pnetdev, MAX_RECVBUF_SZ + RECVBUFF_ALIGN_SZ); if (pskb) { - pskb->dev = padapter->pnetdev; tmpaddr = (addr_t)pskb->data; alignment = tmpaddr & (RECVBUFF_ALIGN_SZ-1); skb_reserve(pskb, (RECVBUFF_ALIGN_SZ - alignment)); @@ -108,24 +105,22 @@ void r8712_free_recv_priv(struct recv_priv *precvpriv) struct _adapter *padapter = precvpriv->adapter; precvbuf = (struct recv_buf *)precvpriv->precv_buf; - for (i = 0; i < NR_RECVBUFF ; i++) { + for (i = 0; i < NR_RECVBUFF; i++) { r8712_os_recvbuf_resource_free(padapter, precvbuf); precvbuf++; } kfree(precvpriv->pallocated_recv_buf); skb_queue_purge(&precvpriv->rx_skb_queue); if (skb_queue_len(&precvpriv->rx_skb_queue)) - printk(KERN_WARNING "r8712u: rx_skb_queue not empty\n"); + netdev_warn(padapter->pnetdev, "r8712u: rx_skb_queue not empty\n"); skb_queue_purge(&precvpriv->free_recv_skb_queue); if (skb_queue_len(&precvpriv->free_recv_skb_queue)) - printk(KERN_WARNING "r8712u: free_recv_skb_queue not empty " - "%d\n", skb_queue_len(&precvpriv->free_recv_skb_queue)); + netdev_warn(padapter->pnetdev, "r8712u: free_recv_skb_queue not empty %d\n", + skb_queue_len(&precvpriv->free_recv_skb_queue)); } int r8712_init_recvbuf(struct _adapter *padapter, struct recv_buf *precvbuf) { - int res = _SUCCESS; - precvbuf->transfer_len = 0; precvbuf->len = 0; precvbuf->ref_cnt = 0; @@ -135,7 +130,7 @@ int r8712_init_recvbuf(struct _adapter *padapter, struct recv_buf *precvbuf) precvbuf->ptail = precvbuf->pbuf; precvbuf->pend = precvbuf->pdata + MAX_RECVBUF_SZ; } - return res; + return _SUCCESS; } int r8712_free_recvframe(union recv_frame *precvframe, @@ -268,7 +263,7 @@ union recv_frame *r8712_recvframe_chk_defrag(struct _adapter *padapter, u8 *psta_addr; struct recv_frame_hdr *pfhdr; struct sta_info *psta; - struct sta_priv *pstapriv ; + struct sta_priv *pstapriv; struct list_head *phead; union recv_frame *prtnframe = NULL; struct __queue *pfree_recv_queue, *pdefrag_q; @@ -348,7 +343,6 @@ static int amsdu_to_msdu(struct _adapter *padapter, union recv_frame *prframe) _pkt *sub_skb, *subframes[MAX_SUBFRAME_COUNT]; struct recv_priv *precvpriv = &padapter->recvpriv; struct __queue *pfree_recv_queue = &(precvpriv->free_recv_queue); - int ret = _SUCCESS; nr_subframes = 0; pattrib = &prframe->u.hdr.attrib; @@ -364,9 +358,8 @@ static int amsdu_to_msdu(struct _adapter *padapter, union recv_frame *prframe) nSubframe_Length = (nSubframe_Length >> 8) + (nSubframe_Length << 8); if (a_len < (ETHERNET_HEADER_SIZE + nSubframe_Length)) { - printk(KERN_WARNING "r8712u: nRemain_Length is %d and" - " nSubframe_Length is: %d\n", - a_len, nSubframe_Length); + netdev_warn(padapter->pnetdev, "r8712u: nRemain_Length is %d and nSubframe_Length is: %d\n", + a_len, nSubframe_Length); goto exit; } /* move the data point to data content */ @@ -381,8 +374,7 @@ static int amsdu_to_msdu(struct _adapter *padapter, union recv_frame *prframe) memcpy(data_ptr, pdata, nSubframe_Length); subframes[nr_subframes++] = sub_skb; if (nr_subframes >= MAX_SUBFRAME_COUNT) { - printk(KERN_WARNING "r8712u: ParseSubframe(): Too" - " many Subframes! Packets dropped!\n"); + netdev_warn(padapter->pnetdev, "r8712u: ParseSubframe(): Too many Subframes! Packets dropped!\n"); break; } pdata += nSubframe_Length; @@ -438,7 +430,7 @@ static int amsdu_to_msdu(struct _adapter *padapter, union recv_frame *prframe) exit: prframe->u.hdr.len = 0; r8712_free_recvframe(prframe, pfree_recv_queue); - return ret; + return _SUCCESS; } void r8712_rxcmd_event_hdl(struct _adapter *padapter, void *prxcmdbuf) @@ -851,7 +843,7 @@ static void query_rx_phy_status(struct _adapter *padapter, } else { /* (1)Get RSSI for HT rate */ for (i = 0; i < ((padapter->registrypriv.rf_config) & - 0x0f) ; i++) { + 0x0f); i++) { rf_rx_num++; rx_pwr[i] = ((pphy_head[PHY_STAT_GAIN_TRSW_SHT + i] & 0x3F) * 2) - 110; @@ -1085,7 +1077,6 @@ static int recvbuf2recvframe(struct _adapter *padapter, struct sk_buff *pskb) alloc_sz += 6; pkt_copy = netdev_alloc_skb(padapter->pnetdev, alloc_sz); if (pkt_copy) { - pkt_copy->dev = padapter->pnetdev; precvframe->u.hdr.pkt = pkt_copy; skb_reserve(pkt_copy, 4 - ((addr_t)(pkt_copy->data) % 4)); diff --git a/drivers/staging/rtl8712/rtl871x_cmd.c b/drivers/staging/rtl8712/rtl871x_cmd.c index 31f31dbf7f3..7a252200e90 100644 --- a/drivers/staging/rtl8712/rtl871x_cmd.c +++ b/drivers/staging/rtl8712/rtl871x_cmd.c @@ -31,7 +31,6 @@ #include <linux/compiler.h> #include <linux/kernel.h> #include <linux/errno.h> -#include <linux/init.h> #include <linux/slab.h> #include <linux/module.h> #include <linux/kref.h> @@ -65,13 +64,14 @@ static sint _init_cmd_priv(struct cmd_priv *pcmdpriv) /* allocate DMA-able/Non-Page memory for cmd_buf and rsp_buf */ pcmdpriv->cmd_seq = 1; - pcmdpriv->cmd_allocated_buf = _malloc(MAX_CMDSZ + CMDBUFF_ALIGN_SZ); + pcmdpriv->cmd_allocated_buf = kmalloc(MAX_CMDSZ + CMDBUFF_ALIGN_SZ, + GFP_ATOMIC); if (pcmdpriv->cmd_allocated_buf == NULL) return _FAIL; pcmdpriv->cmd_buf = pcmdpriv->cmd_allocated_buf + CMDBUFF_ALIGN_SZ - ((addr_t)(pcmdpriv->cmd_allocated_buf) & (CMDBUFF_ALIGN_SZ-1)); - pcmdpriv->rsp_allocated_buf = _malloc(MAX_RSPSZ + 4); + pcmdpriv->rsp_allocated_buf = kmalloc(MAX_RSPSZ + 4, GFP_ATOMIC); if (pcmdpriv->rsp_allocated_buf == NULL) return _FAIL; pcmdpriv->rsp_buf = pcmdpriv->rsp_allocated_buf + 4 - @@ -86,7 +86,7 @@ static sint _init_evt_priv(struct evt_priv *pevtpriv) { /* allocate DMA-able/Non-Page memory for cmd_buf and rsp_buf */ pevtpriv->event_seq = 0; - pevtpriv->evt_allocated_buf = _malloc(MAX_EVTSZ + 4); + pevtpriv->evt_allocated_buf = kmalloc(MAX_EVTSZ + 4, GFP_ATOMIC); if (pevtpriv->evt_allocated_buf == NULL) return _FAIL; @@ -227,11 +227,10 @@ u8 r8712_sitesurvey_cmd(struct _adapter *padapter, struct cmd_priv *pcmdpriv = &padapter->cmdpriv; struct mlme_priv *pmlmepriv = &padapter->mlmepriv; - ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj)); + ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC); if (ph2c == NULL) return _FAIL; - psurveyPara = (struct sitesurvey_parm *)_malloc( - sizeof(struct sitesurvey_parm)); + psurveyPara = kmalloc(sizeof(struct sitesurvey_parm), GFP_ATOMIC); if (psurveyPara == NULL) { kfree((unsigned char *) ph2c); return _FAIL; @@ -260,11 +259,11 @@ u8 r8712_setdatarate_cmd(struct _adapter *padapter, u8 *rateset) struct setdatarate_parm *pbsetdataratepara; struct cmd_priv *pcmdpriv = &padapter->cmdpriv; - ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj)); + ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC); if (ph2c == NULL) return _FAIL; - pbsetdataratepara = (struct setdatarate_parm *)_malloc( - sizeof(struct setdatarate_parm)); + pbsetdataratepara = kmalloc(sizeof(struct setdatarate_parm), + GFP_ATOMIC); if (pbsetdataratepara == NULL) { kfree((u8 *) ph2c); return _FAIL; @@ -283,11 +282,11 @@ u8 r8712_set_chplan_cmd(struct _adapter *padapter, int chplan) struct SetChannelPlan_param *psetchplanpara; struct cmd_priv *pcmdpriv = &padapter->cmdpriv; - ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj)); + ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC); if (ph2c == NULL) return _FAIL; - psetchplanpara = (struct SetChannelPlan_param *) - _malloc(sizeof(struct SetChannelPlan_param)); + psetchplanpara = kmalloc(sizeof(struct SetChannelPlan_param), + GFP_ATOMIC); if (psetchplanpara == NULL) { kfree((u8 *) ph2c); return _FAIL; @@ -305,11 +304,11 @@ u8 r8712_setbasicrate_cmd(struct _adapter *padapter, u8 *rateset) struct setbasicrate_parm *pssetbasicratepara; struct cmd_priv *pcmdpriv = &padapter->cmdpriv; - ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj)); + ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC); if (ph2c == NULL) return _FAIL; - pssetbasicratepara = (struct setbasicrate_parm *)_malloc( - sizeof(struct setbasicrate_parm)); + pssetbasicratepara = kmalloc(sizeof(struct setbasicrate_parm), + GFP_ATOMIC); if (pssetbasicratepara == NULL) { kfree((u8 *) ph2c); return _FAIL; @@ -328,11 +327,10 @@ u8 r8712_setptm_cmd(struct _adapter *padapter, u8 type) struct writePTM_parm *pwriteptmparm; struct cmd_priv *pcmdpriv = &padapter->cmdpriv; - ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj)); + ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC); if (ph2c == NULL) return _FAIL; - pwriteptmparm = (struct writePTM_parm *) - _malloc(sizeof(struct writePTM_parm)); + pwriteptmparm = kmalloc(sizeof(struct writePTM_parm), GFP_ATOMIC); if (pwriteptmparm == NULL) { kfree((u8 *) ph2c); return _FAIL; @@ -349,11 +347,10 @@ u8 r8712_setfwdig_cmd(struct _adapter *padapter, u8 type) struct writePTM_parm *pwriteptmparm; struct cmd_priv *pcmdpriv = &padapter->cmdpriv; - ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj)); + ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC); if (ph2c == NULL) return _FAIL; - pwriteptmparm = (struct writePTM_parm *) - _malloc(sizeof(struct setdig_parm)); + pwriteptmparm = kmalloc(sizeof(struct writePTM_parm), GFP_ATOMIC); if (pwriteptmparm == NULL) { kfree((u8 *) ph2c); return _FAIL; @@ -370,11 +367,10 @@ u8 r8712_setfwra_cmd(struct _adapter *padapter, u8 type) struct writePTM_parm *pwriteptmparm; struct cmd_priv *pcmdpriv = &padapter->cmdpriv; - ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj)); + ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC); if (ph2c == NULL) return _FAIL; - pwriteptmparm = (struct writePTM_parm *) - _malloc(sizeof(struct setra_parm)); + pwriteptmparm = kmalloc(sizeof(struct writePTM_parm), GFP_ATOMIC); if (pwriteptmparm == NULL) { kfree((u8 *) ph2c); return _FAIL; @@ -391,11 +387,10 @@ u8 r8712_setrfreg_cmd(struct _adapter *padapter, u8 offset, u32 val) struct writeRF_parm *pwriterfparm; struct cmd_priv *pcmdpriv = &padapter->cmdpriv; - ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj)); + ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC); if (ph2c == NULL) return _FAIL; - pwriterfparm = (struct writeRF_parm *)_malloc( - sizeof(struct writeRF_parm)); + pwriterfparm = kmalloc(sizeof(struct writeRF_parm), GFP_ATOMIC); if (pwriterfparm == NULL) { kfree((u8 *) ph2c); return _FAIL; @@ -413,10 +408,10 @@ u8 r8712_getrfreg_cmd(struct _adapter *padapter, u8 offset, u8 *pval) struct readRF_parm *prdrfparm; struct cmd_priv *pcmdpriv = &padapter->cmdpriv; - ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj)); + ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC); if (ph2c == NULL) return _FAIL; - prdrfparm = (struct readRF_parm *)_malloc(sizeof(struct readRF_parm)); + prdrfparm = kmalloc(sizeof(struct readRF_parm), GFP_ATOMIC); if (prdrfparm == NULL) { kfree((u8 *) ph2c); return _FAIL; @@ -457,7 +452,7 @@ u8 r8712_createbss_cmd(struct _adapter *padapter) &padapter->registrypriv.dev_network; padapter->ledpriv.LedControlHandler(padapter, LED_CTL_START_TO_LINK); - pcmd = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj)); + pcmd = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC); if (pcmd == NULL) return _FAIL; _init_listhead(&pcmd->list); @@ -469,10 +464,9 @@ u8 r8712_createbss_cmd(struct _adapter *padapter) pcmd->rsp = NULL; pcmd->rspsz = 0; /* notes: translate IELength & Length after assign to cmdsz; */ - pdev_network->Length = cpu_to_le32(pcmd->cmdsz); - pdev_network->IELength = cpu_to_le32(pdev_network->IELength); - pdev_network->Ssid.SsidLength = cpu_to_le32( - pdev_network->Ssid.SsidLength); + pdev_network->Length = pcmd->cmdsz; + pdev_network->IELength = pdev_network->IELength; + pdev_network->Ssid.SsidLength = pdev_network->Ssid.SsidLength; r8712_enqueue_cmd(pcmdpriv, pcmd); return _SUCCESS; } @@ -492,7 +486,7 @@ u8 r8712_joinbss_cmd(struct _adapter *padapter, struct wlan_network *pnetwork) network.InfrastructureMode; padapter->ledpriv.LedControlHandler(padapter, LED_CTL_START_TO_LINK); - pcmd = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj)); + pcmd = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC); if (pcmd == NULL) return _FAIL; t_len = sizeof(u32) + 6 * sizeof(unsigned char) + 2 + @@ -525,7 +519,6 @@ u8 r8712_joinbss_cmd(struct _adapter *padapter, struct wlan_network *pnetwork) kfree(pcmd); return _FAIL; } - memset(psecnetwork, 0, t_len); memcpy(psecnetwork, &pnetwork->network, t_len); auth = &psecuritypriv->authenticator_ie[0]; psecuritypriv->authenticator_ie[0] = (unsigned char) @@ -631,11 +624,10 @@ u8 r8712_disassoc_cmd(struct _adapter *padapter) /* for sta_mode */ struct disconnect_parm *pdisconnect; struct cmd_priv *pcmdpriv = &padapter->cmdpriv; - pdisconnect_cmd = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj)); + pdisconnect_cmd = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC); if (pdisconnect_cmd == NULL) return _FAIL; - pdisconnect = (struct disconnect_parm *)_malloc( - sizeof(struct disconnect_parm)); + pdisconnect = kmalloc(sizeof(struct disconnect_parm), GFP_ATOMIC); if (pdisconnect == NULL) { kfree((u8 *)pdisconnect_cmd); return _FAIL; @@ -654,11 +646,10 @@ u8 r8712_setopmode_cmd(struct _adapter *padapter, struct cmd_priv *pcmdpriv = &padapter->cmdpriv; - ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj)); + ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC); if (ph2c == NULL) return _FAIL; - psetop = (struct setopmode_parm *)_malloc( - sizeof(struct setopmode_parm)); + psetop = kmalloc(sizeof(struct setopmode_parm), GFP_ATOMIC); if (psetop == NULL) { kfree((u8 *) ph2c); return _FAIL; @@ -679,17 +670,15 @@ u8 r8712_setstakey_cmd(struct _adapter *padapter, u8 *psta, u8 unicast_key) struct security_priv *psecuritypriv = &padapter->securitypriv; struct sta_info *sta = (struct sta_info *)psta; - ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj)); + ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC); if (ph2c == NULL) return _FAIL; - psetstakey_para = (struct set_stakey_parm *)_malloc( - sizeof(struct set_stakey_parm)); + psetstakey_para = kmalloc(sizeof(struct set_stakey_parm), GFP_ATOMIC); if (psetstakey_para == NULL) { kfree((u8 *) ph2c); return _FAIL; } - psetstakey_rsp = (struct set_stakey_rsp *)_malloc( - sizeof(struct set_stakey_rsp)); + psetstakey_rsp = kmalloc(sizeof(struct set_stakey_rsp), GFP_ATOMIC); if (psetstakey_rsp == NULL) { kfree((u8 *) ph2c); kfree((u8 *) psetstakey_para); @@ -721,11 +710,10 @@ u8 r8712_setrfintfs_cmd(struct _adapter *padapter, u8 mode) struct setrfintfs_parm *psetrfintfsparm; struct cmd_priv *pcmdpriv = &padapter->cmdpriv; - ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj)); + ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC); if (ph2c == NULL) return _FAIL; - psetrfintfsparm = (struct setrfintfs_parm *)_malloc( - sizeof(struct setrfintfs_parm)); + psetrfintfsparm = kmalloc(sizeof(struct setrfintfs_parm), GFP_ATOMIC); if (psetrfintfsparm == NULL) { kfree((unsigned char *) ph2c); return _FAIL; @@ -744,11 +732,10 @@ u8 r8712_setrttbl_cmd(struct _adapter *padapter, struct setratable_parm *psetrttblparm; struct cmd_priv *pcmdpriv = &padapter->cmdpriv; - ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj)); + ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC); if (ph2c == NULL) return _FAIL; - psetrttblparm = (struct setratable_parm *)_malloc( - sizeof(struct setratable_parm)); + psetrttblparm = kmalloc(sizeof(struct setratable_parm), GFP_ATOMIC); if (psetrttblparm == NULL) { kfree((unsigned char *)ph2c); return _FAIL; @@ -766,11 +753,10 @@ u8 r8712_gettssi_cmd(struct _adapter *padapter, u8 offset, u8 *pval) struct cmd_obj *ph2c; struct readTSSI_parm *prdtssiparm; - ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj)); + ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC); if (ph2c == NULL) return _FAIL; - prdtssiparm = (struct readTSSI_parm *) - _malloc(sizeof(struct readTSSI_parm)); + prdtssiparm = kmalloc(sizeof(struct readTSSI_parm), GFP_ATOMIC); if (prdtssiparm == NULL) { kfree((unsigned char *) ph2c); return _FAIL; @@ -793,11 +779,11 @@ u8 r8712_setMacAddr_cmd(struct _adapter *padapter, u8 *mac_addr) struct cmd_obj *ph2c; struct SetMacAddr_param *psetMacAddr_para; - ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj)); + ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC); if (ph2c == NULL) return _FAIL; - psetMacAddr_para = (struct SetMacAddr_param *)_malloc( - sizeof(struct SetMacAddr_param)); + psetMacAddr_para = kmalloc(sizeof(struct SetMacAddr_param), + GFP_ATOMIC); if (psetMacAddr_para == NULL) { kfree((u8 *) ph2c); return _FAIL; @@ -816,17 +802,17 @@ u8 r8712_setassocsta_cmd(struct _adapter *padapter, u8 *mac_addr) struct set_assocsta_parm *psetassocsta_para; struct set_assocsta_rsp *psetassocsta_rsp = NULL; - ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj)); + ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC); if (ph2c == NULL) return _FAIL; - psetassocsta_para = (struct set_assocsta_parm *) - _malloc(sizeof(struct set_assocsta_parm)); + psetassocsta_para = kmalloc(sizeof(struct set_assocsta_parm), + GFP_ATOMIC); if (psetassocsta_para == NULL) { kfree((u8 *) ph2c); return _FAIL; } - psetassocsta_rsp = (struct set_assocsta_rsp *)_malloc( - sizeof(struct set_assocsta_rsp)); + psetassocsta_rsp = kmalloc(sizeof(struct set_assocsta_rsp), + GFP_ATOMIC); if (psetassocsta_rsp == NULL) { kfree((u8 *)ph2c); kfree((u8 *)psetassocsta_para); @@ -846,11 +832,10 @@ u8 r8712_addbareq_cmd(struct _adapter *padapter, u8 tid) struct cmd_obj *ph2c; struct addBaReq_parm *paddbareq_parm; - ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj)); + ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC); if (ph2c == NULL) return _FAIL; - paddbareq_parm = (struct addBaReq_parm *)_malloc( - sizeof(struct addBaReq_parm)); + paddbareq_parm = kmalloc(sizeof(struct addBaReq_parm), GFP_ATOMIC); if (paddbareq_parm == NULL) { kfree((unsigned char *)ph2c); return _FAIL; @@ -868,11 +853,10 @@ u8 r8712_wdg_wk_cmd(struct _adapter *padapter) struct drvint_cmd_parm *pdrvintcmd_param; struct cmd_priv *pcmdpriv = &padapter->cmdpriv; - ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj)); + ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC); if (ph2c == NULL) return _FAIL; - pdrvintcmd_param = (struct drvint_cmd_parm *)_malloc( - sizeof(struct drvint_cmd_parm)); + pdrvintcmd_param = kmalloc(sizeof(struct drvint_cmd_parm), GFP_ATOMIC); if (pdrvintcmd_param == NULL) { kfree((unsigned char *)ph2c); return _FAIL; @@ -913,7 +897,7 @@ void r8712_joinbss_cmd_callback(struct _adapter *padapter, struct cmd_obj *pcmd) { struct mlme_priv *pmlmepriv = &padapter->mlmepriv; - if ((pcmd->res != H2C_SUCCESS)) + if (pcmd->res != H2C_SUCCESS) _set_timer(&pmlmepriv->assoc_timer, 1); r8712_free_cmd_obj(pcmd); } @@ -930,7 +914,7 @@ void r8712_createbss_cmd_callback(struct _adapter *padapter, pcmd->parmbuf; struct wlan_network *tgt_network = &(pmlmepriv->cur_network); - if ((pcmd->res != H2C_SUCCESS)) + if (pcmd->res != H2C_SUCCESS) _set_timer(&pmlmepriv->assoc_timer, 1); _cancel_timer(&pmlmepriv->assoc_timer, &timer_cancelled); #ifdef __BIG_ENDIAN @@ -966,7 +950,7 @@ void r8712_createbss_cmd_callback(struct _adapter *padapter, psta = r8712_alloc_stainfo(&padapter->stapriv, pnetwork->MacAddress); if (psta == NULL) - goto createbss_cmd_fail ; + goto createbss_cmd_fail; } r8712_indicate_connect(padapter); } else { @@ -1043,16 +1027,14 @@ u8 r8712_disconnectCtrlEx_cmd(struct _adapter *adapter, u32 enableDrvCtrl, struct DisconnectCtrlEx_param *param; struct cmd_priv *pcmdpriv = &adapter->cmdpriv; - ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj)); + ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC); if (ph2c == NULL) return _FAIL; - param = (struct DisconnectCtrlEx_param *) - _malloc(sizeof(struct DisconnectCtrlEx_param)); + param = kzalloc(sizeof(struct DisconnectCtrlEx_param), GFP_ATOMIC); if (param == NULL) { kfree((unsigned char *) ph2c); return _FAIL; } - memset(param, 0, sizeof(struct DisconnectCtrlEx_param)); param->EnableDrvCtrl = (unsigned char)enableDrvCtrl; param->TryPktCnt = (unsigned char)tryPktCnt; diff --git a/drivers/staging/rtl8712/rtl871x_cmd.h b/drivers/staging/rtl8712/rtl871x_cmd.h index 9d93189d870..0ce79b1c4ee 100644 --- a/drivers/staging/rtl8712/rtl871x_cmd.h +++ b/drivers/staging/rtl8712/rtl871x_cmd.h @@ -749,7 +749,7 @@ u8 r8712_setopmode_cmd(struct _adapter *padapter, u8 r8712_setdatarate_cmd(struct _adapter *padapter, u8 *rateset); u8 r8712_set_chplan_cmd(struct _adapter *padapter, int chplan); u8 r8712_setbasicrate_cmd(struct _adapter *padapter, u8 *rateset); -u8 r8712_getrfreg_cmd(struct _adapter *padapter, u8 offset, u8 * pval); +u8 r8712_getrfreg_cmd(struct _adapter *padapter, u8 offset, u8 *pval); u8 r8712_setrfintfs_cmd(struct _adapter *padapter, u8 mode); u8 r8712_setrfreg_cmd(struct _adapter *padapter, u8 offset, u32 val); u8 r8712_setrttbl_cmd(struct _adapter *padapter, diff --git a/drivers/staging/rtl8712/rtl871x_io.c b/drivers/staging/rtl8712/rtl871x_io.c index abc1c97378f..37a841a1488 100644 --- a/drivers/staging/rtl8712/rtl871x_io.c +++ b/drivers/staging/rtl8712/rtl871x_io.c @@ -60,8 +60,8 @@ static uint _init_intf_hdl(struct _adapter *padapter, set_intf_funs = &(r8712_usb_set_intf_funs); set_intf_ops = &r8712_usb_set_intf_ops; init_intf_priv = &r8712_usb_init_intf_priv; - pintf_priv = pintf_hdl->pintfpriv = (struct intf_priv *) - _malloc(sizeof(struct intf_priv)); + pintf_priv = pintf_hdl->pintfpriv = kmalloc(sizeof(struct intf_priv), + GFP_ATOMIC); if (pintf_priv == NULL) goto _init_intf_hdl_fail; pintf_hdl->adapter = (u8 *)padapter; @@ -112,15 +112,16 @@ uint r8712_alloc_io_queue(struct _adapter *adapter) struct io_queue *pio_queue; struct io_req *pio_req; - pio_queue = (struct io_queue *)_malloc(sizeof(struct io_queue)); + pio_queue = kmalloc(sizeof(struct io_queue), GFP_ATOMIC); if (pio_queue == NULL) goto alloc_io_queue_fail; _init_listhead(&pio_queue->free_ioreqs); _init_listhead(&pio_queue->processing); _init_listhead(&pio_queue->pending); spin_lock_init(&pio_queue->lock); - pio_queue->pallocated_free_ioreqs_buf = (u8 *)_malloc(NUM_IOREQ * - (sizeof(struct io_req)) + 4); + pio_queue->pallocated_free_ioreqs_buf = kmalloc(NUM_IOREQ * + (sizeof(struct io_req)) + 4, + GFP_ATOMIC); if ((pio_queue->pallocated_free_ioreqs_buf) == NULL) goto alloc_io_queue_fail; memset(pio_queue->pallocated_free_ioreqs_buf, 0, diff --git a/drivers/staging/rtl8712/rtl871x_ioctl_linux.c b/drivers/staging/rtl8712/rtl871x_ioctl_linux.c index 3a647906451..e147c4bfe12 100644 --- a/drivers/staging/rtl8712/rtl871x_ioctl_linux.c +++ b/drivers/staging/rtl8712/rtl871x_ioctl_linux.c @@ -42,7 +42,6 @@ #include <linux/wireless.h> #include <linux/module.h> #include <linux/kernel.h> -#include <linux/init.h> #include <linux/io.h> #include <linux/semaphore.h> #include <net/iw_handler.h> @@ -188,8 +187,7 @@ static inline char *translate_scan(struct _adapter *padapter, /* Add the ESSID */ iwe.cmd = SIOCGIWESSID; iwe.u.data.flags = 1; - iwe.u.data.length = (u16)min((u16)pnetwork->network.Ssid.SsidLength, - (u16)32); + iwe.u.data.length = min_t(u32, pnetwork->network.Ssid.SsidLength, 32); start = iwe_stream_add_point(info, start, stop, &iwe, pnetwork->network.Ssid.Ssid); /* parsing HT_CAP_IE */ @@ -415,8 +413,7 @@ static int wpa_set_encryption(struct net_device *dev, struct ieee_param *param, } else return -EINVAL; if (strcmp(param->u.crypt.alg, "WEP") == 0) { - printk(KERN_INFO "r8712u: wpa_set_encryption, crypt.alg =" - " WEP\n"); + netdev_info(dev, "r8712u: %s: crypt.alg = WEP\n", __func__); padapter->securitypriv.ndisencryptstatus = Ndis802_11Encryption1Enabled; padapter->securitypriv.PrivacyAlgrthm = _WEP40_; @@ -427,10 +424,9 @@ static int wpa_set_encryption(struct net_device *dev, struct ieee_param *param, wep_key_idx = 0; if (wep_key_len > 0) { wep_key_len = wep_key_len <= 5 ? 5 : 13; - pwep = (struct NDIS_802_11_WEP *)_malloc((u32) - (wep_key_len + - FIELD_OFFSET(struct NDIS_802_11_WEP, - KeyMaterial))); + pwep = kmalloc((u32)(wep_key_len + + FIELD_OFFSET(struct NDIS_802_11_WEP, KeyMaterial)), + GFP_ATOMIC); if (pwep == NULL) return -ENOMEM; memset(pwep, 0, sizeof(struct NDIS_802_11_WEP)); @@ -521,10 +517,9 @@ static int r871x_set_wpa_ie(struct _adapter *padapter, char *pie, if ((ielen > MAX_WPA_IE_LEN) || (pie == NULL)) return -EINVAL; if (ielen) { - buf = _malloc(ielen); + buf = kmemdup(pie, ielen, GFP_ATOMIC); if (buf == NULL) return -ENOMEM; - memcpy(buf, pie , ielen); pos = buf; if (ielen < RSN_HEADER_LEN) { ret = -EINVAL; @@ -608,8 +603,7 @@ static int r871x_set_wpa_ie(struct _adapter *padapter, char *pie, if ((eid == _VENDOR_SPECIFIC_IE_) && (!memcmp(&buf[cnt+2], wps_oui, 4))) { - printk(KERN_INFO "r8712u: " - "SET WPS_IE\n"); + netdev_info(padapter->pnetdev, "r8712u: SET WPS_IE\n"); padapter->securitypriv.wps_ie_len = ((buf[cnt+1] + 2) < (MAX_WPA_IE_LEN << 2)) ? @@ -620,8 +614,7 @@ static int r871x_set_wpa_ie(struct _adapter *padapter, char *pie, padapter->securitypriv.wps_ie_len); padapter->securitypriv.wps_phase = true; - printk(KERN_INFO "r8712u: SET WPS_IE," - " wps_phase==true\n"); + netdev_info(padapter->pnetdev, "r8712u: SET WPS_IE, wps_phase==true\n"); cnt += buf[cnt+1]+2; break; } else @@ -824,13 +817,13 @@ static int r871x_wx_set_pmkid(struct net_device *dev, intReturn = true; blInserted = false; /* overwrite PMKID */ - for (j = 0 ; j < NUM_PMKID_CACHE; j++) { + for (j = 0; j < NUM_PMKID_CACHE; j++) { if (!memcmp(psecuritypriv->PMKIDList[j].Bssid, strIssueBssid, ETH_ALEN)) { /* BSSID is matched, the same AP => rewrite * with new PMKID. */ - printk(KERN_INFO "r8712u: r871x_wx_set_pmkid:" - " BSSID exists in the PMKList.\n"); + netdev_info(dev, "r8712u: %s: BSSID exists in the PMKList.\n", + __func__); memcpy(psecuritypriv->PMKIDList[j].PMKID, pPMK->pmkid, IW_PMKID_LEN); psecuritypriv->PMKIDList[j].bUsed = true; @@ -841,16 +834,15 @@ static int r871x_wx_set_pmkid(struct net_device *dev, } if (!blInserted) { /* Find a new entry */ - printk(KERN_INFO "r8712u: r871x_wx_set_pmkid: Use the" - " new entry index = %d for this PMKID.\n", - psecuritypriv->PMKIDIndex); + netdev_info(dev, "r8712u: %s: Use the new entry index = %d for this PMKID.\n", + __func__, psecuritypriv->PMKIDIndex); memcpy(psecuritypriv->PMKIDList[psecuritypriv-> PMKIDIndex].Bssid, strIssueBssid, ETH_ALEN); memcpy(psecuritypriv->PMKIDList[psecuritypriv-> PMKIDIndex].PMKID, pPMK->pmkid, IW_PMKID_LEN); psecuritypriv->PMKIDList[psecuritypriv->PMKIDIndex]. bUsed = true; - psecuritypriv->PMKIDIndex++ ; + psecuritypriv->PMKIDIndex++; if (psecuritypriv->PMKIDIndex == NUM_PMKID_CACHE) psecuritypriv->PMKIDIndex = 0; } @@ -876,8 +868,7 @@ static int r871x_wx_set_pmkid(struct net_device *dev, intReturn = true; break; default: - printk(KERN_INFO "r8712u: r871x_wx_set_pmkid: " - "unknown Command\n"); + netdev_info(dev, "r8712u: %s: unknown Command\n", __func__); intReturn = false; break; } @@ -966,13 +957,9 @@ static int r871x_wx_set_priv(struct net_device *dev, struct iw_point *dwrq = (struct iw_point *)awrq; len = dwrq->length; - ext = _malloc(len); - if (!ext) - return -ENOMEM; - if (copy_from_user(ext, dwrq->pointer, len)) { - kfree(ext); - return -EFAULT; - } + ext = memdup_user(dwrq->pointer, len); + if (IS_ERR(ext)) + return PTR_ERR(ext); if (0 == strcasecmp(ext, "RSSI")) { /*Return received signal strength indicator in -db for */ @@ -1006,12 +993,8 @@ static int r871x_wx_set_priv(struct net_device *dev, sprintf(ext, "LINKSPEED %d", mbps); } else if (0 == strcasecmp(ext, "MACADDR")) { /*Return mac address of the station */ - /*Macaddr = xx.xx.xx.xx.xx.xx */ - sprintf(ext, - "MACADDR = %02x.%02x.%02x.%02x.%02x.%02x", - *(dev->dev_addr), *(dev->dev_addr+1), - *(dev->dev_addr+2), *(dev->dev_addr+3), - *(dev->dev_addr+4), *(dev->dev_addr+5)); + /* Macaddr = xx:xx:xx:xx:xx:xx */ + sprintf(ext, "MACADDR = %pM", dev->dev_addr); } else if (0 == strcasecmp(ext, "SCAN-ACTIVE")) { /*Set scan type to active */ /*OK if successful */ @@ -1045,8 +1028,8 @@ static int r871x_wx_set_priv(struct net_device *dev, ); sprintf(ext, "OK"); } else { - printk(KERN_INFO "r8712u: r871x_wx_set_priv: unknown Command" - " %s.\n", ext); + netdev_info(dev, "r8712u: %s: unknown Command %s.\n", + __func__, ext); goto FREE_EXT; } if (copy_to_user(dwrq->pointer, ext, @@ -1131,11 +1114,11 @@ static int r8711_wx_get_wap(struct net_device *dev, struct ndis_wlan_bssid_ex *pcur_bss = &pmlmepriv->cur_network.network; wrqu->ap_addr.sa_family = ARPHRD_ETHER; - memset(wrqu->ap_addr.sa_data, 0, ETH_ALEN); - if (check_fwstate(pmlmepriv, _FW_LINKED | - WIFI_ADHOC_MASTER_STATE|WIFI_AP_STATE)) { + if (check_fwstate(pmlmepriv, _FW_LINKED | WIFI_ADHOC_MASTER_STATE | + WIFI_AP_STATE)) memcpy(wrqu->ap_addr.sa_data, pcur_bss->MacAddress, ETH_ALEN); - } + else + memset(wrqu->ap_addr.sa_data, 0, ETH_ALEN); return 0; } @@ -1183,8 +1166,8 @@ static int r8711_wx_set_scan(struct net_device *dev, u8 status = true; if (padapter->bDriverStopped == true) { - printk(KERN_WARNING "r8712u: in r8711_wx_set_scan: " - "bDriverStopped=%d\n", padapter->bDriverStopped); + netdev_info(dev, "In %s: bDriverStopped=%d\n", + __func__, padapter->bDriverStopped); return -1; } if (padapter->bup == false) @@ -1199,8 +1182,7 @@ static int r8711_wx_set_scan(struct net_device *dev, if (wrqu->data.flags & IW_SCAN_THIS_ESSID) { struct ndis_802_11_ssid ssid; unsigned long irqL; - u32 len = (u32) min((u8)req->essid_len, - (u8)IW_ESSID_MAX_SIZE); + u32 len = min_t(u8, req->essid_len, IW_ESSID_MAX_SIZE); memset((unsigned char *)&ssid, 0, sizeof(struct ndis_802_11_ssid)); memcpy(ssid.Ssid, req->essid, len); @@ -1556,8 +1538,7 @@ static int r8711_wx_set_enc(struct net_device *dev, key = erq->flags & IW_ENCODE_INDEX; memset(&wep, 0, sizeof(struct NDIS_802_11_WEP)); if (erq->flags & IW_ENCODE_DISABLED) { - printk(KERN_INFO "r8712u: r8711_wx_set_enc: " - "EncryptionDisabled\n"); + netdev_info(dev, "r8712u: %s: EncryptionDisabled\n", __func__); padapter->securitypriv.ndisencryptstatus = Ndis802_11EncryptionDisabled; padapter->securitypriv.PrivacyAlgrthm = _NO_PRIVACY_; @@ -1578,8 +1559,7 @@ static int r8711_wx_set_enc(struct net_device *dev, } /* set authentication mode */ if (erq->flags & IW_ENCODE_OPEN) { - printk(KERN_INFO "r8712u: r8711_wx_set_enc: " - "IW_ENCODE_OPEN\n"); + netdev_info(dev, "r8712u: %s: IW_ENCODE_OPEN\n", __func__); padapter->securitypriv.ndisencryptstatus = Ndis802_11Encryption1Enabled; padapter->securitypriv.AuthAlgrthm = 0; /* open system */ @@ -1588,8 +1568,7 @@ static int r8711_wx_set_enc(struct net_device *dev, authmode = Ndis802_11AuthModeOpen; padapter->securitypriv.ndisauthtype = authmode; } else if (erq->flags & IW_ENCODE_RESTRICTED) { - printk(KERN_INFO "r8712u: r8711_wx_set_enc: " - "IW_ENCODE_RESTRICTED\n"); + netdev_info(dev, "r8712u: %s: IW_ENCODE_RESTRICTED\n", __func__); padapter->securitypriv.ndisencryptstatus = Ndis802_11Encryption1Enabled; padapter->securitypriv.AuthAlgrthm = 1; /* shared system */ @@ -1612,7 +1591,7 @@ static int r8711_wx_set_enc(struct net_device *dev, wep.Length = wep.KeyLength + FIELD_OFFSET(struct NDIS_802_11_WEP, KeyMaterial); } else { - wep.KeyLength = 0 ; + wep.KeyLength = 0; if (keyindex_provided == 1) { /* set key_id only, no given * KeyMaterial(erq->length==0).*/ padapter->securitypriv.PrivacyKeyIndex = key; @@ -1816,13 +1795,6 @@ static int r871x_wx_set_enc_ext(struct net_device *dev, u32 param_len; int ret = 0; - param_len = sizeof(struct ieee_param) + pext->key_len; - param = (struct ieee_param *)_malloc(param_len); - if (param == NULL) - return -ENOMEM; - memset(param, 0, param_len); - param->cmd = IEEE_CMD_SET_ENCRYPTION; - memset(param->sta_addr, 0xff, ETH_ALEN); switch (pext->alg) { case IW_ENCODE_ALG_NONE: alg_name = "none"; @@ -1839,6 +1811,14 @@ static int r871x_wx_set_enc_ext(struct net_device *dev, default: return -EINVAL; } + + param_len = sizeof(struct ieee_param) + pext->key_len; + param = kzalloc(param_len, GFP_ATOMIC); + if (param == NULL) + return -ENOMEM; + param->cmd = IEEE_CMD_SET_ENCRYPTION; + memset(param->sta_addr, 0xff, ETH_ALEN); + strncpy((char *)param->u.crypt.alg, alg_name, IEEE_CRYPT_ALG_NAME_LEN); if (pext->ext_flags & IW_ENCODE_EXT_GROUP_KEY) param->u.crypt.set_tx = 0; @@ -1894,7 +1874,7 @@ static int r8711_wx_write32(struct net_device *dev, u32 data32; get_user(addr, (u32 __user *)wrqu->data.pointer); - data32 = ((u32)wrqu->data.length<<16) | (u32)wrqu->data.flags ; + data32 = ((u32)wrqu->data.length<<16) | (u32)wrqu->data.flags; r8712_write32(padapter, addr, data32); return 0; } @@ -1935,7 +1915,7 @@ static int r871x_mp_ioctl_hdl(struct net_device *dev, bset = (u8)(p->flags & 0xFFFF); len = p->length; pparmbuf = NULL; - pparmbuf = (u8 *)_malloc(len); + pparmbuf = kmalloc(len, GFP_ATOMIC); if (pparmbuf == NULL) { ret = -ENOMEM; goto _r871x_mp_ioctl_hdl_exit; @@ -1977,9 +1957,9 @@ static int r871x_mp_ioctl_hdl(struct net_device *dev, status = phandler->handler(&oid_par); /* todo:check status, BytesNeeded, etc. */ } else { - printk(KERN_INFO "r8712u: r871x_mp_ioctl_hdl(): err!," - " subcode=%d, oid=%d, handler=%p\n", - poidparam->subcode, phandler->oid, phandler->handler); + netdev_info(dev, "r8712u: %s: err!, subcode=%d, oid=%d, handler=%p\n", + __func__, poidparam->subcode, phandler->oid, + phandler->handler); ret = -EFAULT; goto _r871x_mp_ioctl_hdl_exit; } @@ -2034,13 +2014,13 @@ static int r871x_get_ap_info(struct net_device *dev, break; pnetwork = LIST_CONTAINOR(plist, struct wlan_network, list); if (hwaddr_aton_i(data, bssid)) { - printk(KERN_INFO "r8712u: Invalid BSSID '%s'.\n", - (u8 *)data); + netdev_info(dev, "r8712u: Invalid BSSID '%s'.\n", + (u8 *)data); spin_unlock_irqrestore(&(pmlmepriv->scanned_queue.lock), - irqL); + irqL); return -EINVAL; } - printk(KERN_INFO "r8712u: BSSID:%pM\n", bssid); + netdev_info(dev, "r8712u: BSSID:%pM\n", bssid); if (!memcmp(bssid, pnetwork->network.MacAddress, ETH_ALEN)) { /* BSSID match, then check if supporting wpa/wpa2 */ pbuf = r8712_get_wpa_ie(&pnetwork->network.IEs[12], @@ -2208,13 +2188,9 @@ static int wpa_supplicant_ioctl(struct net_device *dev, struct iw_point *p) if (p->length < sizeof(struct ieee_param) || !p->pointer) return -EINVAL; - param = (struct ieee_param *)_malloc(p->length); - if (param == NULL) - return -ENOMEM; - if (copy_from_user(param, p->pointer, p->length)) { - kfree((u8 *)param); - return -EFAULT; - } + param = memdup_user(p->pointer, p->length); + if (IS_ERR(param)) + return PTR_ERR(param); switch (param->cmd) { case IEEE_CMD_SET_WPA_PARAM: ret = wpa_set_param(dev, param->u.wpa_param.name, diff --git a/drivers/staging/rtl8712/rtl871x_ioctl_rtl.c b/drivers/staging/rtl8712/rtl871x_ioctl_rtl.c index 9a33eaee879..ac0baff7f09 100644 --- a/drivers/staging/rtl8712/rtl871x_ioctl_rtl.c +++ b/drivers/staging/rtl8712/rtl871x_ioctl_rtl.c @@ -28,6 +28,7 @@ #define _RTL871X_IOCTL_RTL_C_ +#include <linux/rndis.h> #include "osdep_service.h" #include "drv_types.h" #include "wlan_bssdef.h" @@ -42,8 +43,8 @@ uint oid_rt_get_signal_quality_hdl(struct oid_par_priv *poid_par_priv) { if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_get_small_packet_crc_hdl(struct oid_par_priv *poid_par_priv) @@ -52,14 +53,14 @@ uint oid_rt_get_small_packet_crc_hdl(struct oid_par_priv *poid_par_priv) (poid_par_priv->adapter_context); if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len >= sizeof(u32)) { *(u32 *)poid_par_priv->information_buf = padapter->recvpriv.rx_smallpacket_crcerr; *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; } else - return NDIS_STATUS_INVALID_LENGTH; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_get_middle_packet_crc_hdl(struct oid_par_priv *poid_par_priv) @@ -68,14 +69,14 @@ uint oid_rt_get_middle_packet_crc_hdl(struct oid_par_priv *poid_par_priv) (poid_par_priv->adapter_context); if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len >= sizeof(u32)) { *(u32 *)poid_par_priv->information_buf = padapter->recvpriv.rx_middlepacket_crcerr; *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; } else - return NDIS_STATUS_INVALID_LENGTH; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_get_large_packet_crc_hdl(struct oid_par_priv *poid_par_priv) @@ -84,29 +85,29 @@ uint oid_rt_get_large_packet_crc_hdl(struct oid_par_priv *poid_par_priv) (poid_par_priv->adapter_context); if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len >= sizeof(u32)) { *(u32 *)poid_par_priv->information_buf = padapter->recvpriv.rx_largepacket_crcerr; *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; } else - return NDIS_STATUS_INVALID_LENGTH; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_get_tx_retry_hdl(struct oid_par_priv *poid_par_priv) { if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_get_rx_retry_hdl(struct oid_par_priv *poid_par_priv) { if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_get_rx_total_packet_hdl(struct oid_par_priv *poid_par_priv) @@ -115,29 +116,29 @@ uint oid_rt_get_rx_total_packet_hdl(struct oid_par_priv *poid_par_priv) (poid_par_priv->adapter_context); if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len >= sizeof(u32)) { *(u32 *)poid_par_priv->information_buf = padapter->recvpriv.rx_pkts + padapter->recvpriv.rx_drop; *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; } else - return NDIS_STATUS_INVALID_LENGTH; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_get_tx_beacon_ok_hdl(struct oid_par_priv *poid_par_priv) { if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_get_tx_beacon_err_hdl(struct oid_par_priv *poid_par_priv) { if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_get_rx_icv_err_hdl(struct oid_par_priv *poid_par_priv) @@ -146,32 +147,32 @@ uint oid_rt_get_rx_icv_err_hdl(struct oid_par_priv *poid_par_priv) (poid_par_priv->adapter_context); if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len >= sizeof(u32)) { *(uint *)poid_par_priv->information_buf = padapter->recvpriv.rx_icv_err; *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; } else - return NDIS_STATUS_INVALID_LENGTH ; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_set_encryption_algorithm_hdl(struct oid_par_priv *poid_par_priv) { if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_get_preamble_mode_hdl(struct oid_par_priv *poid_par_priv) { struct _adapter *padapter = (struct _adapter *) (poid_par_priv->adapter_context); - u32 preamblemode = 0 ; + u32 preamblemode = 0; if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len >= sizeof(u32)) { if (padapter->registrypriv.preamble == PREAMBLE_LONG) preamblemode = 0; @@ -182,15 +183,15 @@ uint oid_rt_get_preamble_mode_hdl(struct oid_par_priv *poid_par_priv) *(u32 *)poid_par_priv->information_buf = preamblemode; *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; } else - return NDIS_STATUS_INVALID_LENGTH; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_get_ap_ip_hdl(struct oid_par_priv *poid_par_priv) { if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_get_channelplan_hdl(struct oid_par_priv *poid_par_priv) @@ -200,10 +201,10 @@ uint oid_rt_get_channelplan_hdl(struct oid_par_priv *poid_par_priv) struct eeprom_priv *peeprompriv = &padapter->eeprompriv; if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; *(u16 *)poid_par_priv->information_buf = peeprompriv->channel_plan; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_set_channelplan_hdl(struct oid_par_priv @@ -214,9 +215,9 @@ uint oid_rt_set_channelplan_hdl(struct oid_par_priv struct eeprom_priv *peeprompriv = &padapter->eeprompriv; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; peeprompriv->channel_plan = *(u16 *)poid_par_priv->information_buf; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_set_preamble_mode_hdl(struct oid_par_priv @@ -227,7 +228,7 @@ uint oid_rt_set_preamble_mode_hdl(struct oid_par_priv u32 preamblemode = 0; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len >= sizeof(u32)) { preamblemode = *(u32 *)poid_par_priv->information_buf; if (preamblemode == 0) @@ -239,21 +240,21 @@ uint oid_rt_set_preamble_mode_hdl(struct oid_par_priv *(u32 *)poid_par_priv->information_buf = preamblemode; *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; } else - return NDIS_STATUS_INVALID_LENGTH; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_set_bcn_intvl_hdl(struct oid_par_priv *poid_par_priv) { if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_dedicate_probe_hdl(struct oid_par_priv *poid_par_priv) { - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_get_total_tx_bytes_hdl(struct oid_par_priv @@ -263,14 +264,14 @@ uint oid_rt_get_total_tx_bytes_hdl(struct oid_par_priv (poid_par_priv->adapter_context); if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len >= sizeof(u32)) { *(u32 *)poid_par_priv->information_buf = padapter->xmitpriv.tx_bytes; *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; } else - return NDIS_STATUS_INVALID_LENGTH; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_get_total_rx_bytes_hdl(struct oid_par_priv @@ -280,37 +281,37 @@ uint oid_rt_get_total_rx_bytes_hdl(struct oid_par_priv (poid_par_priv->adapter_context); if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len >= sizeof(u32)) { *(u32 *)poid_par_priv->information_buf = padapter->recvpriv.rx_bytes; *poid_par_priv->bytes_rw = poid_par_priv-> information_buf_len; } else - return NDIS_STATUS_INVALID_LENGTH; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_current_tx_power_level_hdl(struct oid_par_priv *poid_par_priv) { - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_get_enc_key_mismatch_count_hdl(struct oid_par_priv *poid_par_priv) { if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_get_enc_key_match_count_hdl(struct oid_par_priv *poid_par_priv) { if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_get_channel_hdl(struct oid_par_priv *poid_par_priv) @@ -322,7 +323,7 @@ uint oid_rt_get_channel_hdl(struct oid_par_priv *poid_par_priv) u32 channelnum; if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if ((check_fwstate(pmlmepriv, _FW_LINKED) == true) || (check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE) == true)) pnic_Config = &pmlmepriv->cur_network.network.Configuration; @@ -332,22 +333,22 @@ uint oid_rt_get_channel_hdl(struct oid_par_priv *poid_par_priv) channelnum = pnic_Config->DSConfig; *(u32 *)poid_par_priv->information_buf = channelnum; *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_get_hardware_radio_off_hdl(struct oid_par_priv *poid_par_priv) { if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_get_key_mismatch_hdl(struct oid_par_priv *poid_par_priv) { if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_supported_wireless_mode_hdl(struct oid_par_priv @@ -356,7 +357,7 @@ uint oid_rt_supported_wireless_mode_hdl(struct oid_par_priv u32 ulInfo = 0; if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len >= sizeof(u32)) { ulInfo |= 0x0100; /* WIRELESS_MODE_B */ ulInfo |= 0x0200; /* WIRELESS_MODE_G */ @@ -364,108 +365,108 @@ uint oid_rt_supported_wireless_mode_hdl(struct oid_par_priv *(u32 *) poid_par_priv->information_buf = ulInfo; *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; } else - return NDIS_STATUS_INVALID_LENGTH; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_get_channel_list_hdl(struct oid_par_priv *poid_par_priv) { if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_get_scan_in_progress_hdl(struct oid_par_priv *poid_par_priv) { if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_forced_data_rate_hdl(struct oid_par_priv *poid_par_priv) { - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_wireless_mode_for_scan_list_hdl(struct oid_par_priv *poid_par_priv) { - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_get_bss_wireless_mode_hdl(struct oid_par_priv *poid_par_priv) { if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_scan_with_magic_packet_hdl(struct oid_par_priv *poid_par_priv) { - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_ap_get_associated_station_list_hdl(struct oid_par_priv *poid_par_priv) { if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_ap_switch_into_ap_mode_hdl(struct oid_par_priv* poid_par_priv) { - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_ap_supported_hdl(struct oid_par_priv *poid_par_priv) { - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_ap_set_passphrase_hdl(struct oid_par_priv *poid_par_priv) { if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_rf_write_registry_hdl(struct oid_par_priv* poid_par_priv) { - uint status = NDIS_STATUS_SUCCESS; + uint status = RNDIS_STATUS_SUCCESS; struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); if (poid_par_priv->type_of_oid != SET_OID) /* QUERY_OID */ - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len == (sizeof(unsigned long) * 3)) { if (!r8712_setrfreg_cmd(Adapter, *(unsigned char *)poid_par_priv->information_buf, (unsigned long)(*((unsigned long *) poid_par_priv->information_buf + 2)))) - status = NDIS_STATUS_NOT_ACCEPTED; + status = RNDIS_STATUS_NOT_ACCEPTED; } else - status = NDIS_STATUS_INVALID_LENGTH; + status = RNDIS_STATUS_INVALID_LENGTH; return status; } uint oid_rt_pro_rf_read_registry_hdl(struct oid_par_priv *poid_par_priv) { - uint status = NDIS_STATUS_SUCCESS; + uint status = RNDIS_STATUS_SUCCESS; struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); if (poid_par_priv->type_of_oid != SET_OID) /* QUERY_OID */ - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len == (sizeof(unsigned long)*3)) { if (Adapter->mppriv.act_in_progress == true) - status = NDIS_STATUS_NOT_ACCEPTED; + status = RNDIS_STATUS_NOT_ACCEPTED; else { /* init workparam */ Adapter->mppriv.act_in_progress = true; @@ -486,10 +487,10 @@ uint oid_rt_pro_rf_read_registry_hdl(struct oid_par_priv *poid_par_priv) *(unsigned char *)poid_par_priv->information_buf, (unsigned char *)&Adapter->mppriv.workparam. io_value)) - status = NDIS_STATUS_NOT_ACCEPTED; + status = RNDIS_STATUS_NOT_ACCEPTED; } } else - status = NDIS_STATUS_INVALID_LENGTH; + status = RNDIS_STATUS_INVALID_LENGTH; return status; } @@ -508,7 +509,7 @@ uint oid_rt_get_connect_state_hdl(struct oid_par_priv *poid_par_priv) u32 ulInfo; if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; /* nStatus==0 CheckingStatus * nStatus==1 Associated * nStatus==2 AdHocMode @@ -521,15 +522,15 @@ uint oid_rt_get_connect_state_hdl(struct oid_par_priv *poid_par_priv) else if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE) == true) ulInfo = ADHOCMODE; else - ulInfo = NOTASSOCIATED ; + ulInfo = NOTASSOCIATED; *(u32 *)poid_par_priv->information_buf = ulInfo; *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_set_default_key_id_hdl(struct oid_par_priv *poid_par_priv) { if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_SUCCESS; } diff --git a/drivers/staging/rtl8712/rtl871x_ioctl_set.c b/drivers/staging/rtl8712/rtl871x_ioctl_set.c index d3ab24e34e3..53a7c8c1bb4 100644 --- a/drivers/staging/rtl8712/rtl871x_ioctl_set.c +++ b/drivers/staging/rtl8712/rtl871x_ioctl_set.c @@ -97,8 +97,6 @@ static u8 do_join(struct _adapter *padapter) pmlmepriv->fw_state = WIFI_ADHOC_MASTER_STATE; pibss = padapter->registrypriv.dev_network. MacAddress; - memset(&pdev_network->Ssid, 0, - sizeof(struct ndis_802_11_ssid)); memcpy(&pdev_network->Ssid, &pmlmepriv->assoc_ssid, sizeof(struct ndis_802_11_ssid)); diff --git a/drivers/staging/rtl8712/rtl871x_mlme.c b/drivers/staging/rtl8712/rtl871x_mlme.c index c51ad9ed4b5..02339e10001 100644 --- a/drivers/staging/rtl8712/rtl871x_mlme.c +++ b/drivers/staging/rtl8712/rtl871x_mlme.c @@ -62,7 +62,8 @@ static sint _init_mlme_priv(struct _adapter *padapter) _init_queue(&(pmlmepriv->scanned_queue)); set_scanned_network_val(pmlmepriv, 0); memset(&pmlmepriv->assoc_ssid, 0, sizeof(struct ndis_802_11_ssid)); - pbuf = _malloc(MAX_BSS_CNT * (sizeof(struct wlan_network))); + pbuf = kmalloc(MAX_BSS_CNT * (sizeof(struct wlan_network)), + GFP_ATOMIC); if (pbuf == NULL) return _FAIL; pmlmepriv->free_bss_buf = pbuf; @@ -604,9 +605,6 @@ void r8712_surveydone_event_callback(struct _adapter *adapter, u8 *pbuf) adapter->registrypriv. dev_network.MacAddress; pmlmepriv->fw_state ^= _FW_UNDER_SURVEY; - memset(&pdev_network->Ssid, 0, - sizeof(struct - ndis_802_11_ssid)); memcpy(&pdev_network->Ssid, &pmlmepriv->assoc_ssid, sizeof(struct @@ -728,8 +726,7 @@ void r8712_joinbss_event_callback(struct _adapter *adapter, u8 *pbuf) struct wlan_network *pnetwork; if (sizeof(struct list_head) == 4 * sizeof(u32)) { - pnetwork = (struct wlan_network *) - _malloc(sizeof(struct wlan_network)); + pnetwork = kmalloc(sizeof(struct wlan_network), GFP_ATOMIC); memcpy((u8 *)pnetwork+16, (u8 *)pbuf + 8, sizeof(struct wlan_network) - 16); } else @@ -1006,8 +1003,6 @@ void r8712_stadel_event_callback(struct _adapter *adapter, u8 *pbuf) memcpy(pdev_network, &tgt_network->network, r8712_get_ndis_wlan_bssid_ex_sz(&tgt_network-> network)); - memset(&pdev_network->Ssid, 0, - sizeof(struct ndis_802_11_ssid)); memcpy(&pdev_network->Ssid, &pmlmepriv->assoc_ssid, sizeof(struct ndis_802_11_ssid)); @@ -1048,9 +1043,6 @@ void r8712_got_addbareq_event_callback(struct _adapter *adapter, u8 *pbuf) struct sta_priv *pstapriv = &adapter->stapriv; struct recv_reorder_ctrl *precvreorder_ctrl = NULL; - printk(KERN_INFO "r8712u: [%s] mac = %pM, seq = %d, tid = %d\n", - __func__, pAddbareq_pram->MacAddress, - pAddbareq_pram->StartSeqNum, pAddbareq_pram->tid); psta = r8712_get_stainfo(pstapriv, pAddbareq_pram->MacAddress); if (psta) { precvreorder_ctrl = @@ -1219,19 +1211,16 @@ sint r8712_set_auth(struct _adapter *adapter, struct cmd_priv *pcmdpriv = &adapter->cmdpriv; struct cmd_obj *pcmd; struct setauth_parm *psetauthparm; - sint ret = _SUCCESS; - pcmd = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj)); + pcmd = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC); if (pcmd == NULL) return _FAIL; - psetauthparm = (struct setauth_parm *)_malloc( - sizeof(struct setauth_parm)); + psetauthparm = kzalloc(sizeof(struct setauth_parm), GFP_ATOMIC); if (psetauthparm == NULL) { kfree((unsigned char *)pcmd); return _FAIL; } - memset(psetauthparm, 0, sizeof(struct setauth_parm)); psetauthparm->mode = (u8)psecuritypriv->AuthAlgrthm; pcmd->cmdcode = _SetAuth_CMD_; pcmd->parmbuf = (unsigned char *)psetauthparm; @@ -1240,7 +1229,7 @@ sint r8712_set_auth(struct _adapter *adapter, pcmd->rspsz = 0; _init_listhead(&pcmd->list); r8712_enqueue_cmd(pcmdpriv, pcmd); - return ret; + return _SUCCESS; } sint r8712_set_key(struct _adapter *adapter, @@ -1251,16 +1240,16 @@ sint r8712_set_key(struct _adapter *adapter, struct cmd_obj *pcmd; struct setkey_parm *psetkeyparm; u8 keylen; + sint ret = _SUCCESS; - pcmd = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj)); + pcmd = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC); if (pcmd == NULL) return _FAIL; - psetkeyparm = (struct setkey_parm *)_malloc(sizeof(struct setkey_parm)); + psetkeyparm = kzalloc(sizeof(struct setkey_parm), GFP_ATOMIC); if (psetkeyparm == NULL) { - kfree((unsigned char *)pcmd); - return _FAIL; + ret = _FAIL; + goto err_free_cmd; } - memset(psetkeyparm, 0, sizeof(struct setkey_parm)); if (psecuritypriv->AuthAlgrthm == 2) { /* 802.1X */ psetkeyparm->algorithm = (u8)psecuritypriv->XGrpPrivacy; @@ -1282,23 +1271,28 @@ sint r8712_set_key(struct _adapter *adapter, psecuritypriv->DefKey[keyid].skey, keylen); break; case _TKIP_: - if (keyid < 1 || keyid > 2) - return _FAIL; + if (keyid < 1 || keyid > 2) { + ret = _FAIL; + goto err_free_parm; + } keylen = 16; memcpy(psetkeyparm->key, &psecuritypriv->XGrpKey[keyid - 1], keylen); psetkeyparm->grpkey = 1; break; case _AES_: - if (keyid < 1 || keyid > 2) - return _FAIL; + if (keyid < 1 || keyid > 2) { + ret = _FAIL; + goto err_free_parm; + } keylen = 16; memcpy(psetkeyparm->key, &psecuritypriv->XGrpKey[keyid - 1], keylen); psetkeyparm->grpkey = 1; break; default: - return _FAIL; + ret = _FAIL; + goto err_free_parm; } pcmd->cmdcode = _SetKey_CMD_; pcmd->parmbuf = (u8 *)psetkeyparm; @@ -1307,7 +1301,13 @@ sint r8712_set_key(struct _adapter *adapter, pcmd->rspsz = 0; _init_listhead(&pcmd->list); r8712_enqueue_cmd(pcmdpriv, pcmd); - return _SUCCESS; + return ret; + +err_free_parm: + kfree(psetkeyparm); +err_free_cmd: + kfree(pcmd); + return ret; } /* adjust IEs for r8712_joinbss_cmd in WMM */ @@ -1646,7 +1646,7 @@ void r8712_update_registrypriv_dev_network(struct _adapter *adapter) struct wlan_network *cur_network = &adapter->mlmepriv.cur_network; pdev_network->Privacy = cpu_to_le32(psecuritypriv->PrivacyAlgrthm - > 0 ? 1 : 0) ; /* adhoc no 802.1x */ + > 0 ? 1 : 0); /* adhoc no 802.1x */ pdev_network->Rssi = 0; switch (pregistrypriv->wireless_mode) { case WIRELESS_11B: @@ -1791,7 +1791,7 @@ static void update_ht_cap(struct _adapter *padapter, u8 *pie, uint ie_len) psta = r8712_get_stainfo(&padapter->stapriv, pcur_network->network.MacAddress); if (psta) { - for (i = 0; i < 16 ; i++) { + for (i = 0; i < 16; i++) { preorder_ctrl = &psta->recvreorder_ctrl[i]; preorder_ctrl->indicate_seq = 0xffff; preorder_ctrl->wend_b = 0xffff; diff --git a/drivers/staging/rtl8712/rtl871x_mp.c b/drivers/staging/rtl8712/rtl871x_mp.c index 5638d5e065f..389062fe8ea 100644 --- a/drivers/staging/rtl8712/rtl871x_mp.c +++ b/drivers/staging/rtl8712/rtl871x_mp.c @@ -53,8 +53,9 @@ static int init_mp_priv(struct mp_priv *pmp_priv) _init_mp_priv_(pmp_priv); _init_queue(&pmp_priv->free_mp_xmitqueue); pmp_priv->pallocated_mp_xmitframe_buf = NULL; - pmp_priv->pallocated_mp_xmitframe_buf = _malloc(NR_MP_XMITFRAME * - sizeof(struct mp_xmit_frame) + 4); + pmp_priv->pallocated_mp_xmitframe_buf = kmalloc(NR_MP_XMITFRAME * + sizeof(struct mp_xmit_frame) + 4, + GFP_ATOMIC); if (pmp_priv->pallocated_mp_xmitframe_buf == NULL) { res = _FAIL; goto _exit_init_mp_priv; @@ -80,9 +81,8 @@ _exit_init_mp_priv: static int free_mp_priv(struct mp_priv *pmp_priv) { - int res = 0; kfree(pmp_priv->pallocated_mp_xmitframe_buf); - return res; + return 0; } void mp871xinit(struct _adapter *padapter) @@ -110,7 +110,7 @@ static u32 fw_iocmd_read(struct _adapter *pAdapter, struct IOCMD_STRUCT iocmd) u16 iocmd_value = iocmd.value; u8 iocmd_idx = iocmd.index; - cmd32 = (iocmd_class << 24) | (iocmd_value << 8) | iocmd_idx ; + cmd32 = (iocmd_class << 24) | (iocmd_value << 8) | iocmd_idx; if (r8712_fw_cmd(pAdapter, cmd32)) r8712_fw_cmd_data(pAdapter, &val32, 1); else @@ -128,7 +128,7 @@ static u8 fw_iocmd_write(struct _adapter *pAdapter, r8712_fw_cmd_data(pAdapter, &value, 0); msleep(100); - cmd32 = (iocmd_class << 24) | (iocmd_value << 8) | iocmd_idx ; + cmd32 = (iocmd_class << 24) | (iocmd_value << 8) | iocmd_idx; return r8712_fw_cmd(pAdapter, cmd32); } @@ -189,8 +189,8 @@ u32 r8712_rf_reg_read(struct _adapter *pAdapter, u8 path, u8 offset) u32 rf_data; struct IOCMD_STRUCT iocmd; - iocmd.cmdclass = IOCMD_CLASS_BB_RF ; - iocmd.value = rf_addr ; + iocmd.cmdclass = IOCMD_CLASS_BB_RF; + iocmd.value = rf_addr; iocmd.index = IOCMD_RF_READ_IDX; rf_data = fw_iocmd_read(pAdapter, iocmd); return rf_data; @@ -281,11 +281,10 @@ void r8712_SetChannel(struct _adapter *pAdapter) struct SetChannel_parm *pparm = NULL; u16 code = GEN_CMD_CODE(_SetChannel); - pcmd = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj)); + pcmd = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC); if (pcmd == NULL) return; - pparm = (struct SetChannel_parm *)_malloc(sizeof(struct - SetChannel_parm)); + pparm = kmalloc(sizeof(struct SetChannel_parm), GFP_ATOMIC); if (pparm == NULL) { kfree(pcmd); return; diff --git a/drivers/staging/rtl8712/rtl871x_mp.h b/drivers/staging/rtl8712/rtl871x_mp.h index 255dc94f090..51395d1a3c7 100644 --- a/drivers/staging/rtl8712/rtl871x_mp.h +++ b/drivers/staging/rtl8712/rtl871x_mp.h @@ -26,62 +26,6 @@ #ifndef __RTL871X_MP_H_ #define __RTL871X_MP_H_ -/* 00 - Success */ -/* 11 - Error */ -#define STATUS_SUCCESS (0x00000000L) -#define STATUS_PENDING (0x00000103L) -#define STATUS_UNSUCCESSFUL (0xC0000001L) -#define STATUS_INSUFFICIENT_RESOURCES (0xC000009AL) -#define STATUS_NOT_SUPPORTED (0xC00000BBL) -#define NDIS_STATUS_SUCCESS ((uint)STATUS_SUCCESS) -#define NDIS_STATUS_PENDING ((uint) STATUS_PENDING) -#define NDIS_STATUS_NOT_RECOGNIZED ((uint)0x00010001L) -#define NDIS_STATUS_NOT_COPIED ((uint)0x00010002L) -#define NDIS_STATUS_NOT_ACCEPTED ((uint)0x00010003L) -#define NDIS_STATUS_CALL_ACTIVE ((uint)0x00010007L) -#define NDIS_STATUS_FAILURE ((uint) STATUS_UNSUCCESSFUL) -#define NDIS_STATUS_RESOURCES ((uint)\ - STATUS_INSUFFICIENT_RESOURCES) -#define NDIS_STATUS_CLOSING ((uint)0xC0010002L) -#define NDIS_STATUS_BAD_VERSION ((uint)0xC0010004L) -#define NDIS_STATUS_BAD_CHARACTERISTICS ((uint)0xC0010005L) -#define NDIS_STATUS_ADAPTER_NOT_FOUND ((uint)0xC0010006L) -#define NDIS_STATUS_OPEN_FAILED ((uint)0xC0010007L) -#define NDIS_STATUS_DEVICE_FAILED ((uint)0xC0010008L) -#define NDIS_STATUS_MULTICAST_FULL ((uint)0xC0010009L) -#define NDIS_STATUS_MULTICAST_EXISTS ((uint)0xC001000AL) -#define NDIS_STATUS_MULTICAST_NOT_FOUND ((uint)0xC001000BL) -#define NDIS_STATUS_REQUEST_ABORTED ((uint)0xC001000CL) -#define NDIS_STATUS_RESET_IN_PROGRESS ((uint)0xC001000DL) -#define NDIS_STATUS_CLOSING_INDICATING ((uint)0xC001000EL) -#define NDIS_STATUS_NOT_SUPPORTED ((uint)STATUS_NOT_SUPPORTED) -#define NDIS_STATUS_INVALID_PACKET ((uint)0xC001000FL) -#define NDIS_STATUS_OPEN_LIST_FULL ((uint)0xC0010010L) -#define NDIS_STATUS_ADAPTER_NOT_READY ((uint)0xC0010011L) -#define NDIS_STATUS_ADAPTER_NOT_OPEN ((uint)0xC0010012L) -#define NDIS_STATUS_NOT_INDICATING ((uint)0xC0010013L) -#define NDIS_STATUS_INVALID_LENGTH ((uint)0xC0010014L) -#define NDIS_STATUS_INVALID_DATA ((uint)0xC0010015L) -#define NDIS_STATUS_BUFFER_TOO_SHORT ((uint)0xC0010016L) -#define NDIS_STATUS_INVALID_OID ((uint)0xC0010017L) -#define NDIS_STATUS_ADAPTER_REMOVED ((uint)0xC0010018L) -#define NDIS_STATUS_UNSUPPORTED_MEDIA ((uint)0xC0010019L) -#define NDIS_STATUS_GROUP_ADDRESS_IN_USE ((uint)0xC001001AL) -#define NDIS_STATUS_FILE_NOT_FOUND ((uint)0xC001001BL) -#define NDIS_STATUS_ERROR_READING_FILE ((uint)0xC001001CL) -#define NDIS_STATUS_ALREADY_MAPPED ((uint)0xC001001DL) -#define NDIS_STATUS_RESOURCE_CONFLICT ((uint)0xC001001EL) -#define NDIS_STATUS_NO_CABLE ((uint)0xC001001FL) -#define NDIS_STATUS_INVALID_SAP ((uint)0xC0010020L) -#define NDIS_STATUS_SAP_IN_USE ((uint)0xC0010021L) -#define NDIS_STATUS_INVALID_ADDRESS ((uint)0xC0010022L) -#define NDIS_STATUS_VC_NOT_ACTIVATED ((uint)0xC0010023L) -#define NDIS_STATUS_DEST_OUT_OF_ORDER ((uint)0xC0010024L) /* cause 27*/ -#define NDIS_STATUS_VC_NOT_AVAILABLE ((uint)0xC0010025L) /* 35,45*/ -#define NDIS_STATUS_CELLRATE_NOT_AVAILABLE ((uint)0xC0010026L) /* 37*/ -#define NDIS_STATUS_INCOMPATABLE_QOS ((uint)0xC0010027L) /* 49*/ -#define NDIS_STATUS_AAL_PARAMS_UNSUPPORTED ((uint)0xC0010028L) /* 93*/ -#define NDIS_STATUS_NO_ROUTE_TO_DESTINATION ((uint)0xC0010029L) /* 3*/ #define MPT_NOOP 0 #define MPT_READ_MAC_1BYTE 1 #define MPT_READ_MAC_2BYTE 2 diff --git a/drivers/staging/rtl8712/rtl871x_mp_ioctl.c b/drivers/staging/rtl8712/rtl871x_mp_ioctl.c index 5eb461b4a49..9827ff8143b 100644 --- a/drivers/staging/rtl8712/rtl871x_mp_ioctl.c +++ b/drivers/staging/rtl8712/rtl871x_mp_ioctl.c @@ -26,6 +26,7 @@ * ******************************************************************************/ +#include <linux/rndis.h> #include "osdep_service.h" #include "drv_types.h" #include "mlme_osdep.h" @@ -34,12 +35,12 @@ uint oid_null_function(struct oid_par_priv *poid_par_priv) { - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_wireless_mode_hdl(struct oid_par_priv *poid_par_priv) { - uint status = NDIS_STATUS_SUCCESS; + uint status = RNDIS_STATUS_SUCCESS; struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); @@ -48,7 +49,7 @@ uint oid_rt_wireless_mode_hdl(struct oid_par_priv *poid_par_priv) Adapter->registrypriv.wireless_mode = *(u8 *)poid_par_priv->information_buf; else - status = NDIS_STATUS_INVALID_LENGTH; + status = RNDIS_STATUS_INVALID_LENGTH; } else if (poid_par_priv->type_of_oid == QUERY_OID) { if (poid_par_priv->information_buf_len >= sizeof(u8)) { *(u8 *)poid_par_priv->information_buf = @@ -56,16 +57,15 @@ uint oid_rt_wireless_mode_hdl(struct oid_par_priv *poid_par_priv) *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; } else - status = NDIS_STATUS_INVALID_LENGTH; + status = RNDIS_STATUS_INVALID_LENGTH; } else { - status = NDIS_STATUS_NOT_ACCEPTED; + status = RNDIS_STATUS_NOT_ACCEPTED; } return status; } uint oid_rt_pro_write_bb_reg_hdl(struct oid_par_priv *poid_par_priv) { - uint status = NDIS_STATUS_SUCCESS; struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); struct bb_reg_param *pbbreg; @@ -73,21 +73,20 @@ uint oid_rt_pro_write_bb_reg_hdl(struct oid_par_priv *poid_par_priv) u32 value; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len < sizeof(struct bb_reg_param)) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; pbbreg = (struct bb_reg_param *)(poid_par_priv->information_buf); offset = (u16)(pbbreg->offset) & 0xFFF; /*0ffset :0x800~0xfff*/ if (offset < BB_REG_BASE_ADDR) offset |= BB_REG_BASE_ADDR; value = pbbreg->value; r8712_bb_reg_write(Adapter, offset, value); - return status; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_read_bb_reg_hdl(struct oid_par_priv *poid_par_priv) { - uint status = NDIS_STATUS_SUCCESS; struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); struct bb_reg_param *pbbreg; @@ -95,9 +94,9 @@ uint oid_rt_pro_read_bb_reg_hdl(struct oid_par_priv *poid_par_priv) u32 value; if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len < sizeof(struct bb_reg_param)) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; pbbreg = (struct bb_reg_param *)(poid_par_priv->information_buf); offset = (u16)(pbbreg->offset) & 0xFFF; /*0ffset :0x800~0xfff*/ if (offset < BB_REG_BASE_ADDR) @@ -105,12 +104,11 @@ uint oid_rt_pro_read_bb_reg_hdl(struct oid_par_priv *poid_par_priv) value = r8712_bb_reg_read(Adapter, offset); pbbreg->value = value; *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; - return status; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_write_rf_reg_hdl(struct oid_par_priv *poid_par_priv) { - uint status = NDIS_STATUS_SUCCESS; struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); struct rf_reg_param *pbbreg; @@ -119,42 +117,41 @@ uint oid_rt_pro_write_rf_reg_hdl(struct oid_par_priv *poid_par_priv) u32 value; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len < sizeof(struct rf_reg_param)) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; pbbreg = (struct rf_reg_param *)(poid_par_priv->information_buf); path = (u8)pbbreg->path; if (path > RF_PATH_B) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; offset = (u8)pbbreg->offset; value = pbbreg->value; r8712_rf_reg_write(Adapter, path, offset, value); - return status; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_read_rf_reg_hdl(struct oid_par_priv *poid_par_priv) { struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; struct rf_reg_param *pbbreg; u8 path; u8 offset; u32 value; if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len < sizeof(struct rf_reg_param)) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; pbbreg = (struct rf_reg_param *)(poid_par_priv->information_buf); path = (u8)pbbreg->path; if (path > RF_PATH_B) /* 1T2R path_a /path_b */ - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; offset = (u8)pbbreg->offset; value = r8712_rf_reg_read(Adapter, path, offset); pbbreg->value = value; *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; - return status; + return RNDIS_STATUS_SUCCESS; } /*This function initializes the DUT to the MP test mode*/ @@ -265,35 +262,34 @@ uint oid_rt_pro_set_data_rate_hdl(struct oid_par_priv { struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; u32 ratevalue; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len != sizeof(u32)) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; ratevalue = *((u32 *)poid_par_priv->information_buf); if (ratevalue >= MPT_RATE_LAST) - return NDIS_STATUS_INVALID_DATA; + return RNDIS_STATUS_INVALID_DATA; Adapter->mppriv.curr_rateidx = ratevalue; r8712_SetDataRate(Adapter); - return status; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_start_test_hdl(struct oid_par_priv *poid_par_priv) { struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; + uint status = RNDIS_STATUS_SUCCESS; u32 mode; u8 val8; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; mode = *((u32 *)poid_par_priv->information_buf); Adapter->mppriv.mode = mode;/* 1 for loopback*/ if (mp_start_test(Adapter) == _FAIL) - status = NDIS_STATUS_NOT_ACCEPTED; + status = RNDIS_STATUS_NOT_ACCEPTED; r8712_write8(Adapter, MSR, 1); /* Link in ad hoc network, 0x1025004C */ r8712_write8(Adapter, RCR, 0); /* RCR : disable all pkt, 0x10250048 */ /* RCR disable Check BSSID, 0x1025004a */ @@ -313,12 +309,12 @@ uint oid_rt_pro_stop_test_hdl(struct oid_par_priv *poid_par_priv) { struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; + uint status = RNDIS_STATUS_SUCCESS; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (mp_stop_test(Adapter) == _FAIL) - status = NDIS_STATUS_NOT_ACCEPTED; + status = RNDIS_STATUS_NOT_ACCEPTED; return status; } @@ -327,37 +323,35 @@ uint oid_rt_pro_set_channel_direct_call_hdl(struct oid_par_priv { struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; u32 Channel; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len != sizeof(u32)) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; Channel = *((u32 *)poid_par_priv->information_buf); if (Channel > 14) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; Adapter->mppriv.curr_ch = Channel; r8712_SetChannel(Adapter); - return status; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_set_antenna_bb_hdl(struct oid_par_priv *poid_par_priv) { struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; u32 antenna; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len != sizeof(u32)) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; antenna = *((u32 *)poid_par_priv->information_buf); Adapter->mppriv.antenna_tx = (u16)((antenna & 0xFFFF0000) >> 16); Adapter->mppriv.antenna_rx = (u16)(antenna & 0x0000FFFF); r8712_SwitchAntenna(Adapter); - return status; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_set_tx_power_control_hdl( @@ -365,30 +359,29 @@ uint oid_rt_pro_set_tx_power_control_hdl( { struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; u32 tx_pwr_idx; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len != sizeof(u32)) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; tx_pwr_idx = *((u32 *)poid_par_priv->information_buf); if (tx_pwr_idx > MAX_TX_PWR_INDEX_N_MODE) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; Adapter->mppriv.curr_txpoweridx = (u8)tx_pwr_idx; r8712_SetTxPower(Adapter); - return status; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_query_tx_packet_sent_hdl( struct oid_par_priv *poid_par_priv) { - uint status = NDIS_STATUS_SUCCESS; + uint status = RNDIS_STATUS_SUCCESS; struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); if (poid_par_priv->type_of_oid != QUERY_OID) { - status = NDIS_STATUS_NOT_ACCEPTED; + status = RNDIS_STATUS_NOT_ACCEPTED; return status; } if (poid_par_priv->information_buf_len == sizeof(u32)) { @@ -396,19 +389,19 @@ uint oid_rt_pro_query_tx_packet_sent_hdl( Adapter->mppriv.tx_pktcount; *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; } else - status = NDIS_STATUS_INVALID_LENGTH; + status = RNDIS_STATUS_INVALID_LENGTH; return status; } uint oid_rt_pro_query_rx_packet_received_hdl( struct oid_par_priv *poid_par_priv) { - uint status = NDIS_STATUS_SUCCESS; + uint status = RNDIS_STATUS_SUCCESS; struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); if (poid_par_priv->type_of_oid != QUERY_OID) { - status = NDIS_STATUS_NOT_ACCEPTED; + status = RNDIS_STATUS_NOT_ACCEPTED; return status; } if (poid_par_priv->information_buf_len == sizeof(u32)) { @@ -416,19 +409,19 @@ uint oid_rt_pro_query_rx_packet_received_hdl( Adapter->mppriv.rx_pktcount; *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; } else - status = NDIS_STATUS_INVALID_LENGTH; + status = RNDIS_STATUS_INVALID_LENGTH; return status; } uint oid_rt_pro_query_rx_packet_crc32_error_hdl( struct oid_par_priv *poid_par_priv) { - uint status = NDIS_STATUS_SUCCESS; + uint status = RNDIS_STATUS_SUCCESS; struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); if (poid_par_priv->type_of_oid != QUERY_OID) { - status = NDIS_STATUS_NOT_ACCEPTED; + status = RNDIS_STATUS_NOT_ACCEPTED; return status; } if (poid_par_priv->information_buf_len == sizeof(u32)) { @@ -436,7 +429,7 @@ uint oid_rt_pro_query_rx_packet_crc32_error_hdl( Adapter->mppriv.rx_crcerrpktcount; *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; } else - status = NDIS_STATUS_INVALID_LENGTH; + status = RNDIS_STATUS_INVALID_LENGTH; return status; } @@ -447,25 +440,25 @@ uint oid_rt_pro_reset_tx_packet_sent_hdl(struct oid_par_priv (poid_par_priv->adapter_context); if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; Adapter->mppriv.tx_pktcount = 0; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_reset_rx_packet_received_hdl(struct oid_par_priv *poid_par_priv) { - uint status = NDIS_STATUS_SUCCESS; + uint status = RNDIS_STATUS_SUCCESS; struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len == sizeof(u32)) { Adapter->mppriv.rx_pktcount = 0; Adapter->mppriv.rx_crcerrpktcount = 0; } else - status = NDIS_STATUS_INVALID_LENGTH; + status = RNDIS_STATUS_INVALID_LENGTH; return status; } @@ -476,9 +469,9 @@ uint oid_rt_reset_phy_rx_packet_count_hdl(struct oid_par_priv (poid_par_priv->adapter_context); if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; r8712_ResetPhyRxPktCount(Adapter); - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_get_phy_rx_packet_received_hdl(struct oid_par_priv @@ -488,13 +481,13 @@ uint oid_rt_get_phy_rx_packet_received_hdl(struct oid_par_priv (poid_par_priv->adapter_context); if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len != sizeof(u32)) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; *(u32 *)poid_par_priv->information_buf = r8712_GetPhyRxPktReceived(Adapter); *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_get_phy_rx_packet_crc32_error_hdl(struct oid_par_priv @@ -504,13 +497,13 @@ uint oid_rt_get_phy_rx_packet_crc32_error_hdl(struct oid_par_priv (poid_par_priv->adapter_context); if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len != sizeof(u32)) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; *(u32 *)poid_par_priv->information_buf = r8712_GetPhyRxPktCRC32Error(Adapter); *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_set_modulation_hdl(struct oid_par_priv @@ -520,10 +513,10 @@ uint oid_rt_pro_set_modulation_hdl(struct oid_par_priv (poid_par_priv->adapter_context); if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; Adapter->mppriv.curr_modem = *((u8 *)poid_par_priv->information_buf); - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_set_continuous_tx_hdl(struct oid_par_priv @@ -534,10 +527,10 @@ uint oid_rt_pro_set_continuous_tx_hdl(struct oid_par_priv u32 bStartTest; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; bStartTest = *((u32 *)poid_par_priv->information_buf); r8712_SetContinuousTx(Adapter, (u8)bStartTest); - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_set_single_carrier_tx_hdl(struct oid_par_priv @@ -548,10 +541,10 @@ uint oid_rt_pro_set_single_carrier_tx_hdl(struct oid_par_priv u32 bStartTest; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; bStartTest = *((u32 *)poid_par_priv->information_buf); r8712_SetSingleCarrierTx(Adapter, (u8)bStartTest); - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_set_carrier_suppression_tx_hdl(struct oid_par_priv @@ -562,10 +555,10 @@ uint oid_rt_pro_set_carrier_suppression_tx_hdl(struct oid_par_priv u32 bStartTest; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; bStartTest = *((u32 *)poid_par_priv->information_buf); r8712_SetCarrierSuppressionTx(Adapter, (u8)bStartTest); - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_set_single_tone_tx_hdl(struct oid_par_priv @@ -576,28 +569,28 @@ uint oid_rt_pro_set_single_tone_tx_hdl(struct oid_par_priv u32 bStartTest; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; bStartTest = *((u32 *)poid_par_priv->information_buf); r8712_SetSingleToneTx(Adapter, (u8)bStartTest); - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro8711_join_bss_hdl(struct oid_par_priv *poid_par_priv) { struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; + uint status = RNDIS_STATUS_SUCCESS; struct ndis_802_11_ssid *pssid; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; *poid_par_priv->bytes_needed = (u32)sizeof(struct ndis_802_11_ssid); *poid_par_priv->bytes_rw = 0; if (poid_par_priv->information_buf_len < *poid_par_priv->bytes_needed) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; pssid = (struct ndis_802_11_ssid *)poid_par_priv->information_buf; if (mp_start_joinbss(Adapter, pssid) == _FAIL) - status = NDIS_STATUS_NOT_ACCEPTED; + status = RNDIS_STATUS_NOT_ACCEPTED; *poid_par_priv->bytes_rw = sizeof(struct ndis_802_11_ssid); return status; } @@ -607,12 +600,12 @@ uint oid_rt_pro_read_register_hdl(struct oid_par_priv { struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; + uint status = RNDIS_STATUS_SUCCESS; struct mp_rw_reg *RegRWStruct; u16 offset; if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; RegRWStruct = (struct mp_rw_reg *)poid_par_priv->information_buf; if ((RegRWStruct->offset >= 0x10250800) && (RegRWStruct->offset <= 0x10250FFF)) { @@ -635,7 +628,7 @@ uint oid_rt_pro_read_register_hdl(struct oid_par_priv RegRWStruct->offset); break; default: - status = NDIS_STATUS_NOT_ACCEPTED; + status = RNDIS_STATUS_NOT_ACCEPTED; break; } } @@ -647,14 +640,14 @@ uint oid_rt_pro_write_register_hdl(struct oid_par_priv *poid_par_priv) { struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; + uint status = RNDIS_STATUS_SUCCESS; struct mp_rw_reg *RegRWStruct; u16 offset; u32 value; u32 oldValue = 0; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; RegRWStruct = (struct mp_rw_reg *)poid_par_priv->information_buf; if ((RegRWStruct->offset >= 0x10250800) && (RegRWStruct->offset <= 0x10250FFF)) { @@ -691,11 +684,11 @@ uint oid_rt_pro_write_register_hdl(struct oid_par_priv *poid_par_priv) (unsigned int)RegRWStruct->value); break; default: - status = NDIS_STATUS_NOT_ACCEPTED; + status = RNDIS_STATUS_NOT_ACCEPTED; break; } - if ((status == NDIS_STATUS_SUCCESS) && + if ((status == RNDIS_STATUS_SUCCESS) && (RegRWStruct->offset == HIMR) && (RegRWStruct->width == 4)) Adapter->ImrContent = RegRWStruct->value; @@ -711,12 +704,12 @@ uint oid_rt_pro_burst_read_register_hdl(struct oid_par_priv struct burst_rw_reg *pBstRwReg; if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; pBstRwReg = (struct burst_rw_reg *)poid_par_priv->information_buf; r8712_read_mem(Adapter, pBstRwReg->offset, (u32)pBstRwReg->len, pBstRwReg->Data); *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_burst_write_register_hdl(struct oid_par_priv @@ -727,16 +720,16 @@ uint oid_rt_pro_burst_write_register_hdl(struct oid_par_priv struct burst_rw_reg *pBstRwReg; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; pBstRwReg = (struct burst_rw_reg *)poid_par_priv->information_buf; r8712_write_mem(Adapter, pBstRwReg->offset, (u32)pBstRwReg->len, pBstRwReg->Data); - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_write_txcmd_hdl(struct oid_par_priv *poid_par_priv) { - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_read16_eeprom_hdl(struct oid_par_priv *poid_par_priv) @@ -746,12 +739,12 @@ uint oid_rt_pro_read16_eeprom_hdl(struct oid_par_priv *poid_par_priv) struct eeprom_rw_param *pEEPROM; if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; pEEPROM = (struct eeprom_rw_param *)poid_par_priv->information_buf; pEEPROM->value = r8712_eeprom_read16(Adapter, (u16)(pEEPROM->offset >> 1)); *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_write16_eeprom_hdl(struct oid_par_priv *poid_par_priv) @@ -761,12 +754,12 @@ uint oid_rt_pro_write16_eeprom_hdl(struct oid_par_priv *poid_par_priv) struct eeprom_rw_param *pEEPROM; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; pEEPROM = (struct eeprom_rw_param *)poid_par_priv->information_buf; r8712_eeprom_write16(Adapter, (u16)(pEEPROM->offset >> 1), pEEPROM->value); *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro8711_wi_poll_hdl(struct oid_par_priv *poid_par_priv) @@ -776,17 +769,17 @@ uint oid_rt_pro8711_wi_poll_hdl(struct oid_par_priv *poid_par_priv) struct mp_wiparam *pwi_param; if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len < sizeof(struct mp_wiparam)) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; if (Adapter->mppriv.workparam.bcompleted == false) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; pwi_param = (struct mp_wiparam *)poid_par_priv->information_buf; memcpy(pwi_param, &Adapter->mppriv.workparam, sizeof(struct mp_wiparam)); Adapter->mppriv.act_in_progress = false; *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro8711_pkt_loss_hdl(struct oid_par_priv *poid_par_priv) @@ -795,42 +788,42 @@ uint oid_rt_pro8711_pkt_loss_hdl(struct oid_par_priv *poid_par_priv) (poid_par_priv->adapter_context); if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len < sizeof(uint) * 2) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; if (*(uint *)poid_par_priv->information_buf == 1) Adapter->mppriv.rx_pktloss = 0; *((uint *)poid_par_priv->information_buf+1) = Adapter->mppriv.rx_pktloss; *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_rd_attrib_mem_hdl(struct oid_par_priv *poid_par_priv) { if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_wr_attrib_mem_hdl(struct oid_par_priv *poid_par_priv) { if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_set_rf_intfs_hdl(struct oid_par_priv *poid_par_priv) { struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; + uint status = RNDIS_STATUS_SUCCESS; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (r8712_setrfintfs_cmd(Adapter, *(unsigned char *) poid_par_priv->information_buf) == _FAIL) - status = NDIS_STATUS_NOT_ACCEPTED; + status = RNDIS_STATUS_NOT_ACCEPTED; return status; } @@ -838,21 +831,20 @@ uint oid_rt_poll_rx_status_hdl(struct oid_par_priv *poid_par_priv) { struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; memcpy(poid_par_priv->information_buf, (unsigned char *)&Adapter->mppriv.rxstat, sizeof(struct recv_stat)); *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; - return status; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_cfg_debug_message_hdl(struct oid_par_priv *poid_par_priv) { - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_set_data_rate_ex_hdl(struct oid_par_priv @@ -860,13 +852,13 @@ uint oid_rt_pro_set_data_rate_ex_hdl(struct oid_par_priv { struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; + uint status = RNDIS_STATUS_SUCCESS; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (r8712_setdatarate_cmd(Adapter, poid_par_priv->information_buf) != _SUCCESS) - status = NDIS_STATUS_NOT_ACCEPTED; + status = RNDIS_STATUS_NOT_ACCEPTED; return status; } @@ -874,16 +866,15 @@ uint oid_rt_get_thermal_meter_hdl(struct oid_par_priv *poid_par_priv) { struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (Adapter->mppriv.act_in_progress == true) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len < sizeof(u8)) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; /*init workparam*/ Adapter->mppriv.act_in_progress = true; Adapter->mppriv.workparam.bcompleted = false; @@ -896,7 +887,7 @@ uint oid_rt_get_thermal_meter_hdl(struct oid_par_priv *poid_par_priv) *(u32 *)poid_par_priv->information_buf = Adapter->mppriv.workparam.io_value; *poid_par_priv->bytes_rw = sizeof(u32); - return status; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_set_power_tracking_hdl(struct oid_par_priv @@ -904,14 +895,14 @@ uint oid_rt_pro_set_power_tracking_hdl(struct oid_par_priv { struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; + uint status = RNDIS_STATUS_SUCCESS; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len < sizeof(u8)) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; if (!r8712_setptm_cmd(Adapter, *((u8 *)poid_par_priv->information_buf))) - status = NDIS_STATUS_NOT_ACCEPTED; + status = RNDIS_STATUS_NOT_ACCEPTED; return status; } @@ -920,13 +911,13 @@ uint oid_rt_pro_set_basic_rate_hdl(struct oid_par_priv *poid_par_priv) struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); u8 mpdatarate[NumRates] = {11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 0xff}; - uint status = NDIS_STATUS_SUCCESS; + uint status = RNDIS_STATUS_SUCCESS; u32 ratevalue; u8 datarates[NumRates]; int i; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; ratevalue = *((u32 *)poid_par_priv->information_buf); for (i = 0; i < NumRates; i++) { if (ratevalue == mpdatarate[i]) @@ -935,7 +926,7 @@ uint oid_rt_pro_set_basic_rate_hdl(struct oid_par_priv *poid_par_priv) datarates[i] = 0xff; } if (r8712_setbasicrate_cmd(Adapter, datarates) != _SUCCESS) - status = NDIS_STATUS_NOT_ACCEPTED; + status = RNDIS_STATUS_NOT_ACCEPTED; return status; } @@ -945,14 +936,14 @@ uint oid_rt_pro_qry_pwrstate_hdl(struct oid_par_priv *poid_par_priv) (poid_par_priv->adapter_context); if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len < 8) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; *poid_par_priv->bytes_rw = 8; memcpy(poid_par_priv->information_buf, &(Adapter->pwrctrlpriv.pwr_mode), 8); *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_set_pwrstate_hdl(struct oid_par_priv *poid_par_priv) @@ -962,18 +953,18 @@ uint oid_rt_pro_set_pwrstate_hdl(struct oid_par_priv *poid_par_priv) uint pwr_mode, smart_ps; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; *poid_par_priv->bytes_rw = 0; *poid_par_priv->bytes_needed = 8; if (poid_par_priv->information_buf_len < 8) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; pwr_mode = *(uint *)(poid_par_priv->information_buf); smart_ps = *(uint *)((addr_t)poid_par_priv->information_buf + 4); if (pwr_mode != Adapter->pwrctrlpriv.pwr_mode || smart_ps != Adapter->pwrctrlpriv.smart_ps) r8712_set_ps_mode(Adapter, pwr_mode, smart_ps); *poid_par_priv->bytes_rw = 8; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_h2c_set_rate_table_hdl(struct oid_par_priv @@ -981,20 +972,20 @@ uint oid_rt_pro_h2c_set_rate_table_hdl(struct oid_par_priv { struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; + uint status = RNDIS_STATUS_SUCCESS; struct setratable_parm *prate_table; u8 res; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; *poid_par_priv->bytes_needed = sizeof(struct setratable_parm); if (poid_par_priv->information_buf_len < sizeof(struct setratable_parm)) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; prate_table = (struct setratable_parm *)poid_par_priv->information_buf; res = r8712_setrttbl_cmd(Adapter, prate_table); if (res == _FAIL) - status = NDIS_STATUS_FAILURE; + status = RNDIS_STATUS_FAILURE; return status; } @@ -1002,8 +993,8 @@ uint oid_rt_pro_h2c_get_rate_table_hdl(struct oid_par_priv *poid_par_priv) { if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_encryption_ctrl_hdl(struct oid_par_priv @@ -1016,7 +1007,7 @@ uint oid_rt_pro_encryption_ctrl_hdl(struct oid_par_priv *poid_par_priv->bytes_needed = sizeof(u8); if (poid_par_priv->information_buf_len < *poid_par_priv->bytes_needed) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; if (poid_par_priv->type_of_oid == SET_OID) { encry_mode = *((u8 *)poid_par_priv->information_buf); @@ -1054,7 +1045,7 @@ uint oid_rt_pro_encryption_ctrl_hdl(struct oid_par_priv *(u8 *)poid_par_priv->information_buf = encry_mode; *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; } - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } /*----------------------------------------------------------------------*/ uint oid_rt_pro_add_sta_info_hdl(struct oid_par_priv *poid_par_priv) @@ -1062,24 +1053,24 @@ uint oid_rt_pro_add_sta_info_hdl(struct oid_par_priv *poid_par_priv) struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; + uint status = RNDIS_STATUS_SUCCESS; struct sta_info *psta = NULL; u8 *macaddr; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; *poid_par_priv->bytes_needed = ETH_ALEN; if (poid_par_priv->information_buf_len < *poid_par_priv->bytes_needed) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; macaddr = (u8 *) poid_par_priv->information_buf; psta = r8712_get_stainfo(&Adapter->stapriv, macaddr); if (psta == NULL) { /* the sta in sta_info_queue => do nothing*/ psta = r8712_alloc_stainfo(&Adapter->stapriv, macaddr); if (psta == NULL) - status = NDIS_STATUS_FAILURE; + status = RNDIS_STATUS_FAILURE; } return status; } @@ -1090,18 +1081,17 @@ uint oid_rt_pro_dele_sta_info_hdl(struct oid_par_priv *poid_par_priv) (poid_par_priv->adapter_context); unsigned long irqL; - uint status = NDIS_STATUS_SUCCESS; struct sta_info *psta = NULL; u8 *macaddr; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; *poid_par_priv->bytes_needed = ETH_ALEN; if (poid_par_priv->information_buf_len < *poid_par_priv->bytes_needed) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; macaddr = (u8 *)poid_par_priv->information_buf; @@ -1112,7 +1102,7 @@ uint oid_rt_pro_dele_sta_info_hdl(struct oid_par_priv *poid_par_priv) spin_unlock_irqrestore(&(Adapter->stapriv.sta_hash_lock), irqL); } - return status; + return RNDIS_STATUS_SUCCESS; } /*--------------------------------------------------------------------------*/ static u32 mp_query_drv_var(struct _adapter *padapter, u8 offset, u32 var) @@ -1125,26 +1115,24 @@ uint oid_rt_pro_query_dr_variable_hdl(struct oid_par_priv *poid_par_priv) struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; - struct DR_VARIABLE_STRUCT *pdrv_var; if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; *poid_par_priv->bytes_needed = sizeof(struct DR_VARIABLE_STRUCT); if (poid_par_priv->information_buf_len < *poid_par_priv->bytes_needed) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; pdrv_var = (struct DR_VARIABLE_STRUCT *)poid_par_priv->information_buf; pdrv_var->variable = mp_query_drv_var(Adapter, pdrv_var->offset, pdrv_var->variable); *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; - return status; + return RNDIS_STATUS_SUCCESS; } /*--------------------------------------------------------------------------*/ uint oid_rt_pro_rx_packet_type_hdl(struct oid_par_priv *poid_par_priv) { - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } /*------------------------------------------------------------------------*/ uint oid_rt_pro_read_efuse_hdl(struct oid_par_priv *poid_par_priv) @@ -1152,17 +1140,17 @@ uint oid_rt_pro_read_efuse_hdl(struct oid_par_priv *poid_par_priv) struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; + uint status = RNDIS_STATUS_SUCCESS; struct EFUSE_ACCESS_STRUCT *pefuse; u8 *data; u16 addr = 0, cnts = 0; if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len < sizeof(struct EFUSE_ACCESS_STRUCT)) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; pefuse = (struct EFUSE_ACCESS_STRUCT *)poid_par_priv->information_buf; addr = pefuse->start_addr; cnts = pefuse->cnts; @@ -1170,9 +1158,9 @@ uint oid_rt_pro_read_efuse_hdl(struct oid_par_priv *poid_par_priv) memset(data, 0xFF, cnts); if ((addr > 511) || (cnts < 1) || (cnts > 512) || (addr + cnts) > EFUSE_MAX_SIZE) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (r8712_efuse_access(Adapter, true, addr, cnts, data) == false) - status = NDIS_STATUS_FAILURE; + status = RNDIS_STATUS_FAILURE; *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; return status; } @@ -1182,14 +1170,14 @@ uint oid_rt_pro_write_efuse_hdl(struct oid_par_priv *poid_par_priv) struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; + uint status = RNDIS_STATUS_SUCCESS; struct EFUSE_ACCESS_STRUCT *pefuse; u8 *data; u16 addr = 0, cnts = 0; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; pefuse = (struct EFUSE_ACCESS_STRUCT *)poid_par_priv->information_buf; addr = pefuse->start_addr; @@ -1198,9 +1186,9 @@ uint oid_rt_pro_write_efuse_hdl(struct oid_par_priv *poid_par_priv) if ((addr > 511) || (cnts < 1) || (cnts > 512) || (addr + cnts) > r8712_efuse_get_max_size(Adapter)) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (r8712_efuse_access(Adapter, false, addr, cnts, data) == false) - status = NDIS_STATUS_FAILURE; + status = RNDIS_STATUS_FAILURE; return status; } /*----------------------------------------------------------------------*/ @@ -1208,12 +1196,12 @@ uint oid_rt_pro_rw_efuse_pgpkt_hdl(struct oid_par_priv *poid_par_priv) { struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; + uint status = RNDIS_STATUS_SUCCESS; struct PGPKT_STRUCT *ppgpkt; *poid_par_priv->bytes_rw = 0; if (poid_par_priv->information_buf_len < sizeof(struct PGPKT_STRUCT)) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; ppgpkt = (struct PGPKT_STRUCT *)poid_par_priv->information_buf; if (poid_par_priv->type_of_oid == QUERY_OID) { if (r8712_efuse_pg_packet_read(Adapter, ppgpkt->offset, @@ -1221,7 +1209,7 @@ uint oid_rt_pro_rw_efuse_pgpkt_hdl(struct oid_par_priv *poid_par_priv) *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; else - status = NDIS_STATUS_FAILURE; + status = RNDIS_STATUS_FAILURE; } else { if (r8712_efuse_reg_init(Adapter) == true) { if (r8712_efuse_pg_packet_write(Adapter, ppgpkt->offset, @@ -1229,10 +1217,10 @@ uint oid_rt_pro_rw_efuse_pgpkt_hdl(struct oid_par_priv *poid_par_priv) *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; else - status = NDIS_STATUS_FAILURE; + status = RNDIS_STATUS_FAILURE; r8712_efuse_reg_uninit(Adapter); } else - status = NDIS_STATUS_FAILURE; + status = RNDIS_STATUS_FAILURE; } return status; } @@ -1242,39 +1230,37 @@ uint oid_rt_get_efuse_current_size_hdl(struct oid_par_priv { struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len < sizeof(int)) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; r8712_efuse_reg_init(Adapter); *(int *)poid_par_priv->information_buf = r8712_efuse_get_current_size(Adapter); r8712_efuse_reg_uninit(Adapter); *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; - return status; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_get_efuse_max_size_hdl(struct oid_par_priv *poid_par_priv) { struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len < sizeof(u32)) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; *(int *)poid_par_priv->information_buf = r8712_efuse_get_max_size(Adapter); *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; - return status; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_efuse_hdl(struct oid_par_priv *poid_par_priv) { - uint status = NDIS_STATUS_SUCCESS; + uint status = RNDIS_STATUS_SUCCESS; if (poid_par_priv->type_of_oid == QUERY_OID) status = oid_rt_pro_read_efuse_hdl(poid_par_priv); @@ -1287,18 +1273,18 @@ uint oid_rt_pro_efuse_map_hdl(struct oid_par_priv *poid_par_priv) { struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; + uint status = RNDIS_STATUS_SUCCESS; u8 *data; *poid_par_priv->bytes_rw = 0; if (poid_par_priv->information_buf_len < EFUSE_MAP_MAX_SIZE) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; data = (u8 *)poid_par_priv->information_buf; if (poid_par_priv->type_of_oid == QUERY_OID) { if (r8712_efuse_map_read(Adapter, 0, EFUSE_MAP_MAX_SIZE, data)) *poid_par_priv->bytes_rw = EFUSE_MAP_MAX_SIZE; else - status = NDIS_STATUS_FAILURE; + status = RNDIS_STATUS_FAILURE; } else { /* SET_OID */ if (r8712_efuse_reg_init(Adapter) == true) { @@ -1306,10 +1292,10 @@ uint oid_rt_pro_efuse_map_hdl(struct oid_par_priv *poid_par_priv) EFUSE_MAP_MAX_SIZE, data)) *poid_par_priv->bytes_rw = EFUSE_MAP_MAX_SIZE; else - status = NDIS_STATUS_FAILURE; + status = RNDIS_STATUS_FAILURE; r8712_efuse_reg_uninit(Adapter); } else { - status = NDIS_STATUS_FAILURE; + status = RNDIS_STATUS_FAILURE; } } return status; @@ -1319,38 +1305,36 @@ uint oid_rt_set_bandwidth_hdl(struct oid_par_priv *poid_par_priv) { struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; u32 bandwidth; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len < sizeof(u32)) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; bandwidth = *((u32 *)poid_par_priv->information_buf);/*4*/ if (bandwidth != HT_CHANNEL_WIDTH_20) bandwidth = HT_CHANNEL_WIDTH_40; Adapter->mppriv.curr_bandwidth = (u8)bandwidth; r8712_SwitchBandwidth(Adapter); - return status; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_set_crystal_cap_hdl(struct oid_par_priv *poid_par_priv) { struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; u32 crystal_cap = 0; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len < sizeof(u32)) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; crystal_cap = *((u32 *)poid_par_priv->information_buf);/*4*/ if (crystal_cap > 0xf) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; Adapter->mppriv.curr_crystalcap = crystal_cap; r8712_SetCrystalCap(Adapter); - return status; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_set_rx_packet_type_hdl(struct oid_par_priv @@ -1362,9 +1346,9 @@ uint oid_rt_set_rx_packet_type_hdl(struct oid_par_priv u32 rcr_val32; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len < sizeof(u8)) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; rx_pkt_type = *((u8 *)poid_par_priv->information_buf);/*4*/ rcr_val32 = r8712_read32(Adapter, RCR);/*RCR = 0x10250048*/ rcr_val32 &= ~(RCR_CBSSID | RCR_AB | RCR_AM | RCR_APM | RCR_AAP); @@ -1391,7 +1375,7 @@ uint oid_rt_set_rx_packet_type_hdl(struct oid_par_priv else Adapter->mppriv.check_mp_pkt = 0; r8712_write32(Adapter, RCR, rcr_val32); - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_set_tx_agc_offset_hdl(struct oid_par_priv @@ -1402,12 +1386,12 @@ uint oid_rt_pro_set_tx_agc_offset_hdl(struct oid_par_priv u32 txagc; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len < sizeof(u32)) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; txagc = *(u32 *)poid_par_priv->information_buf; r8712_SetTxAGCOffset(Adapter, txagc); - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } uint oid_rt_pro_set_pkt_test_mode_hdl(struct oid_par_priv @@ -1415,16 +1399,16 @@ uint oid_rt_pro_set_pkt_test_mode_hdl(struct oid_par_priv { struct _adapter *Adapter = (struct _adapter *) (poid_par_priv->adapter_context); - uint status = NDIS_STATUS_SUCCESS; + uint status = RNDIS_STATUS_SUCCESS; struct mlme_priv *pmlmepriv = &Adapter->mlmepriv; struct mp_priv *pmppriv = &Adapter->mppriv; u32 type; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len < sizeof(u32)) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; type = *(u32 *)poid_par_priv->information_buf; @@ -1435,7 +1419,7 @@ uint oid_rt_pro_set_pkt_test_mode_hdl(struct oid_par_priv pmppriv->mode = type; _clr_fwstate_(pmlmepriv, WIFI_MP_LPBK_STATE); } else - status = NDIS_STATUS_NOT_ACCEPTED; + status = RNDIS_STATUS_NOT_ACCEPTED; return status; } /*--------------------------------------------------------------------------*/ @@ -1450,10 +1434,10 @@ uint oid_rt_set_power_down_hdl(struct oid_par_priv *poid_par_priv) u8 bpwrup; if (poid_par_priv->type_of_oid != SET_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; bpwrup = *(u8 *)poid_par_priv->information_buf; /*CALL the power_down function*/ - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } /*-------------------------------------------------------------------------- */ @@ -1463,11 +1447,11 @@ uint oid_rt_get_power_mode_hdl(struct oid_par_priv *poid_par_priv) (poid_par_priv->adapter_context); if (poid_par_priv->type_of_oid != QUERY_OID) - return NDIS_STATUS_NOT_ACCEPTED; + return RNDIS_STATUS_NOT_ACCEPTED; if (poid_par_priv->information_buf_len < sizeof(u32)) - return NDIS_STATUS_INVALID_LENGTH; + return RNDIS_STATUS_INVALID_LENGTH; *(int *)poid_par_priv->information_buf = Adapter->registrypriv.low_power ? POWER_LOW : POWER_NORMAL; *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len; - return NDIS_STATUS_SUCCESS; + return RNDIS_STATUS_SUCCESS; } diff --git a/drivers/staging/rtl8712/rtl871x_recv.c b/drivers/staging/rtl8712/rtl871x_recv.c index 23ec684b60e..eb775872c93 100644 --- a/drivers/staging/rtl8712/rtl871x_recv.c +++ b/drivers/staging/rtl8712/rtl871x_recv.c @@ -72,9 +72,9 @@ sint _r8712_init_recv_priv(struct recv_priv *precvpriv, _init_queue(&precvpriv->recv_pending_queue); precvpriv->adapter = padapter; precvpriv->free_recvframe_cnt = NR_RECVFRAME; - precvpriv->pallocated_frame_buf = _malloc(NR_RECVFRAME * - sizeof(union recv_frame) + - RXFRAME_ALIGN_SZ); + precvpriv->pallocated_frame_buf = kmalloc(NR_RECVFRAME * + sizeof(union recv_frame) + RXFRAME_ALIGN_SZ, + GFP_ATOMIC); if (precvpriv->pallocated_frame_buf == NULL) return _FAIL; kmemleak_not_leak(precvpriv->pallocated_frame_buf); @@ -254,7 +254,7 @@ union recv_frame *r8712_portctrl(struct _adapter *adapter, struct sta_info *psta; struct sta_priv *pstapriv; union recv_frame *prtnframe; - u16 ether_type = 0; + u16 ether_type; pstapriv = &adapter->stapriv; ptr = get_recvframe_data(precv_frame); @@ -263,15 +263,14 @@ union recv_frame *r8712_portctrl(struct _adapter *adapter, psta = r8712_get_stainfo(pstapriv, psta_addr); auth_alg = adapter->securitypriv.AuthAlgrthm; if (auth_alg == 2) { + /* get ether_type */ + ptr = ptr + pfhdr->attrib.hdrlen + LLC_HEADER_SIZE; + memcpy(ðer_type, ptr, 2); + ether_type = ntohs((unsigned short)ether_type); + if ((psta != NULL) && (psta->ieee8021x_blocked)) { /* blocked * only accept EAPOL frame */ - prtnframe = precv_frame; - /*get ether_type */ - ptr = ptr + pfhdr->attrib.hdrlen + - pfhdr->attrib.iv_len + LLC_HEADER_SIZE; - memcpy(ðer_type, ptr, 2); - ether_type = ntohs((unsigned short)ether_type); if (ether_type == 0x888e) prtnframe = precv_frame; else { @@ -606,8 +605,6 @@ sint r8712_wlanhdr_to_ethhdr(union recv_frame *precvframe) u8 bsnaphdr; u8 *psnap_type; struct ieee80211_snap_hdr *psnap; - - sint ret = _SUCCESS; struct _adapter *adapter = precvframe->u.hdr.adapter; struct mlme_priv *pmlmepriv = &adapter->mlmepriv; @@ -654,7 +651,7 @@ sint r8712_wlanhdr_to_ethhdr(union recv_frame *precvframe) len = htons(len); memcpy(ptr + 12, &len, 2); } - return ret; + return _SUCCESS; } s32 r8712_recv_entry(union recv_frame *precvframe) diff --git a/drivers/staging/rtl8712/rtl871x_recv.h b/drivers/staging/rtl8712/rtl871x_recv.h index e42e6f0a15e..92ca8997e5b 100644 --- a/drivers/staging/rtl8712/rtl871x_recv.h +++ b/drivers/staging/rtl8712/rtl871x_recv.h @@ -9,9 +9,6 @@ #define RXFRAME_ALIGN 8 #define RXFRAME_ALIGN_SZ (1 << RXFRAME_ALIGN) -#define MAX_RXFRAME_CNT 512 -#define MAX_RX_NUMBLKS (32) -#define RECVFRAME_HDR_ALIGN 128 #define MAX_SUBFRAME_COUNT 64 #define SNAP_SIZE sizeof(struct ieee80211_snap_hdr) @@ -130,15 +127,10 @@ struct sta_recv_priv { /* get a free recv_frame from pfree_recv_queue */ union recv_frame *r8712_alloc_recvframe(struct __queue *pfree_recv_queue); -union recv_frame *r8712_dequeue_recvframe(struct __queue *queue); -int r8712_enqueue_recvframe(union recv_frame *precvframe, - struct __queue *queue); int r8712_free_recvframe(union recv_frame *precvframe, struct __queue *pfree_recv_queue); void r8712_free_recvframe_queue(struct __queue *pframequeue, struct __queue *pfree_recv_queue); -void r8712_init_recvframe(union recv_frame *precvframe, - struct recv_priv *precvpriv); int r8712_wlanhdr_to_ethhdr(union recv_frame *precvframe); int recv_func(struct _adapter *padapter, void *pcontext); @@ -150,11 +142,6 @@ static inline u8 *get_rxmem(union recv_frame *precvframe) return precvframe->u.hdr.rx_head; } -static inline u8 *get_rx_status(union recv_frame *precvframe) -{ - return get_rxmem(precvframe); -} - static inline u8 *get_recvframe_data(union recv_frame *precvframe) { /* always return rx_data */ @@ -163,28 +150,6 @@ static inline u8 *get_recvframe_data(union recv_frame *precvframe) return precvframe->u.hdr.rx_data; } -static inline u8 *recvframe_push(union recv_frame *precvframe, sint sz) -{ - /* append data before rx_data */ - - /* add data to the start of recv_frame - * - * This function extends the used data area of the recv_frame at the - * buffer start. rx_data must be still larger than rx_head, after - * pushing. - */ - - if (precvframe == NULL) - return NULL; - precvframe->u.hdr.rx_data -= sz ; - if (precvframe->u.hdr.rx_data < precvframe->u.hdr.rx_head) { - precvframe->u.hdr.rx_data += sz ; - return NULL; - } - precvframe->u.hdr.len += sz; - 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 @@ -236,53 +201,6 @@ static inline u8 *recvframe_pull_tail(union recv_frame *precvframe, sint sz) return precvframe->u.hdr.rx_tail; } -static inline _buffer *get_rxbuf_desc(union recv_frame *precvframe) -{ - _buffer *buf_desc; - if (precvframe == NULL) - return NULL; - return buf_desc; -} - -static inline union recv_frame *rxmem_to_recvframe(u8 *rxmem) -{ - /* due to the design of 2048 bytes alignment of recv_frame, we can - * reference the union recv_frame from any given member of recv_frame. - * rxmem indicates the any member/address in recv_frame */ - return (union recv_frame *)(((addr_t)rxmem >> RXFRAME_ALIGN) << - RXFRAME_ALIGN); -} - -static inline union recv_frame *pkt_to_recvframe(_pkt *pkt) -{ - u8 *buf_star; - union recv_frame *precv_frame; - - precv_frame = rxmem_to_recvframe((unsigned char *)buf_star); - return precv_frame; -} - -static inline u8 *pkt_to_recvmem(_pkt *pkt) -{ - /* return the rx_head */ - union recv_frame *precv_frame = pkt_to_recvframe(pkt); - - return precv_frame->u.hdr.rx_head; -} - -static inline u8 *pkt_to_recvdata(_pkt *pkt) -{ - /* return the rx_data */ - union recv_frame *precv_frame = pkt_to_recvframe(pkt); - - return precv_frame->u.hdr.rx_data; -} - -static inline sint get_recvframe_len(union recv_frame *precvframe) -{ - return precvframe->u.hdr.len; -} - struct sta_info; void _r8712_init_sta_recv_priv(struct sta_recv_priv *psta_recvpriv); @@ -292,36 +210,10 @@ union recv_frame *r8712_decryptor(struct _adapter *adapter, union recv_frame *precv_frame); union recv_frame *r8712_recvframe_chk_defrag(struct _adapter *adapter, union recv_frame *precv_frame); -union recv_frame *r8712_recvframe_defrag(struct _adapter *adapter, - struct __queue *defrag_q); -union recv_frame *r8712_recvframe_chk_defrag_new(struct _adapter *adapter, - union recv_frame *precv_frame); -union recv_frame *r8712_recvframe_defrag_new(struct _adapter *adapter, - struct __queue *defrag_q, - union recv_frame *precv_frame); -int r8712_recv_decache(union recv_frame *precv_frame, u8 bretry, - struct stainfo_rxcache *prxcache); -int r8712_sta2sta_data_frame(struct _adapter *adapter, - union recv_frame *precv_frame, - struct sta_info **psta); -int r8712_ap2sta_data_frame(struct _adapter *adapter, - union recv_frame *precv_frame, - struct sta_info **psta); -int r8712_sta2ap_data_frame(struct _adapter *adapter, - union recv_frame *precv_frame, - struct sta_info **psta); -int r8712_validate_recv_ctrl_frame(struct _adapter *adapter, - union recv_frame *precv_frame); -int r8712_validate_recv_mgnt_frame(struct _adapter *adapter, - union recv_frame *precv_frame); -int r8712_validate_recv_data_frame(struct _adapter *adapter, - union recv_frame *precv_frame); int r8712_validate_recv_frame(struct _adapter *adapter, union recv_frame *precv_frame); union recv_frame *r8712_portctrl(struct _adapter *adapter, union recv_frame *precv_frame); -void r8712_mgt_dispatcher(struct _adapter *padapter, u8 *pframe, uint len); -int r8712_amsdu_to_msdu(struct _adapter *padapter, union recv_frame *prframe); #endif diff --git a/drivers/staging/rtl8712/rtl871x_security.c b/drivers/staging/rtl8712/rtl871x_security.c index e33fd6db246..0912f52def9 100644 --- a/drivers/staging/rtl8712/rtl871x_security.c +++ b/drivers/staging/rtl8712/rtl871x_security.c @@ -31,7 +31,6 @@ #include <linux/compiler.h> #include <linux/kernel.h> #include <linux/errno.h> -#include <linux/init.h> #include <linux/slab.h> #include <linux/module.h> #include <linux/kref.h> @@ -273,6 +272,7 @@ static void secmicputuint32(u8 *p, u32 val) /* Convert from Us4Byte32 to Byte[] in a portable way */ { long i; + for (i = 0; i < 4; i++) { *p++ = (u8) (val & 0xff); val >>= 8; @@ -766,6 +766,7 @@ static void xor_128(u8 *a, u8 *b, u8 *out) static void xor_32(u8 *a, u8 *b, u8 *out) { sint i; + for (i = 0; i < 4; i++) out[i] = a[i] ^ b[i]; } @@ -799,6 +800,7 @@ static void next_key(u8 *key, sint round) static void byte_sub(u8 *in, u8 *out) { sint i; + for (i = 0; i < 16; i++) out[i] = sbox(in[i]); } @@ -835,7 +837,7 @@ static void mix_column(u8 *in, u8 *out) u8 temp[4]; u8 tempb[4]; - for (i = 0 ; i < 4; i++) { + for (i = 0; i < 4; i++) { if ((in[i] & 0x80) == 0x80) add1b[i] = 0x1b; else @@ -1165,7 +1167,7 @@ u32 r8712_aes_encrypt(struct _adapter *padapter, u8 *pxmitframe) return _FAIL; pframe = ((struct xmit_frame *)pxmitframe)->buf_addr + TXDESC_OFFSET; /* 4 start to encrypt each fragment */ - if ((pattrib->encrypt == _AES_)) { + if (pattrib->encrypt == _AES_) { if (pattrib->psta) stainfo = pattrib->psta; else @@ -1176,7 +1178,7 @@ u32 r8712_aes_encrypt(struct _adapter *padapter, u8 *pxmitframe) prwskeylen = 16; for (curfragnum = 0; curfragnum < pattrib->nr_frags; curfragnum++) { - if ((curfragnum + 1) == pattrib->nr_frags) {\ + if ((curfragnum + 1) == pattrib->nr_frags) { length = pattrib->last_txcmdsz - pattrib->hdrlen - pattrib->iv_len - @@ -1187,7 +1189,7 @@ u32 r8712_aes_encrypt(struct _adapter *padapter, u8 *pxmitframe) length = pxmitpriv->frag_len - pattrib->hdrlen - pattrib->iv_len - - pattrib->icv_len ; + pattrib->icv_len; aes_cipher(prwskey, pattrib-> hdrlen, pframe, length); pframe += pxmitpriv->frag_len; @@ -1245,17 +1247,18 @@ static sint aes_decipher(u8 *key, uint hdrlen, (frtype == WIFI_DATA_CFPOLL) || (frtype == WIFI_DATA_CFACKPOLL)) { qc_exists = 1; - if (hdrlen != WLAN_HDR_A3_QOS_LEN) + if (hdrlen != WLAN_HDR_A3_QOS_LEN) hdrlen += 2; - } else if ((frsubtype == 0x08) || + } else if ((frsubtype == 0x08) || (frsubtype == 0x09) || (frsubtype == 0x0a) || (frsubtype == 0x0b)) { - if (hdrlen != WLAN_HDR_A3_QOS_LEN) - hdrlen += 2; - qc_exists = 1; - } else + if (hdrlen != WLAN_HDR_A3_QOS_LEN) + hdrlen += 2; + qc_exists = 1; + } else { qc_exists = 0; + } /* now, decrypt pframe with hdrlen offset and plen long */ payload_index = hdrlen + 8; /* 8 is for extiv */ for (i = 0; i < num_blocks; i++) { @@ -1315,7 +1318,7 @@ static sint aes_decipher(u8 *key, uint hdrlen, bitwise_xor(aes_out, padded_buffer, chain_buffer); aes128k128d(key, chain_buffer, aes_out); } - for (j = 0 ; j < 8; j++) + for (j = 0; j < 8; j++) mic[j] = aes_out[j]; /* Insert MIC into payload */ for (j = 0; j < 8; j++) @@ -1371,7 +1374,7 @@ u32 r8712_aes_decrypt(struct _adapter *padapter, u8 *precvframe) pframe = (unsigned char *)((union recv_frame *)precvframe)-> u.hdr.rx_data; /* 4 start to encrypt each fragment */ - if ((prxattrib->encrypt == _AES_)) { + if (prxattrib->encrypt == _AES_) { stainfo = r8712_get_stainfo(&padapter->stapriv, &prxattrib->ta[0]); if (stainfo != NULL) { diff --git a/drivers/staging/rtl8712/rtl871x_security.h b/drivers/staging/rtl8712/rtl871x_security.h index a13395fe21d..c732aeab8d2 100644 --- a/drivers/staging/rtl8712/rtl871x_security.h +++ b/drivers/staging/rtl8712/rtl871x_security.h @@ -207,9 +207,9 @@ void seccalctkipmic( u8 *Miccode, u8 priority); -void r8712_secmicsetkey(struct mic_data *pmicdata, u8 * key); -void r8712_secmicappend(struct mic_data *pmicdata, u8 * src, u32 nBytes); -void r8712_secgetmic(struct mic_data *pmicdata, u8 * dst); +void r8712_secmicsetkey(struct mic_data *pmicdata, u8 *key); +void r8712_secmicappend(struct mic_data *pmicdata, u8 *src, u32 nBytes); +void r8712_secgetmic(struct mic_data *pmicdata, u8 *dst); u32 r8712_aes_encrypt(struct _adapter *padapter, u8 *pxmitframe); u32 r8712_tkip_encrypt(struct _adapter *padapter, u8 *pxmitframe); void r8712_wep_encrypt(struct _adapter *padapter, u8 *pxmitframe); diff --git a/drivers/staging/rtl8712/rtl871x_sta_mgt.c b/drivers/staging/rtl8712/rtl871x_sta_mgt.c index 1247b3d9719..6c649842abd 100644 --- a/drivers/staging/rtl8712/rtl871x_sta_mgt.c +++ b/drivers/staging/rtl8712/rtl871x_sta_mgt.c @@ -51,8 +51,8 @@ u32 _r8712_init_sta_priv(struct sta_priv *pstapriv) struct sta_info *psta; s32 i; - pstapriv->pallocated_stainfo_buf = _malloc(sizeof(struct sta_info) * - NUM_STA + 4); + pstapriv->pallocated_stainfo_buf = kmalloc(sizeof(struct sta_info) * + NUM_STA + 4, GFP_ATOMIC); if (pstapriv->pallocated_stainfo_buf == NULL) return _FAIL; pstapriv->pstainfo_buf = pstapriv->pallocated_stainfo_buf + 4 - @@ -138,7 +138,7 @@ struct sta_info *r8712_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr) } phash_list = &(pstapriv->sta_hash[index]); list_insert_tail(&psta->hash_list, phash_list); - pstapriv->asoc_sta_count++ ; + pstapriv->asoc_sta_count++; /* For the SMC router, the sequence number of first packet of WPS handshake * will be 0. In this case, this packet will be dropped by recv_decache function @@ -149,7 +149,7 @@ struct sta_info *r8712_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr) memcpy(&psta->sta_recvpriv.rxcache.tid_rxseq[i], &wRxSeqInitialValue, 2); /* for A-MPDU Rx reordering buffer control */ - for (i = 0; i < 16 ; i++) { + for (i = 0; i < 16; i++) { preorder_ctrl = &psta->recvreorder_ctrl[i]; preorder_ctrl->padapter = pstapriv->padapter; preorder_ctrl->indicate_seq = 0xffff; diff --git a/drivers/staging/rtl8712/rtl871x_xmit.c b/drivers/staging/rtl8712/rtl871x_xmit.c index 78f570b571a..230681a8042 100644 --- a/drivers/staging/rtl8712/rtl871x_xmit.c +++ b/drivers/staging/rtl8712/rtl871x_xmit.c @@ -87,8 +87,8 @@ sint _r8712_init_xmit_priv(struct xmit_priv *pxmitpriv, and initialize free_xmit_frame below. Please also apply free_txobj to link_up all the xmit_frames... */ - pxmitpriv->pallocated_frame_buf = _malloc(NR_XMITFRAME * - sizeof(struct xmit_frame) + 4); + pxmitpriv->pallocated_frame_buf = kmalloc(NR_XMITFRAME * sizeof(struct xmit_frame) + 4, + GFP_ATOMIC); if (pxmitpriv->pallocated_frame_buf == NULL) { pxmitpriv->pxmit_frame_buf = NULL; return _FAIL; @@ -126,8 +126,8 @@ sint _r8712_init_xmit_priv(struct xmit_priv *pxmitpriv, /*init xmit_buf*/ _init_queue(&pxmitpriv->free_xmitbuf_queue); _init_queue(&pxmitpriv->pending_xmitbuf_queue); - pxmitpriv->pallocated_xmitbuf = _malloc(NR_XMITBUFF * - sizeof(struct xmit_buf) + 4); + pxmitpriv->pallocated_xmitbuf = kmalloc(NR_XMITBUFF * sizeof(struct xmit_buf) + 4, + GFP_ATOMIC); if (pxmitpriv->pallocated_xmitbuf == NULL) return _FAIL; pxmitpriv->pxmitbuf = pxmitpriv->pallocated_xmitbuf + 4 - @@ -135,8 +135,8 @@ sint _r8712_init_xmit_priv(struct xmit_priv *pxmitpriv, pxmitbuf = (struct xmit_buf *)pxmitpriv->pxmitbuf; for (i = 0; i < NR_XMITBUFF; i++) { _init_listhead(&pxmitbuf->list); - pxmitbuf->pallocated_buf = _malloc(MAX_XMITBUF_SZ + - XMITBUF_ALIGN_SZ); + pxmitbuf->pallocated_buf = kmalloc(MAX_XMITBUF_SZ + XMITBUF_ALIGN_SZ, + GFP_ATOMIC); if (pxmitbuf->pallocated_buf == NULL) return _FAIL; pxmitbuf->pbuf = pxmitbuf->pallocated_buf + XMITBUF_ALIGN_SZ - @@ -955,8 +955,8 @@ static void alloc_hwxmits(struct _adapter *padapter) struct xmit_priv *pxmitpriv = &padapter->xmitpriv; pxmitpriv->hwxmit_entry = HWXMIT_ENTRY; - pxmitpriv->hwxmits = (struct hw_xmit *)_malloc(sizeof(struct hw_xmit) * - pxmitpriv->hwxmit_entry); + pxmitpriv->hwxmits = kmalloc(sizeof(struct hw_xmit) * pxmitpriv->hwxmit_entry, + GFP_ATOMIC); if (pxmitpriv->hwxmits == NULL) return; hwxmits = pxmitpriv->hwxmits; diff --git a/drivers/staging/rtl8712/sta_info.h b/drivers/staging/rtl8712/sta_info.h index f8016e9abff..c4e0ef2f52c 100644 --- a/drivers/staging/rtl8712/sta_info.h +++ b/drivers/staging/rtl8712/sta_info.h @@ -140,7 +140,7 @@ void r8712_free_all_stainfo(struct _adapter *padapter); struct sta_info *r8712_get_stainfo(struct sta_priv *pstapriv, u8 *hwaddr); void r8712_init_bcmc_stainfo(struct _adapter *padapter); struct sta_info *r8712_get_bcmc_stainfo(struct _adapter *padapter); -u8 r8712_access_ctrl(struct wlan_acl_pool *pacl_list, u8 * mac_addr); +u8 r8712_access_ctrl(struct wlan_acl_pool *pacl_list, u8 *mac_addr); #endif /* _STA_INFO_H_ */ diff --git a/drivers/staging/rtl8712/usb_intf.c b/drivers/staging/rtl8712/usb_intf.c index a96cd06d69d..ba743542bab 100644 --- a/drivers/staging/rtl8712/usb_intf.c +++ b/drivers/staging/rtl8712/usb_intf.c @@ -205,9 +205,9 @@ static int r871x_suspend(struct usb_interface *pusb_intf, pm_message_t state) { struct net_device *pnetdev = usb_get_intfdata(pusb_intf); - printk(KERN_INFO "r8712: suspending...\n"); + netdev_info(pnetdev, "Suspending...\n"); if (!pnetdev || !netif_running(pnetdev)) { - printk(KERN_INFO "r8712: unable to suspend\n"); + netdev_info(pnetdev, "Unable to suspend\n"); return 0; } if (pnetdev->netdev_ops->ndo_stop) @@ -221,9 +221,9 @@ static int r871x_resume(struct usb_interface *pusb_intf) { struct net_device *pnetdev = usb_get_intfdata(pusb_intf); - printk(KERN_INFO "r8712: resuming...\n"); + netdev_info(pnetdev, "Resuming...\n"); if (!pnetdev || !netif_running(pnetdev)) { - printk(KERN_INFO "r8712: unable to resume\n"); + netdev_info(pnetdev, "Unable to resume\n"); return 0; } netif_device_attach(pnetdev); @@ -273,12 +273,12 @@ static uint r8712_usb_dvobj_init(struct _adapter *padapter) pdvobjpriv->nr_endpoint = piface_desc->bNumEndpoints; if (pusbd->speed == USB_SPEED_HIGH) { pdvobjpriv->ishighspeed = true; - printk(KERN_INFO "r8712u: USB_SPEED_HIGH with %d endpoints\n", - pdvobjpriv->nr_endpoint); + dev_info(&pusbd->dev, "r8712u: USB_SPEED_HIGH with %d endpoints\n", + pdvobjpriv->nr_endpoint); } else { pdvobjpriv->ishighspeed = false; - printk(KERN_INFO "r8712u: USB_SPEED_LOW with %d endpoints\n", - pdvobjpriv->nr_endpoint); + dev_info(&pusbd->dev, "r8712u: USB_SPEED_LOW with %d endpoints\n", + pdvobjpriv->nr_endpoint); } if ((r8712_alloc_io_queue(padapter)) == _FAIL) status = _FAIL; @@ -353,10 +353,9 @@ static void disable_ht_for_spec_devid(const struct usb_device_id *pdid, } } -static u8 key_2char2num(u8 hch, u8 lch) -{ - return (hex_to_bin(hch) << 4) | hex_to_bin(lch); -} +static const struct device_type wlan_type = { + .name = "wlan", +}; /* * drv_init() - a device potentially for us @@ -393,6 +392,7 @@ static int r871xu_drv_init(struct usb_interface *pusb_intf, padapter->pusb_intf = pusb_intf; usb_set_intfdata(pusb_intf, pnetdev); SET_NETDEV_DEV(pnetdev, &pusb_intf->dev); + pnetdev->dev.type = &wlan_type; /* step 2. */ padapter->dvobj_init = &r8712_usb_dvobj_init; padapter->dvobj_deinit = &r8712_usb_dvobj_deinit; @@ -423,9 +423,9 @@ static int r871xu_drv_init(struct usb_interface *pusb_intf, tmpU1b = r8712_read8(padapter, EE_9346CR);/*CR9346*/ /* To check system boot selection.*/ - printk(KERN_INFO "r8712u: Boot from %s: Autoload %s\n", - (tmpU1b & _9356SEL) ? "EEPROM" : "EFUSE", - (tmpU1b & _EEPROM_EN) ? "OK" : "Failed"); + dev_info(&udev->dev, "r8712u: Boot from %s: Autoload %s\n", + (tmpU1b & _9356SEL) ? "EEPROM" : "EFUSE", + (tmpU1b & _EEPROM_EN) ? "OK" : "Failed"); /* To check autoload success or not.*/ if (tmpU1b & _EEPROM_EN) { @@ -465,16 +465,7 @@ static int r871xu_drv_init(struct usb_interface *pusb_intf, r8712_efuse_pg_packet_read(padapter, offset, &pdata[i]); - if (r8712_initmac) { - /* Users specify the mac address */ - int jj, kk; - - for (jj = 0, kk = 0; jj < ETH_ALEN; - jj++, kk += 3) - mac[jj] = - key_2char2num(r8712_initmac[kk], - r8712_initmac[kk + 1]); - } else { + if (!r8712_initmac || !mac_pton(r8712_initmac, mac)) { /* Use the mac address stored in the Efuse * offset = 0x12 for usb in efuse */ @@ -533,8 +524,8 @@ static int r871xu_drv_init(struct usb_interface *pusb_intf, RT_CID_DEFAULT; break; } - printk(KERN_INFO "r8712u: CustomerID = 0x%.4x\n", - padapter->eeprompriv.CustomerID); + dev_info(&udev->dev, "r8712u: CustomerID = 0x%.4x\n", + padapter->eeprompriv.CustomerID); /* Led mode */ switch (padapter->eeprompriv.CustomerID) { case RT_CID_DEFAULT: @@ -590,11 +581,9 @@ static int r871xu_drv_init(struct usb_interface *pusb_intf, * address by setting bit 1 of first octet. */ mac[0] &= 0xFE; - printk(KERN_INFO "r8712u: MAC Address from user = " - "%pM\n", mac); + dev_info(&udev->dev, "r8712u: MAC Address from user = %pM\n", mac); } else - printk(KERN_INFO "r8712u: MAC Address from efuse = " - "%pM\n", mac); + dev_info(&udev->dev, "r8712u: MAC Address from efuse = %pM\n", mac); memcpy(pnetdev->dev_addr, mac, ETH_ALEN); } /* step 6. Load the firmware asynchronously */ @@ -606,7 +595,7 @@ static int r871xu_drv_init(struct usb_interface *pusb_intf, error: usb_put_dev(udev); usb_set_intfdata(pusb_intf, NULL); - if (padapter->dvobj_deinit != NULL) + if (padapter && padapter->dvobj_deinit != NULL) padapter->dvobj_deinit(padapter); if (pnetdev) free_netdev(pnetdev); @@ -661,7 +650,6 @@ static void __exit r8712u_drv_halt(void) { drvpriv.drv_registered = false; usb_deregister(&drvpriv.r871xu_drv); - printk(KERN_INFO "r8712u: Driver unloaded\n"); } module_init(r8712u_drv_entry); diff --git a/drivers/staging/rtl8712/usb_ops_linux.c b/drivers/staging/rtl8712/usb_ops_linux.c index 24e1ec5f006..a6c2aab0a94 100644 --- a/drivers/staging/rtl8712/usb_ops_linux.c +++ b/drivers/staging/rtl8712/usb_ops_linux.c @@ -45,9 +45,6 @@ struct zero_bulkout_context { void *padapter; }; -#define usb_write_cmd r8712_usb_write_mem -#define usb_write_cmd_complete usb_write_mem_complete - uint r8712_usb_init_intf_priv(struct intf_priv *pintfpriv) { pintfpriv->piorw_urb = usb_alloc_urb(0, GFP_ATOMIC); @@ -243,8 +240,7 @@ static void r8712_usb_read_port_complete(struct urb *purb) (unsigned char *)precvbuf); break; case -EINPROGRESS: - printk(KERN_ERR "r8712u: ERROR: URB IS IN" - " PROGRESS!/n"); + netdev_err(padapter->pnetdev, "ERROR: URB IS IN PROGRESS!\n"); break; default: break; @@ -336,8 +332,7 @@ void r8712_xmit_bh(void *priv) if ((padapter->bDriverStopped == true) || (padapter->bSurpriseRemoved == true)) { - printk(KERN_ERR "r8712u: xmit_bh => bDriverStopped" - " or bSurpriseRemoved\n"); + netdev_err(padapter->pnetdev, "xmit_bh => bDriverStopped or bSurpriseRemoved\n"); return; } ret = r8712_xmitframe_complete(padapter, pxmitpriv, NULL); @@ -387,7 +382,7 @@ static void usb_write_port_complete(struct urb *purb) case 0: break; default: - printk(KERN_WARNING "r8712u: pipe error: (%d)\n", purb->status); + netdev_warn(padapter->pnetdev, "r8712u: pipe error: (%d)\n", purb->status); break; } /* not to consider tx fragment */ @@ -500,11 +495,11 @@ int r8712_usbctrl_vendorreq(struct intf_priv *pintfpriv, u8 request, u16 value, */ u8 *palloc_buf, *pIo_buf; - palloc_buf = _malloc((u32) len + 16); + palloc_buf = kmalloc((u32)len + 16, GFP_ATOMIC); if (palloc_buf == NULL) { - printk(KERN_ERR "r8712u: [%s] Can't alloc memory for vendor" - " request\n", __func__); - return -1; + dev_err(&udev->dev, "%s: Can't alloc memory for vendor request\n", + __func__); + return -ENOMEM; } pIo_buf = palloc_buf + 16 - ((addr_t)(palloc_buf) & 0x0f); if (requesttype == 0x01) { diff --git a/drivers/staging/rtl8712/wifi.h b/drivers/staging/rtl8712/wifi.h index 793443e758a..73d7cd28060 100644 --- a/drivers/staging/rtl8712/wifi.h +++ b/drivers/staging/rtl8712/wifi.h @@ -159,99 +159,85 @@ enum WIFI_REG_DOMAIN { #define _PRIVACY_ BIT(14) #define _ORDER_ BIT(15) -#define SetToDs(pbuf) \ - do { \ - *(unsigned short *)(pbuf) |= cpu_to_le16(_TO_DS_); \ - } while (0) +#define SetToDs(pbuf) ({ \ + *(unsigned short *)(pbuf) |= cpu_to_le16(_TO_DS_); \ +}) #define GetToDs(pbuf) (((*(unsigned short *)(pbuf)) & \ le16_to_cpu(_TO_DS_)) != 0) -#define ClearToDs(pbuf) \ - do { \ - *(unsigned short *)(pbuf) &= (~cpu_to_le16(_TO_DS_)); \ - } while (0) +#define ClearToDs(pbuf) ({ \ + *(unsigned short *)(pbuf) &= (~cpu_to_le16(_TO_DS_)); \ +}) -#define SetFrDs(pbuf) \ - do { \ - *(unsigned short *)(pbuf) |= cpu_to_le16(_FROM_DS_); \ - } while (0) +#define SetFrDs(pbuf) ({ \ + *(unsigned short *)(pbuf) |= cpu_to_le16(_FROM_DS_); \ +}) #define GetFrDs(pbuf) (((*(unsigned short *)(pbuf)) & \ le16_to_cpu(_FROM_DS_)) != 0) -#define ClearFrDs(pbuf) \ - do { \ - *(unsigned short *)(pbuf) &= (~cpu_to_le16(_FROM_DS_)); \ - } while (0) +#define ClearFrDs(pbuf) ({ \ + *(unsigned short *)(pbuf) &= (~cpu_to_le16(_FROM_DS_)); \ +}) #define get_tofr_ds(pframe) ((GetToDs(pframe) << 1) | GetFrDs(pframe)) -#define SetMFrag(pbuf) \ - do { \ - *(unsigned short *)(pbuf) |= cpu_to_le16(_MORE_FRAG_); \ - } while (0) +#define SetMFrag(pbuf) ({ \ + *(unsigned short *)(pbuf) |= cpu_to_le16(_MORE_FRAG_); \ +}) #define GetMFrag(pbuf) (((*(unsigned short *)(pbuf)) & \ le16_to_cpu(_MORE_FRAG_)) != 0) -#define ClearMFrag(pbuf) \ - do { \ - *(unsigned short *)(pbuf) &= (~cpu_to_le16(_MORE_FRAG_)); \ - } while (0) +#define ClearMFrag(pbuf) ({ \ + *(unsigned short *)(pbuf) &= (~cpu_to_le16(_MORE_FRAG_)); \ +}) -#define SetRetry(pbuf) \ - do { \ - *(unsigned short *)(pbuf) |= cpu_to_le16(_RETRY_); \ - } while (0) +#define SetRetry(pbuf) ({ \ + *(unsigned short *)(pbuf) |= cpu_to_le16(_RETRY_); \ +}) #define GetRetry(pbuf) (((*(unsigned short *)(pbuf)) & \ le16_to_cpu(_RETRY_)) != 0) -#define ClearRetry(pbuf) \ - do { \ - *(unsigned short *)(pbuf) &= (~cpu_to_le16(_RETRY_)); \ - } while (0) +#define ClearRetry(pbuf) ({ \ + *(unsigned short *)(pbuf) &= (~cpu_to_le16(_RETRY_)); \ +}) -#define SetPwrMgt(pbuf) \ - do { \ - *(unsigned short *)(pbuf) |= cpu_to_le16(_PWRMGT_); \ - } while (0) +#define SetPwrMgt(pbuf) ({ \ + *(unsigned short *)(pbuf) |= cpu_to_le16(_PWRMGT_); \ +}) #define GetPwrMgt(pbuf) (((*(unsigned short *)(pbuf)) & \ le16_to_cpu(_PWRMGT_)) != 0) -#define ClearPwrMgt(pbuf) \ - do { \ - *(unsigned short *)(pbuf) &= (~cpu_to_le16(_PWRMGT_)); \ - } while (0) +#define ClearPwrMgt(pbuf) ({ \ + *(unsigned short *)(pbuf) &= (~cpu_to_le16(_PWRMGT_)); \ +}) -#define SetMData(pbuf) \ - do { \ - *(unsigned short *)(pbuf) |= cpu_to_le16(_MORE_DATA_); \ - } while (0) +#define SetMData(pbuf) ({ \ + *(unsigned short *)(pbuf) |= cpu_to_le16(_MORE_DATA_); \ +}) #define GetMData(pbuf) (((*(unsigned short *)(pbuf)) & \ le16_to_cpu(_MORE_DATA_)) != 0) -#define ClearMData(pbuf) \ - do { \ - *(unsigned short *)(pbuf) &= (~cpu_to_le16(_MORE_DATA_)); \ - } while (0) +#define ClearMData(pbuf) ({ \ + *(unsigned short *)(pbuf) &= (~cpu_to_le16(_MORE_DATA_)); \ +}) -#define SetPrivacy(pbuf) \ - do { \ - *(unsigned short *)(pbuf) |= cpu_to_le16(_PRIVACY_); \ - } while (0) +#define SetPrivacy(pbuf) ({ \ + *(unsigned short *)(pbuf) |= cpu_to_le16(_PRIVACY_); \ +}) #define GetPrivacy(pbuf) (((*(unsigned short *)(pbuf)) & \ le16_to_cpu(_PRIVACY_)) != 0) -#define ClearPrivacy(pbuf) \ - do { \ - *(unsigned short *)(pbuf) &= (~cpu_to_le16(_PRIVACY_)); \ - } while (0) +#define ClearPrivacy(pbuf) ({ \ + *(unsigned short *)(pbuf) &= (~cpu_to_le16(_PRIVACY_)); \ +}) #define GetOrder(pbuf) (((*(unsigned short *)(pbuf)) & \ @@ -287,48 +273,42 @@ enum WIFI_REG_DOMAIN { #define GetTupleCache(pbuf) (cpu_to_le16(*(unsigned short *)\ ((addr_t)(pbuf) + 22))) -#define SetFragNum(pbuf, num) \ - do { \ - *(unsigned short *)((addr_t)(pbuf) + 22) = \ - ((*(unsigned short *)((addr_t)(pbuf) + 22)) & \ - le16_to_cpu(~(0x000f))) | \ - cpu_to_le16(0x0f & (num)); \ - } while (0) - -#define SetSeqNum(pbuf, num) \ - do { \ - *(unsigned short *)((addr_t)(pbuf) + 22) = \ - ((*(unsigned short *)((addr_t)(pbuf) + 22)) & \ - le16_to_cpu((unsigned short)0x000f)) | \ - le16_to_cpu((unsigned short)(0xfff0 & (num << 4))); \ - } while (0) - -#define SetDuration(pbuf, dur) \ - do { \ - *(unsigned short *)((addr_t)(pbuf) + 2) |= \ - cpu_to_le16(0xffff & (dur)); \ - } while (0) - -#define SetPriority(pbuf, tid) \ - do { \ - *(unsigned short *)(pbuf) |= cpu_to_le16(tid & 0xf); \ - } while (0) +#define SetFragNum(pbuf, num) ({ \ + *(unsigned short *)((addr_t)(pbuf) + 22) = \ + ((*(unsigned short *)((addr_t)(pbuf) + 22)) & \ + le16_to_cpu(~(0x000f))) | \ + cpu_to_le16(0x0f & (num)); \ +}) + +#define SetSeqNum(pbuf, num) ({ \ + *(unsigned short *)((addr_t)(pbuf) + 22) = \ + ((*(unsigned short *)((addr_t)(pbuf) + 22)) & \ + le16_to_cpu((unsigned short)0x000f)) | \ + le16_to_cpu((unsigned short)(0xfff0 & (num << 4))); \ +}) + +#define SetDuration(pbuf, dur) ({ \ + *(unsigned short *)((addr_t)(pbuf) + 2) |= \ + cpu_to_le16(0xffff & (dur)); \ +}) + +#define SetPriority(pbuf, tid) ({ \ + *(unsigned short *)(pbuf) |= cpu_to_le16(tid & 0xf); \ +}) #define GetPriority(pbuf) ((le16_to_cpu(*(unsigned short *)(pbuf))) & 0xf) -#define SetAckpolicy(pbuf, ack) \ - do { \ - *(unsigned short *)(pbuf) |= cpu_to_le16((ack & 3) << 5); \ - } while (0) +#define SetAckpolicy(pbuf, ack) ({ \ + *(unsigned short *)(pbuf) |= cpu_to_le16((ack & 3) << 5); \ +}) #define GetAckpolicy(pbuf) (((le16_to_cpu(*(unsigned short *)pbuf)) >> 5) & 0x3) #define GetAMsdu(pbuf) (((le16_to_cpu(*(unsigned short *)pbuf)) >> 7) & 0x1) -#define SetAMsdu(pbuf, amsdu) \ - do { \ - *(unsigned short *)(pbuf) |= cpu_to_le16((amsdu & 1) << 7); \ - } while (0) +#define SetAMsdu(pbuf, amsdu) ({ \ + *(unsigned short *)(pbuf) |= cpu_to_le16((amsdu & 1) << 7); \ +}) #define GetAid(pbuf) (cpu_to_le16(*(unsigned short *)((addr_t)(pbuf) + 2)) \ & 0x3fff) @@ -457,11 +437,7 @@ static inline unsigned char *get_hdr_bssid(unsigned char *pframe) #define _SSID_IE_ 0 #define _SUPPORTEDRATES_IE_ 1 #define _DSSET_IE_ 3 -#define _TIM_IE_ 5 #define _IBSS_PARA_IE_ 6 -#define _CHLGETXT_IE_ 16 -#define _RSN_IE_2_ 48` -#define _SSN_IE_1_ 221 #define _ERPINFO_IE_ 42 #define _EXT_SUPPORTEDRATES_IE_ 50 @@ -526,10 +502,9 @@ static inline unsigned char *get_hdr_bssid(unsigned char *pframe) #define IEEE80211_DELBA_PARAM_TID_MASK 0xF000 #define IEEE80211_DELBA_PARAM_INITIATOR_MASK 0x0800 -#define SetOrderBit(pbuf) \ - do { \ - *(unsigned short *)(pbuf) |= cpu_to_le16(_ORDER_); \ - } while (0) +#define SetOrderBit(pbuf) ({ \ + *(unsigned short *)(pbuf) |= cpu_to_le16(_ORDER_); \ +}) #define GetOrderBit(pbuf) (((*(unsigned short *)(pbuf)) & \ le16_to_cpu(_ORDER_)) != 0) diff --git a/drivers/staging/rtl8712/xmit_linux.c b/drivers/staging/rtl8712/xmit_linux.c index 65542cb7168..0ac9130faf6 100644 --- a/drivers/staging/rtl8712/xmit_linux.c +++ b/drivers/staging/rtl8712/xmit_linux.c @@ -51,7 +51,7 @@ void _r8712_open_pktfile(_pkt *pktptr, struct pkt_file *pfile) pfile->pkt = pktptr; pfile->cur_addr = pfile->buf_start = pktptr->data; pfile->pkt_len = pfile->buf_len = pktptr->len; - pfile->cur_buffer = pfile->buf_start ; + pfile->cur_buffer = pfile->buf_start; } uint _r8712_pktfile_read(struct pkt_file *pfile, u8 *rmem, uint rlen) @@ -134,8 +134,7 @@ int r8712_xmit_resource_alloc(struct _adapter *padapter, for (i = 0; i < 8; i++) { pxmitbuf->pxmit_urb[i] = usb_alloc_urb(0, GFP_KERNEL); if (pxmitbuf->pxmit_urb[i] == NULL) { - printk(KERN_ERR "r8712u: pxmitbuf->pxmit_urb[i]" - " == NULL"); + netdev_err(padapter->pnetdev, "pxmitbuf->pxmit_urb[i] == NULL\n"); return _FAIL; } } |
