1,5 → 1,170 |
--- ./os/linux/2870_main_dev.c.orig 2008-12-24 08:34:46.000000000 +0100 |
+++ ./os/linux/2870_main_dev.c 2009-03-24 21:40:24.000000000 +0100 |
diff -ru 2008_1225_RT3070_Linux_STA_v2.0.1.0.orig/common/2870_rtmp_init.c 2008_1225_RT3070_Linux_STA_v2.0.1.0/common/2870_rtmp_init.c |
--- 2008_1225_RT3070_Linux_STA_v2.0.1.0.orig/common/2870_rtmp_init.c 2008-12-24 07:24:20.000000000 +0100 |
+++ 2008_1225_RT3070_Linux_STA_v2.0.1.0/common/2870_rtmp_init.c 2009-03-24 23:38:13.000000000 +0100 |
@@ -715,8 +715,8 @@ |
|
usb_dev = pObj->pUsb_Dev; |
|
- pObj->MLMEThr_pid = -1; |
- pObj->RTUSBCmdThr_pid = -1; |
+ pObj->MLMEThr_tsk = NULL; |
+ pObj->RTUSBCmdThr_tsk = NULL; |
|
*ppAd = (PVOID)vmalloc(sizeof(RTMP_ADAPTER)); |
|
@@ -766,9 +766,8 @@ |
init_completion (&pAd->TimerQComplete); |
|
// Creat MLME Thread |
- pObj->MLMEThr_pid= -1; |
- pObj->MLMEThr_pid = kernel_thread(MlmeThread, pAd, CLONE_VM); |
- if (pObj->MLMEThr_pid < 0) |
+ pObj->MLMEThr_tsk = kthread_run(MlmeThread, pAd, pAd->net_dev->name); |
+ if (IS_ERR(pObj->MLMEThr_tsk)) |
{ |
printk (KERN_WARNING "%s: unable to start Mlme thread\n",pAd->net_dev->name); |
return NDIS_STATUS_FAILURE; |
@@ -777,18 +776,16 @@ |
wait_for_completion(&(pAd->mlmeComplete)); |
|
// Creat Command Thread |
- pObj->RTUSBCmdThr_pid= -1; |
- pObj->RTUSBCmdThr_pid = kernel_thread(RTUSBCmdThread, pAd, CLONE_VM); |
- if (pObj->RTUSBCmdThr_pid < 0) |
+ pObj->RTUSBCmdThr_tsk = kthread_run(RTUSBCmdThread, pAd, pAd->net_dev->name); |
+ if (IS_ERR(pObj->RTUSBCmdThr_tsk)) |
{ |
printk (KERN_WARNING "%s: unable to start RTUSBCmd thread\n",pAd->net_dev->name); |
return NDIS_STATUS_FAILURE; |
} |
wait_for_completion(&(pAd->CmdQComplete)); |
|
- pObj->TimerQThr_pid= -1; |
- pObj->TimerQThr_pid = kernel_thread(TimerQThread, pAd, CLONE_VM); |
- if (pObj->TimerQThr_pid < 0) |
+ pObj->TimerQThr_tsk = kthread_run(TimerQThread, pAd, pAd->net_dev->name); |
+ if (IS_ERR(pObj->TimerQThr_tsk)) |
{ |
printk (KERN_WARNING "%s: unable to start TimerQThread\n",pAd->net_dev->name); |
return NDIS_STATUS_FAILURE; |
diff -ru 2008_1225_RT3070_Linux_STA_v2.0.1.0.orig/common/ba_action.c 2008_1225_RT3070_Linux_STA_v2.0.1.0/common/ba_action.c |
--- 2008_1225_RT3070_Linux_STA_v2.0.1.0.orig/common/ba_action.c 2008-12-24 07:25:38.000000000 +0100 |
+++ 2008_1225_RT3070_Linux_STA_v2.0.1.0/common/ba_action.c 2009-03-24 23:38:09.000000000 +0100 |
@@ -542,7 +542,7 @@ |
pBAEntry->TimeOutValue = TimeOut; |
pBAEntry->pAdapter = pAd; |
|
- DBGPRINT(RT_DEBUG_TRACE,("Send AddBA to %02x:%02x:%02x:%02x:%02x Tid:%d isForced:%d Wcid:%d\n" |
+ DBGPRINT(RT_DEBUG_TRACE,("Send AddBA to %02x:%02x:%02x:%02x:%02x:%02x Tid:%d isForced:%d Wcid:%d\n" |
,pEntry->Addr[0],pEntry->Addr[1],pEntry->Addr[2] |
,pEntry->Addr[3],pEntry->Addr[4],pEntry->Addr[5] |
,TID,isForced,pEntry->Aid)); |
@@ -1104,7 +1104,7 @@ |
RT28XX_MLME_HANDLER(pAd); |
//DBGPRINT(RT_DEBUG_TRACE,("BA Ori Session Timeout(%d) : Send ADD BA again\n", pBAEntry->Token)); |
|
- DBGPRINT(RT_DEBUG_TRACE,("BA Ori Session Timeout(%d) to %02x:%02x:%02x:%02x:%02x Tid:%d Wcid:%d\n" |
+ DBGPRINT(RT_DEBUG_TRACE,("BA Ori Session Timeout(%d) to %02x:%02x:%02x:%02x:%02x:%02x Tid:%d Wcid:%d\n" |
,pBAEntry->Token |
,pEntry->Addr[0],pEntry->Addr[1],pEntry->Addr[2] |
,pEntry->Addr[3],pEntry->Addr[4],pEntry->Addr[5] |
diff -ru 2008_1225_RT3070_Linux_STA_v2.0.1.0.orig/common/rtusb_io.c 2008_1225_RT3070_Linux_STA_v2.0.1.0/common/rtusb_io.c |
--- 2008_1225_RT3070_Linux_STA_v2.0.1.0.orig/common/rtusb_io.c 2008-12-24 09:04:18.000000000 +0100 |
+++ 2008_1225_RT3070_Linux_STA_v2.0.1.0/common/rtusb_io.c 2009-03-24 23:38:05.000000000 +0100 |
@@ -873,7 +873,7 @@ |
POS_COOKIE pObj = (POS_COOKIE) pAd->OS_Cookie; |
|
|
- if (pObj->RTUSBCmdThr_pid < 0) |
+ if (pObj->RTUSBCmdThr_tsk) |
return (NDIS_STATUS_RESOURCES); |
|
status = RTMPAllocateMemory((PVOID *)&cmdqelmt, sizeof(CmdQElmt)); |
diff -ru 2008_1225_RT3070_Linux_STA_v2.0.1.0.orig/include/rt2870.h 2008_1225_RT3070_Linux_STA_v2.0.1.0/include/rt2870.h |
--- 2008_1225_RT3070_Linux_STA_v2.0.1.0.orig/include/rt2870.h 2008-12-24 07:35:36.000000000 +0100 |
+++ 2008_1225_RT3070_Linux_STA_v2.0.1.0/include/rt2870.h 2009-03-24 23:38:00.000000000 +0100 |
@@ -570,14 +570,14 @@ |
#define RTUSBMlmeUp(pAd) \ |
{ \ |
POS_COOKIE pObj = (POS_COOKIE) pAd->OS_Cookie; \ |
- if(pObj->MLMEThr_pid>0) \ |
+ if(pObj->MLMEThr_tsk) \ |
up(&(pAd->mlme_semaphore)); \ |
} |
|
#define RTUSBCMDUp(pAd) \ |
{ \ |
POS_COOKIE pObj = (POS_COOKIE) pAd->OS_Cookie; \ |
- if(pObj->RTUSBCmdThr_pid>0) \ |
+ if(pObj->RTUSBCmdThr_tsk) \ |
up(&(pAd->RTUSBCmd_semaphore)); \ |
} |
|
diff -ru 2008_1225_RT3070_Linux_STA_v2.0.1.0.orig/include/rt_ate.h 2008_1225_RT3070_Linux_STA_v2.0.1.0/include/rt_ate.h |
--- 2008_1225_RT3070_Linux_STA_v2.0.1.0.orig/include/rt_ate.h 2008-12-24 08:04:02.000000000 +0100 |
+++ 2008_1225_RT3070_Linux_STA_v2.0.1.0/include/rt_ate.h 2009-03-24 23:37:49.000000000 +0100 |
@@ -35,7 +35,7 @@ |
#ifdef RT2870 |
#define EEPROM_SIZE 0x400 |
#ifdef CONFIG_STA_SUPPORT |
-#define EEPROM_BIN_FILE_NAME "/etc/Wireless/RT2870STA/e2p.bin" |
+#define EEPROM_BIN_FILE_NAME "/etc/Wireless/RT3070STA/e2p.bin" |
#endif // CONFIG_STA_SUPPORT // |
#endif // RT2870 // |
#else // !UCOS // |
@@ -75,7 +75,7 @@ |
#ifdef RT2870 |
#define EEPROM_SIZE 0x400 |
#ifdef CONFIG_STA_SUPPORT |
-#define EEPROM_BIN_FILE_NAME "/etc/Wireless/RT2870STA/e2p.bin" |
+#define EEPROM_BIN_FILE_NAME "/etc/Wireless/RT3070STA/e2p.bin" |
#endif // CONFIG_STA_SUPPORT // |
#endif // RT2870 // |
|
diff -ru 2008_1225_RT3070_Linux_STA_v2.0.1.0.orig/include/rt_linux.h 2008_1225_RT3070_Linux_STA_v2.0.1.0/include/rt_linux.h |
--- 2008_1225_RT3070_Linux_STA_v2.0.1.0.orig/include/rt_linux.h 2008-12-24 08:35:58.000000000 +0100 |
+++ 2008_1225_RT3070_Linux_STA_v2.0.1.0/include/rt_linux.h 2009-03-24 23:37:56.000000000 +0100 |
@@ -44,6 +44,7 @@ |
#include <linux/module.h> |
#include <linux/version.h> |
#include <linux/kernel.h> |
+#include <linux/kthread.h> |
|
#include <linux/spinlock.h> |
#include <linux/init.h> |
@@ -92,12 +93,12 @@ |
#ifdef CONFIG_STA_SUPPORT |
|
#ifdef RT2870 |
-#define STA_PROFILE_PATH "/etc/Wireless/RT2870STA/RT2870STA.dat" |
-#define STA_RT2870_IMAGE_FILE_NAME "/etc/Wireless/RT2870STA/rt2870.bin" |
-#define STA_NIC_DEVICE_NAME "RT2870STA" |
+#define STA_PROFILE_PATH "/etc/Wireless/RT3070STA/RT3070STA.dat" |
+#define STA_RT2870_IMAGE_FILE_NAME "/etc/Wireless/RT3070STA/rt3070.bin" |
+#define STA_NIC_DEVICE_NAME "RT3070STA" |
#define STA_DRIVER_VERSION "2.0.1.0" |
#ifdef MULTIPLE_CARD_SUPPORT |
-#define CARD_INFO_PATH "/etc/Wireless/RT2870STA/RT2870STACard.dat" |
+#define CARD_INFO_PATH "/etc/Wireless/RT3070STA/RT3070STACard.dat" |
#endif // MULTIPLE_CARD_SUPPORT // |
#endif // RT2870 // |
|
@@ -175,9 +176,9 @@ |
#ifdef RT2870 |
struct usb_device *pUsb_Dev; |
|
- pid_t MLMEThr_pid; |
- pid_t RTUSBCmdThr_pid; |
- pid_t TimerQThr_pid; |
+ struct task_struct * MLMEThr_tsk; |
+ struct task_struct * RTUSBCmdThr_tsk; |
+ struct task_struct * TimerQThr_tsk; |
#endif // RT2870 // |
|
struct tasklet_struct rx_done_task; |
diff -ru 2008_1225_RT3070_Linux_STA_v2.0.1.0.orig/os/linux/2870_main_dev.c 2008_1225_RT3070_Linux_STA_v2.0.1.0/os/linux/2870_main_dev.c |
--- 2008_1225_RT3070_Linux_STA_v2.0.1.0.orig/os/linux/2870_main_dev.c 2008-12-24 08:34:46.000000000 +0100 |
+++ 2008_1225_RT3070_Linux_STA_v2.0.1.0/os/linux/2870_main_dev.c 2009-03-24 23:37:36.000000000 +0100 |
@@ -271,7 +271,7 @@ |
*/ |
DBGPRINT(RT_DEBUG_TRACE,( "<---%s\n",__FUNCTION__)); |
114,8 → 279,9 |
} |
} |
// Kill tasklets |
--- ./os/linux/sta_ioctl.c.orig 2008-12-24 03:54:58.000000000 +0100 |
+++ ./os/linux/sta_ioctl.c 2009-03-24 21:27:05.000000000 +0100 |
diff -ru 2008_1225_RT3070_Linux_STA_v2.0.1.0.orig/os/linux/sta_ioctl.c 2008_1225_RT3070_Linux_STA_v2.0.1.0/os/linux/sta_ioctl.c |
--- 2008_1225_RT3070_Linux_STA_v2.0.1.0.orig/os/linux/sta_ioctl.c 2008-12-24 03:54:58.000000000 +0100 |
+++ 2008_1225_RT3070_Linux_STA_v2.0.1.0/os/linux/sta_ioctl.c 2009-03-24 23:37:45.000000000 +0100 |
@@ -1113,7 +1113,7 @@ |
memcpy(iwe.u.ap_addr.sa_data, &pAdapter->ScanTab.BssEntry[i].Bssid, ETH_ALEN); |
|
224,161 → 390,3 |
if (current_ev == previous_ev) |
#if WIRELESS_EXT >= 17 |
return -E2BIG; |
--- ./include/rt_ate.h.orig 2008-12-24 08:04:02.000000000 +0100 |
+++ ./include/rt_ate.h 2009-03-24 22:06:09.000000000 +0100 |
@@ -35,7 +35,7 @@ |
#ifdef RT2870 |
#define EEPROM_SIZE 0x400 |
#ifdef CONFIG_STA_SUPPORT |
-#define EEPROM_BIN_FILE_NAME "/etc/Wireless/RT2870STA/e2p.bin" |
+#define EEPROM_BIN_FILE_NAME "/etc/Wireless/RT3070STA/e2p.bin" |
#endif // CONFIG_STA_SUPPORT // |
#endif // RT2870 // |
#else // !UCOS // |
@@ -75,7 +75,7 @@ |
#ifdef RT2870 |
#define EEPROM_SIZE 0x400 |
#ifdef CONFIG_STA_SUPPORT |
-#define EEPROM_BIN_FILE_NAME "/etc/Wireless/RT2870STA/e2p.bin" |
+#define EEPROM_BIN_FILE_NAME "/etc/Wireless/RT3070STA/e2p.bin" |
#endif // CONFIG_STA_SUPPORT // |
#endif // RT2870 // |
|
--- ./include/rt_linux.h.orig 2008-12-24 08:35:58.000000000 +0100 |
+++ ./include/rt_linux.h 2009-03-24 22:07:15.000000000 +0100 |
@@ -44,6 +44,7 @@ |
#include <linux/module.h> |
#include <linux/version.h> |
#include <linux/kernel.h> |
+#include <linux/kthread.h> |
|
#include <linux/spinlock.h> |
#include <linux/init.h> |
@@ -92,12 +93,12 @@ |
#ifdef CONFIG_STA_SUPPORT |
|
#ifdef RT2870 |
-#define STA_PROFILE_PATH "/etc/Wireless/RT2870STA/RT2870STA.dat" |
-#define STA_RT2870_IMAGE_FILE_NAME "/etc/Wireless/RT2870STA/rt2870.bin" |
-#define STA_NIC_DEVICE_NAME "RT2870STA" |
+#define STA_PROFILE_PATH "/etc/Wireless/RT3070STA/RT3070STA.dat" |
+#define STA_RT2870_IMAGE_FILE_NAME "/etc/Wireless/RT3070STA/rt3070.bin" |
+#define STA_NIC_DEVICE_NAME "RT3070STA" |
#define STA_DRIVER_VERSION "2.0.1.0" |
#ifdef MULTIPLE_CARD_SUPPORT |
-#define CARD_INFO_PATH "/etc/Wireless/RT2870STA/RT2870STACard.dat" |
+#define CARD_INFO_PATH "/etc/Wireless/RT3070STA/RT3070STACard.dat" |
#endif // MULTIPLE_CARD_SUPPORT // |
#endif // RT2870 // |
|
@@ -175,9 +176,9 @@ |
#ifdef RT2870 |
struct usb_device *pUsb_Dev; |
|
- pid_t MLMEThr_pid; |
- pid_t RTUSBCmdThr_pid; |
- pid_t TimerQThr_pid; |
+ struct task_struct * MLMEThr_tsk; |
+ struct task_struct * RTUSBCmdThr_tsk; |
+ struct task_struct * TimerQThr_tsk; |
#endif // RT2870 // |
|
struct tasklet_struct rx_done_task; |
--- ./include/rt2870.h.orig 2008-12-24 07:35:36.000000000 +0100 |
+++ ./include/rt2870.h 2009-03-24 21:40:53.000000000 +0100 |
@@ -570,14 +570,14 @@ |
#define RTUSBMlmeUp(pAd) \ |
{ \ |
POS_COOKIE pObj = (POS_COOKIE) pAd->OS_Cookie; \ |
- if(pObj->MLMEThr_pid>0) \ |
+ if(pObj->MLMEThr_tsk) \ |
up(&(pAd->mlme_semaphore)); \ |
} |
|
#define RTUSBCMDUp(pAd) \ |
{ \ |
POS_COOKIE pObj = (POS_COOKIE) pAd->OS_Cookie; \ |
- if(pObj->RTUSBCmdThr_pid>0) \ |
+ if(pObj->RTUSBCmdThr_tsk) \ |
up(&(pAd->RTUSBCmd_semaphore)); \ |
} |
|
--- ./common/rtusb_io.c.orig 2008-12-24 09:04:18.000000000 +0100 |
+++ ./common/rtusb_io.c 2009-03-24 21:41:41.000000000 +0100 |
@@ -873,7 +873,7 @@ |
POS_COOKIE pObj = (POS_COOKIE) pAd->OS_Cookie; |
|
|
- if (pObj->RTUSBCmdThr_pid < 0) |
+ if (pObj->RTUSBCmdThr_tsk) |
return (NDIS_STATUS_RESOURCES); |
|
status = RTMPAllocateMemory((PVOID *)&cmdqelmt, sizeof(CmdQElmt)); |
--- ./common/ba_action.c.orig 2008-12-24 07:25:38.000000000 +0100 |
+++ ./common/ba_action.c 2009-03-24 21:31:37.000000000 +0100 |
@@ -542,7 +542,7 @@ |
pBAEntry->TimeOutValue = TimeOut; |
pBAEntry->pAdapter = pAd; |
|
- DBGPRINT(RT_DEBUG_TRACE,("Send AddBA to %02x:%02x:%02x:%02x:%02x Tid:%d isForced:%d Wcid:%d\n" |
+ DBGPRINT(RT_DEBUG_TRACE,("Send AddBA to %02x:%02x:%02x:%02x:%02x:%02x Tid:%d isForced:%d Wcid:%d\n" |
,pEntry->Addr[0],pEntry->Addr[1],pEntry->Addr[2] |
,pEntry->Addr[3],pEntry->Addr[4],pEntry->Addr[5] |
,TID,isForced,pEntry->Aid)); |
@@ -1104,7 +1104,7 @@ |
RT28XX_MLME_HANDLER(pAd); |
//DBGPRINT(RT_DEBUG_TRACE,("BA Ori Session Timeout(%d) : Send ADD BA again\n", pBAEntry->Token)); |
|
- DBGPRINT(RT_DEBUG_TRACE,("BA Ori Session Timeout(%d) to %02x:%02x:%02x:%02x:%02x Tid:%d Wcid:%d\n" |
+ DBGPRINT(RT_DEBUG_TRACE,("BA Ori Session Timeout(%d) to %02x:%02x:%02x:%02x:%02x:%02x Tid:%d Wcid:%d\n" |
,pBAEntry->Token |
,pEntry->Addr[0],pEntry->Addr[1],pEntry->Addr[2] |
,pEntry->Addr[3],pEntry->Addr[4],pEntry->Addr[5] |
--- ./common/2870_rtmp_init.c.orig 2008-12-24 07:24:20.000000000 +0100 |
+++ ./common/2870_rtmp_init.c 2009-03-24 21:43:26.000000000 +0100 |
@@ -715,8 +715,8 @@ |
|
usb_dev = pObj->pUsb_Dev; |
|
- pObj->MLMEThr_pid = -1; |
- pObj->RTUSBCmdThr_pid = -1; |
+ pObj->MLMEThr_tsk = NULL; |
+ pObj->RTUSBCmdThr_tsk = NULL; |
|
*ppAd = (PVOID)vmalloc(sizeof(RTMP_ADAPTER)); |
|
@@ -766,9 +766,8 @@ |
init_completion (&pAd->TimerQComplete); |
|
// Creat MLME Thread |
- pObj->MLMEThr_pid= -1; |
- pObj->MLMEThr_pid = kernel_thread(MlmeThread, pAd, CLONE_VM); |
- if (pObj->MLMEThr_pid < 0) |
+ pObj->MLMEThr_tsk = kthread_run(MlmeThread, pAd, pAd->net_dev->name); |
+ if (IS_ERR(pObj->MLMEThr_tsk)) |
{ |
printk (KERN_WARNING "%s: unable to start Mlme thread\n",pAd->net_dev->name); |
return NDIS_STATUS_FAILURE; |
@@ -777,18 +776,16 @@ |
wait_for_completion(&(pAd->mlmeComplete)); |
|
// Creat Command Thread |
- pObj->RTUSBCmdThr_pid= -1; |
- pObj->RTUSBCmdThr_pid = kernel_thread(RTUSBCmdThread, pAd, CLONE_VM); |
- if (pObj->RTUSBCmdThr_pid < 0) |
+ pObj->RTUSBCmdThr_tsk = kthread_run(RTUSBCmdThread, pAd, pAd->net_dev->name); |
+ if (IS_ERR(pObj->RTUSBCmdThr_tsk)) |
{ |
printk (KERN_WARNING "%s: unable to start RTUSBCmd thread\n",pAd->net_dev->name); |
return NDIS_STATUS_FAILURE; |
} |
wait_for_completion(&(pAd->CmdQComplete)); |
|
- pObj->TimerQThr_pid= -1; |
- pObj->TimerQThr_pid = kernel_thread(TimerQThread, pAd, CLONE_VM); |
- if (pObj->TimerQThr_pid < 0) |
+ pObj->TimerQThr_tsk = kthread_run(TimerQThread, pAd, pAd->net_dev->name); |
+ if (IS_ERR(pObj->TimerQThr_tsk)) |
{ |
printk (KERN_WARNING "%s: unable to start TimerQThread\n",pAd->net_dev->name); |
return NDIS_STATUS_FAILURE; |