diff options
Diffstat (limited to 'drivers/staging/rtl8192u')
-rw-r--r-- | drivers/staging/rtl8192u/Makefile | 22 | ||||
-rw-r--r-- | drivers/staging/rtl8192u/ieee80211/Makefile | 16 | ||||
-rw-r--r-- | drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c | 2 | ||||
-rw-r--r-- | drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c | 2 | ||||
-rw-r--r-- | drivers/staging/rtl8192u/r8192U_core.c | 25 | ||||
-rw-r--r-- | drivers/staging/rtl8192u/r819xU_firmware.c | 2 |
6 files changed, 41 insertions, 28 deletions
diff --git a/drivers/staging/rtl8192u/Makefile b/drivers/staging/rtl8192u/Makefile index 738f4a8..206d924 100644 --- a/drivers/staging/rtl8192u/Makefile +++ b/drivers/staging/rtl8192u/Makefile @@ -1,18 +1,18 @@ NIC_SELECT = RTL8192U -EXTRA_CFLAGS += -std=gnu89 -EXTRA_CFLAGS += -O2 +ccflags-y := -std=gnu89 +ccflags-y += -O2 -EXTRA_CFLAGS += -DCONFIG_FORCE_HARD_FLOAT=y -EXTRA_CFLAGS += -DJACKSON_NEW_8187 -DJACKSON_NEW_RX -EXTRA_CFLAGS += -DTHOMAS_BEACON -DTHOMAS_TASKLET -DTHOMAS_SKB -DTHOMAS_TURBO -#EXTRA_CFLAGS += -DUSB_TX_DRIVER_AGGREGATION_ENABLE -#EXTRA_CFLAGS += -DUSB_RX_AGGREGATION_SUPPORT -EXTRA_CFLAGS += -DUSE_ONE_PIPE -EXTRA_CFLAGS += -DENABLE_DOT11D -EXTRA_CFLAGS += -Idrivers/staging/rtl8192u/ieee80211 +ccflags-y += -DCONFIG_FORCE_HARD_FLOAT=y +ccflags-y += -DJACKSON_NEW_8187 -DJACKSON_NEW_RX +ccflags-y += -DTHOMAS_BEACON -DTHOMAS_TASKLET -DTHOMAS_SKB -DTHOMAS_TURBO +#ccflags-y += -DUSB_TX_DRIVER_AGGREGATION_ENABLE +#ccflags-y += -DUSB_RX_AGGREGATION_SUPPORT +ccflags-y += -DUSE_ONE_PIPE +ccflags-y += -DENABLE_DOT11D +ccflags-y += -Idrivers/staging/rtl8192u/ieee80211 -r8192u_usb-objs := r8192U_core.o r8180_93cx6.o r8192U_wx.o \ +r8192u_usb-y := r8192U_core.o r8180_93cx6.o r8192U_wx.o \ r8190_rtl8256.o r819xU_phy.o r819xU_firmware.o \ r819xU_cmdpkt.o r8192U_dm.o r819xU_firmware_img.o \ ieee80211/ieee80211_crypt.o \ diff --git a/drivers/staging/rtl8192u/ieee80211/Makefile b/drivers/staging/rtl8192u/ieee80211/Makefile index 71ca5d9..45704f8 100644 --- a/drivers/staging/rtl8192u/ieee80211/Makefile +++ b/drivers/staging/rtl8192u/ieee80211/Makefile @@ -5,22 +5,22 @@ MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/$(NIC_SELECT) CC = gcc ifneq ($(shell uname -r|cut -d. -f1,2), 2.4) -EXTRA_CFLAGS += -I$(TOPDIR)/drivers/net/wireless -EXTRA_CFLAGS += -O2 -EXTRA_CFLAGS += -DJACKSON_NEW_8187 -DJACKSON_NEW_RX +ccflags-y := -I$(TOPDIR)/drivers/net/wireless +ccflags-y += -O2 +ccflags-y += -DJACKSON_NEW_8187 -DJACKSON_NEW_RX #it will fail to compile in suse linux enterprise 10 sp2. This flag is to solve this problem. ifeq ($(shell uname -r | cut -d. -f1,2,3,4), 2.6.16.60-0) -EXTRA_CFLAGS += -DOPENSUSE_SLED +ccflags-y := -DOPENSUSE_SLED endif ifeq ($(NIC_SELECT),RTL8192U) -#EXTRA_CFLAGS += -DUSB_TX_DRIVER_AGGREGATION_ENABLE -#EXTRA_CFLAGS += -DUSB_RX_AGGREGATION_SUPPORT +#ccflags-y := -DUSB_TX_DRIVER_AGGREGATION_ENABLE +#ccflags-y := -DUSB_RX_AGGREGATION_SUPPORT endif -#EXTRA_CFLAGS += -DJOHN_NOCPY +#ccflags-y := -DJOHN_NOCPY #flags to enable or disble 80211D feature -EXTRA_CFLAGS += -DENABLE_DOT11D +ccflags-y += -DENABLE_DOT11D ieee80211-rsl-objs := ieee80211_rx.o \ ieee80211_softmac.o \ ieee80211_tx.o \ diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c index 192123fb..c8ca9d8 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c @@ -2391,7 +2391,7 @@ static inline void update_network(struct ieee80211_network *dst, if(src->wmm_param[0].ac_aci_acm_aifsn|| \ src->wmm_param[1].ac_aci_acm_aifsn|| \ src->wmm_param[2].ac_aci_acm_aifsn|| \ - src->wmm_param[1].ac_aci_acm_aifsn) { + src->wmm_param[3].ac_aci_acm_aifsn) { memcpy(dst->wmm_param, src->wmm_param, WME_AC_PRAM_LEN); } //dst->QoS_Enable = src->QoS_Enable; diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c index a2e84c5..bc8c425 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c @@ -449,7 +449,7 @@ void ieee80211_softmac_scan_syncro(struct ieee80211_device *ieee) }while(!ieee->channel_map[ch]); #endif - /* this fuction can be called in two situations + /* this function can be called in two situations * 1- We have switched to ad-hoc mode and we are * performing a complete syncro scan before conclude * there are no interesting cell and to create a diff --git a/drivers/staging/rtl8192u/r8192U_core.c b/drivers/staging/rtl8192u/r8192U_core.c index 1ff7850..494f180 100644 --- a/drivers/staging/rtl8192u/r8192U_core.c +++ b/drivers/staging/rtl8192u/r8192U_core.c @@ -1534,7 +1534,7 @@ static void rtl8192_tx_isr(struct urb *tx_urb) * 1. check whether there's tx irq available, for it's a completion return * function, it should contain enough tx irq; * 2. check pakcet type; - * 3. intialize sendlist, check whether the to-be send packet no greater than 1 + * 3. initialize sendlist, check whether the to-be send packet no greater than 1 * 4. aggregation the packets, and fill firmware info and tx desc to it, etc. * 5. check whehter the packet could be sent, otherwise just insert to wait head * */ @@ -5793,10 +5793,12 @@ static int __devinit rtl8192_usb_probe(struct usb_interface *intf, struct net_device *dev = NULL; struct r8192_priv *priv= NULL; struct usb_device *udev = interface_to_usbdev(intf); + int ret; RT_TRACE(COMP_INIT, "Oops: i'm coming\n"); dev = alloc_ieee80211(sizeof(struct r8192_priv)); - + if (dev == NULL) + return -ENOMEM; usb_set_intfdata(intf, dev); SET_NETDEV_DEV(dev, &intf->dev); @@ -5826,12 +5828,16 @@ static int __devinit rtl8192_usb_probe(struct usb_interface *intf, RT_TRACE(COMP_INIT, "Driver probe completed1\n"); if(rtl8192_init(dev)!=0){ RT_TRACE(COMP_ERR, "Initialization failed"); + ret = -ENODEV; goto fail; } netif_carrier_off(dev); netif_stop_queue(dev); - register_netdev(dev); + ret = register_netdev(dev); + if (ret) + goto fail2; + RT_TRACE(COMP_INIT, "dev name=======> %s\n",dev->name); rtl8192_proc_init_one(dev); @@ -5839,13 +5845,20 @@ static int __devinit rtl8192_usb_probe(struct usb_interface *intf, RT_TRACE(COMP_INIT, "Driver probe completed\n"); return 0; - +fail2: + rtl8192_down(dev); + if (priv->pFirmware) { + kfree(priv->pFirmware); + priv->pFirmware = NULL; + } + rtl8192_usb_deleteendpoints(dev); + destroy_workqueue(priv->priv_wq); + mdelay(10); fail: free_ieee80211(dev); RT_TRACE(COMP_ERR, "wlan driver load failed\n"); - return -ENODEV; - + return ret; } //detach all the work and timer structure declared or inititialize in r8192U_init function. diff --git a/drivers/staging/rtl8192u/r819xU_firmware.c b/drivers/staging/rtl8192u/r819xU_firmware.c index b136ee4..49ae170 100644 --- a/drivers/staging/rtl8192u/r819xU_firmware.c +++ b/drivers/staging/rtl8192u/r819xU_firmware.c @@ -1,7 +1,7 @@ /************************************************************************************************** * Procedure: Init boot code/firmware code/data session * - * Description: This routine will intialize firmware. If any error occurs during the initialization + * Description: This routine will initialize firmware. If any error occurs during the initialization * process, the routine shall terminate immediately and return fail. * NIC driver should call NdisOpenFile only from MiniportInitialize. * |