diff options
| -rw-r--r-- | drivers/staging/b3dfg/Kconfig | 1 | ||||
| -rw-r--r-- | drivers/staging/heci/Kconfig | 1 | ||||
| -rw-r--r-- | drivers/staging/rspiusb/rspiusb.c | 2 | ||||
| -rw-r--r-- | drivers/staging/rt2860/rt_linux.h | 13 | ||||
| -rw-r--r-- | drivers/staging/rt2870/2870_main_dev.c | 67 | ||||
| -rw-r--r-- | drivers/staging/rt2870/common/2870_rtmp_init.c | 33 | ||||
| -rw-r--r-- | drivers/staging/rt2870/common/rtusb_io.c | 3 | ||||
| -rw-r--r-- | drivers/staging/rt2870/rt2870.h | 9 | ||||
| -rw-r--r-- | drivers/staging/rtl8192su/ieee80211.h | 2 | ||||
| -rw-r--r-- | drivers/staging/rtl8192su/ieee80211/ieee80211.h | 2 | ||||
| -rw-r--r-- | drivers/staging/rtl8192su/ieee80211/ieee80211_tx.c | 3 | ||||
| -rw-r--r-- | drivers/staging/rtl8192su/r8192U_core.c | 2 |
12 files changed, 80 insertions, 58 deletions
diff --git a/drivers/staging/b3dfg/Kconfig b/drivers/staging/b3dfg/Kconfig index 524231047de5..9e6573cf97d3 100644 --- a/drivers/staging/b3dfg/Kconfig +++ b/drivers/staging/b3dfg/Kconfig | |||
| @@ -1,5 +1,6 @@ | |||
| 1 | config B3DFG | 1 | config B3DFG |
| 2 | tristate "Brontes 3d Frame Framegrabber" | 2 | tristate "Brontes 3d Frame Framegrabber" |
| 3 | depends on PCI | ||
| 3 | default n | 4 | default n |
| 4 | ---help--- | 5 | ---help--- |
| 5 | This driver provides support for the Brontes 3d Framegrabber | 6 | This driver provides support for the Brontes 3d Framegrabber |
diff --git a/drivers/staging/heci/Kconfig b/drivers/staging/heci/Kconfig index ae8d588d3a27..c7206f8bcd93 100644 --- a/drivers/staging/heci/Kconfig +++ b/drivers/staging/heci/Kconfig | |||
| @@ -1,5 +1,6 @@ | |||
| 1 | config HECI | 1 | config HECI |
| 2 | tristate "Intel Management Engine Interface (MEI) Support" | 2 | tristate "Intel Management Engine Interface (MEI) Support" |
| 3 | depends on PCI | ||
| 3 | ---help--- | 4 | ---help--- |
| 4 | The Intel Management Engine Interface (Intel MEI) driver allows | 5 | The Intel Management Engine Interface (Intel MEI) driver allows |
| 5 | applications to access the Active Management Technology | 6 | applications to access the Active Management Technology |
diff --git a/drivers/staging/rspiusb/rspiusb.c b/drivers/staging/rspiusb/rspiusb.c index 2f8155c1968b..04e2f92c0f62 100644 --- a/drivers/staging/rspiusb/rspiusb.c +++ b/drivers/staging/rspiusb/rspiusb.c | |||
| @@ -716,6 +716,8 @@ static int MapUserBuffer(struct ioctl_struct *io, struct device_extension *pdx) | |||
| 716 | pdx->PixelUrb[frameInfo][i]->transfer_flags = | 716 | pdx->PixelUrb[frameInfo][i]->transfer_flags = |
| 717 | URB_NO_TRANSFER_DMA_MAP | URB_NO_INTERRUPT; | 717 | URB_NO_TRANSFER_DMA_MAP | URB_NO_INTERRUPT; |
| 718 | } | 718 | } |
| 719 | if (i == 0) | ||
| 720 | return -EINVAL; | ||
| 719 | /* only interrupt when last URB completes */ | 721 | /* only interrupt when last URB completes */ |
| 720 | pdx->PixelUrb[frameInfo][--i]->transfer_flags &= ~URB_NO_INTERRUPT; | 722 | pdx->PixelUrb[frameInfo][--i]->transfer_flags &= ~URB_NO_INTERRUPT; |
| 721 | pdx->pendedPixelUrbs[frameInfo] = | 723 | pdx->pendedPixelUrbs[frameInfo] = |
diff --git a/drivers/staging/rt2860/rt_linux.h b/drivers/staging/rt2860/rt_linux.h index 85175c182432..25b53ac3f820 100644 --- a/drivers/staging/rt2860/rt_linux.h +++ b/drivers/staging/rt2860/rt_linux.h | |||
| @@ -43,9 +43,6 @@ | |||
| 43 | #include "rtmp_type.h" | 43 | #include "rtmp_type.h" |
| 44 | #include <linux/module.h> | 44 | #include <linux/module.h> |
| 45 | #include <linux/kernel.h> | 45 | #include <linux/kernel.h> |
| 46 | #if !defined(RT2860) && !defined(RT30xx) | ||
| 47 | #include <linux/kthread.h> | ||
| 48 | #endif | ||
| 49 | 46 | ||
| 50 | #include <linux/spinlock.h> | 47 | #include <linux/spinlock.h> |
| 51 | #include <linux/init.h> | 48 | #include <linux/init.h> |
| @@ -166,9 +163,7 @@ typedef int (*HARD_START_XMIT_FUNC)(struct sk_buff *skb, struct net_device *net_ | |||
| 166 | 163 | ||
| 167 | #ifndef RT30xx | 164 | #ifndef RT30xx |
| 168 | typedef struct pid * THREAD_PID; | 165 | typedef struct pid * THREAD_PID; |
| 169 | #ifdef RT2860 | ||
| 170 | #define THREAD_PID_INIT_VALUE NULL | 166 | #define THREAD_PID_INIT_VALUE NULL |
| 171 | #endif | ||
| 172 | #define GET_PID(_v) find_get_pid(_v) | 167 | #define GET_PID(_v) find_get_pid(_v) |
| 173 | #define GET_PID_NUMBER(_v) pid_nr(_v) | 168 | #define GET_PID_NUMBER(_v) pid_nr(_v) |
| 174 | #define CHECK_PID_LEGALITY(_pid) if (pid_nr(_pid) >= 0) | 169 | #define CHECK_PID_LEGALITY(_pid) if (pid_nr(_pid) >= 0) |
| @@ -188,12 +183,12 @@ struct os_cookie { | |||
| 188 | dma_addr_t pAd_pa; | 183 | dma_addr_t pAd_pa; |
| 189 | #endif | 184 | #endif |
| 190 | #ifdef RT2870 | 185 | #ifdef RT2870 |
| 191 | struct usb_device *pUsb_Dev; | 186 | struct usb_device *pUsb_Dev; |
| 192 | 187 | ||
| 193 | #ifndef RT30xx | 188 | #ifndef RT30xx |
| 194 | struct task_struct *MLMEThr_task; | 189 | THREAD_PID MLMEThr_pid; |
| 195 | struct task_struct *RTUSBCmdThr_task; | 190 | THREAD_PID RTUSBCmdThr_pid; |
| 196 | struct task_struct *TimerQThr_task; | 191 | THREAD_PID TimerQThr_pid; |
| 197 | #endif | 192 | #endif |
| 198 | #ifdef RT30xx | 193 | #ifdef RT30xx |
| 199 | struct pid *MLMEThr_pid; | 194 | struct pid *MLMEThr_pid; |
diff --git a/drivers/staging/rt2870/2870_main_dev.c b/drivers/staging/rt2870/2870_main_dev.c index dd01c64fbf61..a4e8696ca39c 100644 --- a/drivers/staging/rt2870/2870_main_dev.c +++ b/drivers/staging/rt2870/2870_main_dev.c | |||
| @@ -235,7 +235,7 @@ INT MlmeThread( | |||
| 235 | DBGPRINT(RT_DEBUG_TRACE,( "<---%s\n",__func__)); | 235 | DBGPRINT(RT_DEBUG_TRACE,( "<---%s\n",__func__)); |
| 236 | 236 | ||
| 237 | #ifndef RT30xx | 237 | #ifndef RT30xx |
| 238 | pObj->MLMEThr_task = NULL; | 238 | pObj->MLMEThr_pid = THREAD_PID_INIT_VALUE; |
| 239 | #endif | 239 | #endif |
| 240 | #ifdef RT30xx | 240 | #ifdef RT30xx |
| 241 | pObj->MLMEThr_pid = NULL; | 241 | pObj->MLMEThr_pid = NULL; |
| @@ -348,7 +348,7 @@ INT RTUSBCmdThread( | |||
| 348 | DBGPRINT(RT_DEBUG_TRACE,( "<---RTUSBCmdThread\n")); | 348 | DBGPRINT(RT_DEBUG_TRACE,( "<---RTUSBCmdThread\n")); |
| 349 | 349 | ||
| 350 | #ifndef RT30xx | 350 | #ifndef RT30xx |
| 351 | pObj->RTUSBCmdThr_task = NULL; | 351 | pObj->RTUSBCmdThr_pid = THREAD_PID_INIT_VALUE; |
| 352 | #endif | 352 | #endif |
| 353 | #ifdef RT30xx | 353 | #ifdef RT30xx |
| 354 | pObj->RTUSBCmdThr_pid = NULL; | 354 | pObj->RTUSBCmdThr_pid = NULL; |
| @@ -447,7 +447,7 @@ INT TimerQThread( | |||
| 447 | DBGPRINT(RT_DEBUG_TRACE,( "<---%s\n",__func__)); | 447 | DBGPRINT(RT_DEBUG_TRACE,( "<---%s\n",__func__)); |
| 448 | 448 | ||
| 449 | #ifndef RT30xx | 449 | #ifndef RT30xx |
| 450 | pObj->TimerQThr_task = NULL; | 450 | pObj->TimerQThr_pid = THREAD_PID_INIT_VALUE; |
| 451 | #endif | 451 | #endif |
| 452 | #ifdef RT30xx | 452 | #ifdef RT30xx |
| 453 | pObj->TimerQThr_pid = NULL; | 453 | pObj->TimerQThr_pid = NULL; |
| @@ -883,46 +883,69 @@ VOID RT28xxThreadTerminate( | |||
| 883 | 883 | ||
| 884 | // Terminate Threads | 884 | // Terminate Threads |
| 885 | #ifndef RT30xx | 885 | #ifndef RT30xx |
| 886 | BUG_ON(pObj->TimerQThr_task == NULL); | 886 | CHECK_PID_LEGALITY(pObj->TimerQThr_pid) |
| 887 | CHECK_PID_LEGALITY(task_pid(pObj->TimerQThr_task)) | ||
| 888 | { | 887 | { |
| 889 | POS_COOKIE pObj = (POS_COOKIE)pAd->OS_Cookie; | 888 | POS_COOKIE pObj = (POS_COOKIE)pAd->OS_Cookie; |
| 890 | 889 | ||
| 891 | printk(KERN_DEBUG "Terminate the TimerQThr pid=%d!\n", | 890 | printk("Terminate the TimerQThr_pid=%d!\n", GET_PID_NUMBER(pObj->TimerQThr_pid)); |
| 892 | pid_nr(task_pid(pObj->TimerQThr_task))); | ||
| 893 | mb(); | 891 | mb(); |
| 894 | pAd->TimerFunc_kill = 1; | 892 | pAd->TimerFunc_kill = 1; |
| 895 | mb(); | 893 | mb(); |
| 896 | kthread_stop(pObj->TimerQThr_task); | 894 | ret = KILL_THREAD_PID(pObj->TimerQThr_pid, SIGTERM, 1); |
| 897 | pObj->TimerQThr_task = NULL; | 895 | if (ret) |
| 896 | { | ||
| 897 | printk(KERN_WARNING "%s: unable to stop TimerQThread, pid=%d, ret=%d!\n", | ||
| 898 | pAd->net_dev->name, GET_PID_NUMBER(pObj->TimerQThr_pid), ret); | ||
| 899 | } | ||
| 900 | else | ||
| 901 | { | ||
| 902 | wait_for_completion(&pAd->TimerQComplete); | ||
| 903 | pObj->TimerQThr_pid = THREAD_PID_INIT_VALUE; | ||
| 904 | } | ||
| 898 | } | 905 | } |
| 899 | 906 | ||
| 900 | BUG_ON(pObj->MLMEThr_task == NULL); | 907 | CHECK_PID_LEGALITY(pObj->MLMEThr_pid) |
| 901 | CHECK_PID_LEGALITY(task_pid(pObj->MLMEThr_task)) | ||
| 902 | { | 908 | { |
| 903 | printk(KERN_DEBUG "Terminate the MLMEThr pid=%d!\n", | 909 | printk("Terminate the MLMEThr_pid=%d!\n", GET_PID_NUMBER(pObj->MLMEThr_pid)); |
| 904 | pid_nr(task_pid(pObj->MLMEThr_task))); | ||
| 905 | mb(); | 910 | mb(); |
| 906 | pAd->mlme_kill = 1; | 911 | pAd->mlme_kill = 1; |
| 907 | //RT28XX_MLME_HANDLER(pAd); | 912 | //RT28XX_MLME_HANDLER(pAd); |
| 908 | mb(); | 913 | mb(); |
| 909 | kthread_stop(pObj->MLMEThr_task); | 914 | ret = KILL_THREAD_PID(pObj->MLMEThr_pid, SIGTERM, 1); |
| 910 | pObj->MLMEThr_task = NULL; | 915 | if (ret) |
| 916 | { | ||
| 917 | printk (KERN_WARNING "%s: unable to Mlme thread, pid=%d, ret=%d!\n", | ||
| 918 | pAd->net_dev->name, GET_PID_NUMBER(pObj->MLMEThr_pid), ret); | ||
| 919 | } | ||
| 920 | else | ||
| 921 | { | ||
| 922 | //wait_for_completion (&pAd->notify); | ||
| 923 | wait_for_completion (&pAd->mlmeComplete); | ||
| 924 | pObj->MLMEThr_pid = THREAD_PID_INIT_VALUE; | ||
| 925 | } | ||
| 911 | } | 926 | } |
| 912 | 927 | ||
| 913 | BUG_ON(pObj->RTUSBCmdThr_task == NULL); | 928 | CHECK_PID_LEGALITY(pObj->RTUSBCmdThr_pid) |
| 914 | CHECK_PID_LEGALITY(task_pid(pObj->RTUSBCmdThr_task)) | ||
| 915 | { | 929 | { |
| 916 | printk(KERN_DEBUG "Terminate the RTUSBCmdThr pid=%d!\n", | 930 | printk("Terminate the RTUSBCmdThr_pid=%d!\n", GET_PID_NUMBER(pObj->RTUSBCmdThr_pid)); |
| 917 | pid_nr(task_pid(pObj->RTUSBCmdThr_task))); | ||
| 918 | mb(); | 931 | mb(); |
| 919 | NdisAcquireSpinLock(&pAd->CmdQLock); | 932 | NdisAcquireSpinLock(&pAd->CmdQLock); |
| 920 | pAd->CmdQ.CmdQState = RT2870_THREAD_STOPED; | 933 | pAd->CmdQ.CmdQState = RT2870_THREAD_STOPED; |
| 921 | NdisReleaseSpinLock(&pAd->CmdQLock); | 934 | NdisReleaseSpinLock(&pAd->CmdQLock); |
| 922 | mb(); | 935 | mb(); |
| 923 | //RTUSBCMDUp(pAd); | 936 | //RTUSBCMDUp(pAd); |
| 924 | kthread_stop(pObj->RTUSBCmdThr_task); | 937 | ret = KILL_THREAD_PID(pObj->RTUSBCmdThr_pid, SIGTERM, 1); |
| 925 | pObj->RTUSBCmdThr_task = NULL; | 938 | if (ret) |
| 939 | { | ||
| 940 | printk(KERN_WARNING "%s: unable to RTUSBCmd thread, pid=%d, ret=%d!\n", | ||
| 941 | pAd->net_dev->name, GET_PID_NUMBER(pObj->RTUSBCmdThr_pid), ret); | ||
| 942 | } | ||
| 943 | else | ||
| 944 | { | ||
| 945 | //wait_for_completion (&pAd->notify); | ||
| 946 | wait_for_completion (&pAd->CmdQComplete); | ||
| 947 | pObj->RTUSBCmdThr_pid = THREAD_PID_INIT_VALUE; | ||
| 948 | } | ||
| 926 | } | 949 | } |
| 927 | #endif | 950 | #endif |
| 928 | #ifdef RT30xx | 951 | #ifdef RT30xx |
| @@ -1045,7 +1068,7 @@ BOOLEAN RT28XXChipsetCheck( | |||
| 1045 | dev_p->descriptor.idProduct == rtusb_usb_id[i].idProduct) | 1068 | dev_p->descriptor.idProduct == rtusb_usb_id[i].idProduct) |
| 1046 | { | 1069 | { |
| 1047 | #ifndef RT30xx | 1070 | #ifndef RT30xx |
| 1048 | printk(KERN_DEBUG "rt2870: idVendor = 0x%x, idProduct = 0x%x\n", | 1071 | printk("rt2870: idVendor = 0x%x, idProduct = 0x%x\n", |
| 1049 | #endif | 1072 | #endif |
| 1050 | #ifdef RT30xx | 1073 | #ifdef RT30xx |
| 1051 | printk("rt2870: idVendor = 0x%x, idProduct = 0x%x\n", | 1074 | printk("rt2870: idVendor = 0x%x, idProduct = 0x%x\n", |
diff --git a/drivers/staging/rt2870/common/2870_rtmp_init.c b/drivers/staging/rt2870/common/2870_rtmp_init.c index 0f4c8af97e47..80909e9ab5ae 100644 --- a/drivers/staging/rt2870/common/2870_rtmp_init.c +++ b/drivers/staging/rt2870/common/2870_rtmp_init.c | |||
| @@ -700,8 +700,8 @@ NDIS_STATUS AdapterBlockAllocateMemory( | |||
| 700 | usb_dev = pObj->pUsb_Dev; | 700 | usb_dev = pObj->pUsb_Dev; |
| 701 | 701 | ||
| 702 | #ifndef RT30xx | 702 | #ifndef RT30xx |
| 703 | pObj->MLMEThr_task = NULL; | 703 | pObj->MLMEThr_pid = THREAD_PID_INIT_VALUE; |
| 704 | pObj->RTUSBCmdThr_task = NULL; | 704 | pObj->RTUSBCmdThr_pid = THREAD_PID_INIT_VALUE; |
| 705 | #endif | 705 | #endif |
| 706 | #ifdef RT30xx | 706 | #ifdef RT30xx |
| 707 | pObj->MLMEThr_pid = NULL; | 707 | pObj->MLMEThr_pid = NULL; |
| @@ -743,7 +743,7 @@ NDIS_STATUS CreateThreads( | |||
| 743 | PRTMP_ADAPTER pAd = net_dev->ml_priv; | 743 | PRTMP_ADAPTER pAd = net_dev->ml_priv; |
| 744 | POS_COOKIE pObj = (POS_COOKIE) pAd->OS_Cookie; | 744 | POS_COOKIE pObj = (POS_COOKIE) pAd->OS_Cookie; |
| 745 | #ifndef RT30xx | 745 | #ifndef RT30xx |
| 746 | struct task_struct *tsk; | 746 | pid_t pid_number = -1; |
| 747 | #endif | 747 | #endif |
| 748 | #ifdef RT30xx | 748 | #ifdef RT30xx |
| 749 | pid_t pid_number; | 749 | pid_t pid_number; |
| @@ -762,10 +762,10 @@ NDIS_STATUS CreateThreads( | |||
| 762 | 762 | ||
| 763 | // Creat MLME Thread | 763 | // Creat MLME Thread |
| 764 | #ifndef RT30xx | 764 | #ifndef RT30xx |
| 765 | pObj->MLMEThr_task = NULL; | 765 | pObj->MLMEThr_pid= THREAD_PID_INIT_VALUE; |
| 766 | tsk = kthread_run(MlmeThread, pAd, "%s", pAd->net_dev->name); | 766 | pid_number = kernel_thread(MlmeThread, pAd, CLONE_VM); |
| 767 | 767 | if (pid_number < 0) | |
| 768 | if (IS_ERR(tsk)) { | 768 | { |
| 769 | #endif | 769 | #endif |
| 770 | #ifdef RT30xx | 770 | #ifdef RT30xx |
| 771 | pObj->MLMEThr_pid = NULL; | 771 | pObj->MLMEThr_pid = NULL; |
| @@ -778,7 +778,7 @@ NDIS_STATUS CreateThreads( | |||
| 778 | } | 778 | } |
| 779 | 779 | ||
| 780 | #ifndef RT30xx | 780 | #ifndef RT30xx |
| 781 | pObj->MLMEThr_task = tsk; | 781 | pObj->MLMEThr_pid = GET_PID(pid_number); |
| 782 | #endif | 782 | #endif |
| 783 | #ifdef RT30xx | 783 | #ifdef RT30xx |
| 784 | pObj->MLMEThr_pid = find_get_pid(pid_number); | 784 | pObj->MLMEThr_pid = find_get_pid(pid_number); |
| @@ -788,10 +788,9 @@ NDIS_STATUS CreateThreads( | |||
| 788 | 788 | ||
| 789 | // Creat Command Thread | 789 | // Creat Command Thread |
| 790 | #ifndef RT30xx | 790 | #ifndef RT30xx |
| 791 | pObj->RTUSBCmdThr_task = NULL; | 791 | pObj->RTUSBCmdThr_pid= THREAD_PID_INIT_VALUE; |
| 792 | tsk = kthread_run(RTUSBCmdThread, pAd, "%s", pAd->net_dev->name); | 792 | pid_number = kernel_thread(RTUSBCmdThread, pAd, CLONE_VM); |
| 793 | 793 | if (pid_number < 0) | |
| 794 | if (IS_ERR(tsk) < 0) | ||
| 795 | #endif | 794 | #endif |
| 796 | #ifdef RT30xx | 795 | #ifdef RT30xx |
| 797 | pObj->RTUSBCmdThr_pid = NULL; | 796 | pObj->RTUSBCmdThr_pid = NULL; |
| @@ -804,7 +803,7 @@ NDIS_STATUS CreateThreads( | |||
| 804 | } | 803 | } |
| 805 | 804 | ||
| 806 | #ifndef RT30xx | 805 | #ifndef RT30xx |
| 807 | pObj->RTUSBCmdThr_task = tsk; | 806 | pObj->RTUSBCmdThr_pid = GET_PID(pid_number); |
| 808 | #endif | 807 | #endif |
| 809 | #ifdef RT30xx | 808 | #ifdef RT30xx |
| 810 | pObj->RTUSBCmdThr_pid = find_get_pid(pid_number); | 809 | pObj->RTUSBCmdThr_pid = find_get_pid(pid_number); |
| @@ -812,9 +811,9 @@ NDIS_STATUS CreateThreads( | |||
| 812 | wait_for_completion(&(pAd->CmdQComplete)); | 811 | wait_for_completion(&(pAd->CmdQComplete)); |
| 813 | 812 | ||
| 814 | #ifndef RT30xx | 813 | #ifndef RT30xx |
| 815 | pObj->TimerQThr_task = NULL; | 814 | pObj->TimerQThr_pid= THREAD_PID_INIT_VALUE; |
| 816 | tsk = kthread_run(TimerQThread, pAd, "%s", pAd->net_dev->name); | 815 | pid_number = kernel_thread(TimerQThread, pAd, CLONE_VM); |
| 817 | if (IS_ERR(tsk) < 0) | 816 | if (pid_number < 0) |
| 818 | #endif | 817 | #endif |
| 819 | #ifdef RT30xx | 818 | #ifdef RT30xx |
| 820 | pObj->TimerQThr_pid = NULL; | 819 | pObj->TimerQThr_pid = NULL; |
| @@ -826,7 +825,7 @@ NDIS_STATUS CreateThreads( | |||
| 826 | return NDIS_STATUS_FAILURE; | 825 | return NDIS_STATUS_FAILURE; |
| 827 | } | 826 | } |
| 828 | #ifndef RT30xx | 827 | #ifndef RT30xx |
| 829 | pObj->TimerQThr_task = tsk; | 828 | pObj->TimerQThr_pid = GET_PID(pid_number); |
| 830 | #endif | 829 | #endif |
| 831 | #ifdef RT30xx | 830 | #ifdef RT30xx |
| 832 | pObj->TimerQThr_pid = find_get_pid(pid_number); | 831 | pObj->TimerQThr_pid = find_get_pid(pid_number); |
diff --git a/drivers/staging/rt2870/common/rtusb_io.c b/drivers/staging/rt2870/common/rtusb_io.c index fd1b0c18f2a0..704b5c2d5091 100644 --- a/drivers/staging/rt2870/common/rtusb_io.c +++ b/drivers/staging/rt2870/common/rtusb_io.c | |||
| @@ -984,8 +984,7 @@ NDIS_STATUS RTUSBEnqueueCmdFromNdis( | |||
| 984 | POS_COOKIE pObj = (POS_COOKIE) pAd->OS_Cookie; | 984 | POS_COOKIE pObj = (POS_COOKIE) pAd->OS_Cookie; |
| 985 | 985 | ||
| 986 | #ifndef RT30xx | 986 | #ifndef RT30xx |
| 987 | BUG_ON(pObj->RTUSBCmdThr_task == NULL); | 987 | CHECK_PID_LEGALITY(pObj->RTUSBCmdThr_pid) |
| 988 | CHECK_PID_LEGALITY(task_pid(pObj->RTUSBCmdThr_task)) | ||
| 989 | #endif | 988 | #endif |
| 990 | #ifdef RT30xx | 989 | #ifdef RT30xx |
| 991 | if (pObj->RTUSBCmdThr_pid < 0) | 990 | if (pObj->RTUSBCmdThr_pid < 0) |
diff --git a/drivers/staging/rt2870/rt2870.h b/drivers/staging/rt2870/rt2870.h index 29e3b53e52a1..2b8872b2fd9d 100644 --- a/drivers/staging/rt2870/rt2870.h +++ b/drivers/staging/rt2870/rt2870.h | |||
| @@ -79,6 +79,7 @@ | |||
| 79 | { \ | 79 | { \ |
| 80 | {USB_DEVICE(0x148F,0x2770)}, /* Ralink */ \ | 80 | {USB_DEVICE(0x148F,0x2770)}, /* Ralink */ \ |
| 81 | {USB_DEVICE(0x1737,0x0071)}, /* Linksys WUSB600N */ \ | 81 | {USB_DEVICE(0x1737,0x0071)}, /* Linksys WUSB600N */ \ |
| 82 | {USB_DEVICE(0x1737,0x0070)}, /* Linksys */ \ | ||
| 82 | {USB_DEVICE(0x148F,0x2870)}, /* Ralink */ \ | 83 | {USB_DEVICE(0x148F,0x2870)}, /* Ralink */ \ |
| 83 | {USB_DEVICE(0x148F,0x3070)}, /* Ralink */ \ | 84 | {USB_DEVICE(0x148F,0x3070)}, /* Ralink */ \ |
| 84 | {USB_DEVICE(0x0B05,0x1731)}, /* Asus */ \ | 85 | {USB_DEVICE(0x0B05,0x1731)}, /* Asus */ \ |
| @@ -93,12 +94,14 @@ | |||
| 93 | {USB_DEVICE(0x14B2,0x3C06)}, /* Conceptronic */ \ | 94 | {USB_DEVICE(0x14B2,0x3C06)}, /* Conceptronic */ \ |
| 94 | {USB_DEVICE(0x14B2,0x3C28)}, /* Conceptronic */ \ | 95 | {USB_DEVICE(0x14B2,0x3C28)}, /* Conceptronic */ \ |
| 95 | {USB_DEVICE(0x2019,0xED06)}, /* Planex Communications, Inc. */ \ | 96 | {USB_DEVICE(0x2019,0xED06)}, /* Planex Communications, Inc. */ \ |
| 97 | {USB_DEVICE(0x2019,0xED14)}, /* Planex Communications, Inc. */ \ | ||
| 96 | {USB_DEVICE(0x2019,0xAB25)}, /* Planex Communications, Inc. RT3070 */ \ | 98 | {USB_DEVICE(0x2019,0xAB25)}, /* Planex Communications, Inc. RT3070 */ \ |
| 97 | {USB_DEVICE(0x07D1,0x3C09)}, /* D-Link */ \ | 99 | {USB_DEVICE(0x07D1,0x3C09)}, /* D-Link */ \ |
| 98 | {USB_DEVICE(0x07D1,0x3C11)}, /* D-Link */ \ | 100 | {USB_DEVICE(0x07D1,0x3C11)}, /* D-Link */ \ |
| 99 | {USB_DEVICE(0x14B2,0x3C07)}, /* AL */ \ | 101 | {USB_DEVICE(0x14B2,0x3C07)}, /* AL */ \ |
| 100 | {USB_DEVICE(0x14B2,0x3C12)}, /* AL */ \ | 102 | {USB_DEVICE(0x14B2,0x3C12)}, /* AL */ \ |
| 101 | {USB_DEVICE(0x050D,0x8053)}, /* Belkin */ \ | 103 | {USB_DEVICE(0x050D,0x8053)}, /* Belkin */ \ |
| 104 | {USB_DEVICE(0x050D,0x815C)}, /* Belkin */ \ | ||
| 102 | {USB_DEVICE(0x14B2,0x3C23)}, /* Airlink */ \ | 105 | {USB_DEVICE(0x14B2,0x3C23)}, /* Airlink */ \ |
| 103 | {USB_DEVICE(0x14B2,0x3C27)}, /* Airlink */ \ | 106 | {USB_DEVICE(0x14B2,0x3C27)}, /* Airlink */ \ |
| 104 | {USB_DEVICE(0x07AA,0x002F)}, /* Corega */ \ | 107 | {USB_DEVICE(0x07AA,0x002F)}, /* Corega */ \ |
| @@ -587,16 +590,14 @@ VOID RTUSBBulkRxComplete(purbb_t pUrb, struct pt_regs *pt_regs); | |||
| 587 | #define RTUSBMlmeUp(pAd) \ | 590 | #define RTUSBMlmeUp(pAd) \ |
| 588 | { \ | 591 | { \ |
| 589 | POS_COOKIE pObj = (POS_COOKIE) pAd->OS_Cookie; \ | 592 | POS_COOKIE pObj = (POS_COOKIE) pAd->OS_Cookie; \ |
| 590 | BUG_ON(pObj->MLMEThr_task == NULL); \ | 593 | CHECK_PID_LEGALITY(pObj->MLMEThr_pid) \ |
| 591 | CHECK_PID_LEGALITY(task_pid(pObj->MLMEThr_task)) \ | ||
| 592 | up(&(pAd->mlme_semaphore)); \ | 594 | up(&(pAd->mlme_semaphore)); \ |
| 593 | } | 595 | } |
| 594 | 596 | ||
| 595 | #define RTUSBCMDUp(pAd) \ | 597 | #define RTUSBCMDUp(pAd) \ |
| 596 | { \ | 598 | { \ |
| 597 | POS_COOKIE pObj = (POS_COOKIE) pAd->OS_Cookie; \ | 599 | POS_COOKIE pObj = (POS_COOKIE) pAd->OS_Cookie; \ |
| 598 | BUG_ON(pObj->RTUSBCmdThr_task == NULL); \ | 600 | CHECK_PID_LEGALITY(pObj->RTUSBCmdThr_pid) \ |
| 599 | CHECK_PID_LEGALITY(task_pid(pObj->RTUSBCmdThr_task)) \ | ||
| 600 | up(&(pAd->RTUSBCmd_semaphore)); \ | 601 | up(&(pAd->RTUSBCmd_semaphore)); \ |
| 601 | } | 602 | } |
| 602 | #endif | 603 | #endif |
diff --git a/drivers/staging/rtl8192su/ieee80211.h b/drivers/staging/rtl8192su/ieee80211.h index 0edb09a536f9..ea9739318037 100644 --- a/drivers/staging/rtl8192su/ieee80211.h +++ b/drivers/staging/rtl8192su/ieee80211.h | |||
| @@ -2645,7 +2645,7 @@ extern int ieee80211_encrypt_fragment( | |||
| 2645 | struct sk_buff *frag, | 2645 | struct sk_buff *frag, |
| 2646 | int hdr_len); | 2646 | int hdr_len); |
| 2647 | 2647 | ||
| 2648 | extern int ieee80211_xmit(struct sk_buff *skb, | 2648 | extern int rtl8192_ieee80211_xmit(struct sk_buff *skb, |
| 2649 | struct net_device *dev); | 2649 | struct net_device *dev); |
| 2650 | extern void ieee80211_txb_free(struct ieee80211_txb *); | 2650 | extern void ieee80211_txb_free(struct ieee80211_txb *); |
| 2651 | 2651 | ||
diff --git a/drivers/staging/rtl8192su/ieee80211/ieee80211.h b/drivers/staging/rtl8192su/ieee80211/ieee80211.h index 720bfcbfadc1..5e3a2cbed2b1 100644 --- a/drivers/staging/rtl8192su/ieee80211/ieee80211.h +++ b/drivers/staging/rtl8192su/ieee80211/ieee80211.h | |||
| @@ -2645,7 +2645,7 @@ extern int ieee80211_encrypt_fragment( | |||
| 2645 | struct sk_buff *frag, | 2645 | struct sk_buff *frag, |
| 2646 | int hdr_len); | 2646 | int hdr_len); |
| 2647 | 2647 | ||
| 2648 | extern int ieee80211_xmit(struct sk_buff *skb, | 2648 | extern int rtl8192_ieee80211_xmit(struct sk_buff *skb, |
| 2649 | struct net_device *dev); | 2649 | struct net_device *dev); |
| 2650 | extern void ieee80211_txb_free(struct ieee80211_txb *); | 2650 | extern void ieee80211_txb_free(struct ieee80211_txb *); |
| 2651 | 2651 | ||
diff --git a/drivers/staging/rtl8192su/ieee80211/ieee80211_tx.c b/drivers/staging/rtl8192su/ieee80211/ieee80211_tx.c index 7294572b990f..cba12b84be5c 100644 --- a/drivers/staging/rtl8192su/ieee80211/ieee80211_tx.c +++ b/drivers/staging/rtl8192su/ieee80211/ieee80211_tx.c | |||
| @@ -618,7 +618,7 @@ void ieee80211_query_seqnum(struct ieee80211_device*ieee, struct sk_buff* skb, u | |||
| 618 | } | 618 | } |
| 619 | } | 619 | } |
| 620 | 620 | ||
| 621 | int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev) | 621 | int rtl8192_ieee80211_xmit(struct sk_buff *skb, struct net_device *dev) |
| 622 | { | 622 | { |
| 623 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)) | 623 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)) |
| 624 | struct ieee80211_device *ieee = netdev_priv(dev); | 624 | struct ieee80211_device *ieee = netdev_priv(dev); |
| @@ -943,5 +943,6 @@ int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev) | |||
| 943 | return 1; | 943 | return 1; |
| 944 | 944 | ||
| 945 | } | 945 | } |
| 946 | EXPORT_SYMBOL(rtl8192_ieee80211_xmit); | ||
| 946 | 947 | ||
| 947 | EXPORT_SYMBOL(ieee80211_txb_free); | 948 | EXPORT_SYMBOL(ieee80211_txb_free); |
diff --git a/drivers/staging/rtl8192su/r8192U_core.c b/drivers/staging/rtl8192su/r8192U_core.c index 4ab250743e81..70f81a8f1291 100644 --- a/drivers/staging/rtl8192su/r8192U_core.c +++ b/drivers/staging/rtl8192su/r8192U_core.c | |||
| @@ -12142,7 +12142,7 @@ static const struct net_device_ops rtl8192_netdev_ops = { | |||
| 12142 | .ndo_set_mac_address = r8192_set_mac_adr, | 12142 | .ndo_set_mac_address = r8192_set_mac_adr, |
| 12143 | .ndo_validate_addr = eth_validate_addr, | 12143 | .ndo_validate_addr = eth_validate_addr, |
| 12144 | .ndo_change_mtu = eth_change_mtu, | 12144 | .ndo_change_mtu = eth_change_mtu, |
| 12145 | .ndo_start_xmit = ieee80211_xmit, | 12145 | .ndo_start_xmit = rtl8192_ieee80211_xmit, |
| 12146 | }; | 12146 | }; |
| 12147 | 12147 | ||
| 12148 | #if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0) | 12148 | #if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0) |
