0,0 → 1,384 |
--- ./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 |
@@ -271,7 +271,7 @@ |
*/ |
DBGPRINT(RT_DEBUG_TRACE,( "<---%s\n",__FUNCTION__)); |
|
- pObj->MLMEThr_pid = -1; |
+ pObj->MLMEThr_tsk = NULL; |
|
complete_and_exit (&pAd->mlmeComplete, 0); |
return 0; |
@@ -379,7 +379,7 @@ |
*/ |
DBGPRINT(RT_DEBUG_TRACE,( "<---RTUSBCmdThread\n")); |
|
- pObj->RTUSBCmdThr_pid = -1; |
+ pObj->RTUSBCmdThr_tsk = NULL; |
|
complete_and_exit (&pAd->CmdQComplete, 0); |
return 0; |
@@ -473,7 +473,7 @@ |
*/ |
DBGPRINT(RT_DEBUG_TRACE,( "<---%s\n",__FUNCTION__)); |
|
- pObj->TimerQThr_pid = -1; |
+ pObj->TimerQThr_tsk = NULL; |
|
complete_and_exit(&pAd->TimerQComplete, 0); |
return 0; |
@@ -955,68 +955,68 @@ |
RTUSBCancelPendingIRPs(pAd); |
|
// Terminate Threads |
- if (pObj->MLMEThr_pid >= 0) |
+ if (pObj->MLMEThr_tsk) |
{ |
- printk("Terminate the MLMEThr_pid=%d!\n", pObj->MLMEThr_pid); |
+ printk("Terminate the MLMEThr_tsk=%p!\n", pObj->MLMEThr_tsk); |
mb(); |
pAd->mlme_kill = 1; |
//RT28XX_MLME_HANDLER(pAd); |
mb(); |
- ret = kill_proc (pObj->MLMEThr_pid, SIGTERM, 1); |
+ ret = send_sig (SIGTERM, pObj->MLMEThr_tsk, 1); |
if (ret) |
{ |
- printk (KERN_WARNING "%s: unable to Mlme thread, pid=%d, ret=%d!\n", |
- pAd->net_dev->name, pObj->MLMEThr_pid, ret); |
+ printk (KERN_WARNING "%s: unable to Mlme thread, tsk=%p, ret=%d!\n", |
+ pAd->net_dev->name, pObj->MLMEThr_tsk, ret); |
} |
else |
{ |
//wait_for_completion (&pAd->notify); |
wait_for_completion (&pAd->mlmeComplete); |
- pObj->MLMEThr_pid = -1; |
+ pObj->MLMEThr_tsk = NULL; |
} |
} |
|
- if (pObj->RTUSBCmdThr_pid >= 0) |
+ if (pObj->RTUSBCmdThr_tsk) |
{ |
- printk("Terminate the RTUSBCmdThr_pid=%d!\n", pObj->RTUSBCmdThr_pid); |
+ printk("Terminate the RTUSBCmdThr_tsk=%p!\n", pObj->RTUSBCmdThr_tsk); |
mb(); |
NdisAcquireSpinLock(&pAd->CmdQLock); |
pAd->CmdQ.CmdQState = RT2870_THREAD_STOPED; |
NdisReleaseSpinLock(&pAd->CmdQLock); |
mb(); |
//RTUSBCMDUp(pAd); |
- ret = kill_proc(pObj->RTUSBCmdThr_pid, SIGTERM, 1); |
+ ret = send_sig (SIGTERM, pObj->RTUSBCmdThr_tsk, 1); |
if (ret) |
{ |
- printk(KERN_WARNING "%s: unable to RTUSBCmd thread, pid=%d, ret=%d!\n", |
- pAd->net_dev->name, pObj->RTUSBCmdThr_pid, ret); |
+ printk(KERN_WARNING "%s: unable to RTUSBCmd thread, tsk=%p, ret=%d!\n", |
+ pAd->net_dev->name, pObj->RTUSBCmdThr_tsk, ret); |
} |
else |
{ |
//wait_for_completion (&pAd->notify); |
wait_for_completion (&pAd->CmdQComplete); |
- pObj->RTUSBCmdThr_pid = -1; |
+ pObj->RTUSBCmdThr_tsk = NULL; |
} |
} |
- if (pObj->TimerQThr_pid >= 0) |
+ if (pObj->TimerQThr_tsk) |
{ |
POS_COOKIE pObj = (POS_COOKIE)pAd->OS_Cookie; |
|
- printk("Terminate the TimerQThr_pid=%d!\n", pObj->TimerQThr_pid); |
+ printk("Terminate the TimerQThr_tsk=%p!\n", pObj->TimerQThr_tsk); |
mb(); |
pAd->TimerFunc_kill = 1; |
mb(); |
- ret = kill_proc(pObj->TimerQThr_pid, SIGTERM, 1); |
+ ret = send_sig (SIGTERM, pObj->TimerQThr_tsk, 1); |
if (ret) |
{ |
- printk(KERN_WARNING "%s: unable to stop TimerQThread, pid=%d, ret=%d!\n", |
- pAd->net_dev->name, pObj->TimerQThr_pid, ret); |
+ printk(KERN_WARNING "%s: unable to stop TimerQThread, tsk=%p, ret=%d!\n", |
+ pAd->net_dev->name, pObj->TimerQThr_tsk, ret); |
} |
else |
{ |
printk("wait_for_completion TimerQThr\n"); |
wait_for_completion(&pAd->TimerQComplete); |
- pObj->TimerQThr_pid = -1; |
+ pObj->TimerQThr_tsk = NULL; |
} |
} |
// 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 |
@@ -1113,7 +1113,7 @@ |
memcpy(iwe.u.ap_addr.sa_data, &pAdapter->ScanTab.BssEntry[i].Bssid, ETH_ALEN); |
|
previous_ev = current_ev; |
- current_ev = iwe_stream_add_event(current_ev,end_buf, &iwe, IW_EV_ADDR_LEN); |
+ current_ev = iwe_stream_add_event(info, current_ev,end_buf, &iwe, IW_EV_ADDR_LEN); |
if (current_ev == previous_ev) |
#if WIRELESS_EXT >= 17 |
return -E2BIG; |
@@ -1192,7 +1192,7 @@ |
} |
|
previous_ev = current_ev; |
- current_ev = iwe_stream_add_event(current_ev,end_buf, &iwe, IW_EV_ADDR_LEN); |
+ current_ev = iwe_stream_add_event(info, current_ev,end_buf, &iwe, IW_EV_ADDR_LEN); |
if (current_ev == previous_ev) |
#if WIRELESS_EXT >= 17 |
return -E2BIG; |
@@ -1208,7 +1208,7 @@ |
iwe.u.data.flags = 1; |
|
previous_ev = current_ev; |
- current_ev = iwe_stream_add_point(current_ev,end_buf, &iwe, pAdapter->ScanTab.BssEntry[i].Ssid); |
+ current_ev = iwe_stream_add_point(info, current_ev,end_buf, &iwe, pAdapter->ScanTab.BssEntry[i].Ssid); |
if (current_ev == previous_ev) |
#if WIRELESS_EXT >= 17 |
return -E2BIG; |
@@ -1235,7 +1235,7 @@ |
iwe.len = IW_EV_UINT_LEN; |
|
previous_ev = current_ev; |
- current_ev = iwe_stream_add_event(current_ev, end_buf, &iwe, IW_EV_UINT_LEN); |
+ current_ev = iwe_stream_add_event(info, current_ev, end_buf, &iwe, IW_EV_UINT_LEN); |
if (current_ev == previous_ev) |
#if WIRELESS_EXT >= 17 |
return -E2BIG; |
@@ -1255,7 +1255,7 @@ |
iwe.u.freq.i = 0; |
|
previous_ev = current_ev; |
- current_ev = iwe_stream_add_event(current_ev,end_buf, &iwe, IW_EV_FREQ_LEN); |
+ current_ev = iwe_stream_add_event(info, current_ev,end_buf, &iwe, IW_EV_FREQ_LEN); |
if (current_ev == previous_ev) |
#if WIRELESS_EXT >= 17 |
return -E2BIG; |
@@ -1270,7 +1270,7 @@ |
iwe.u.qual.level = 0; |
iwe.u.qual.noise = 0; |
set_quality(pAdapter, &iwe.u.qual, pAdapter->ScanTab.BssEntry[i].Rssi); |
- current_ev = iwe_stream_add_event(current_ev, end_buf, &iwe, IW_EV_QUAL_LEN); |
+ current_ev = iwe_stream_add_event(info, current_ev, end_buf, &iwe, IW_EV_QUAL_LEN); |
if (current_ev == previous_ev) |
#if WIRELESS_EXT >= 17 |
return -E2BIG; |
@@ -1288,7 +1288,7 @@ |
iwe.u.data.flags = IW_ENCODE_DISABLED; |
|
previous_ev = current_ev; |
- current_ev = iwe_stream_add_point(current_ev, end_buf,&iwe, (char *)pAdapter->SharedKey[BSS0][(iwe.u.data.flags & IW_ENCODE_INDEX)-1].Key); |
+ current_ev = iwe_stream_add_point(info, current_ev, end_buf,&iwe, (char *)pAdapter->SharedKey[BSS0][(iwe.u.data.flags & IW_ENCODE_INDEX)-1].Key); |
if (current_ev == previous_ev) |
#if WIRELESS_EXT >= 17 |
return -E2BIG; |
@@ -1316,7 +1316,7 @@ |
iwe.u.bitrate.value = (tmpRate/2) * 1000000; |
|
iwe.u.bitrate.disabled = 0; |
- current_val = iwe_stream_add_value(current_ev, |
+ current_val = iwe_stream_add_value(info, current_ev, |
current_val, end_buf, &iwe, |
IW_EV_PARAM_LEN); |
|
@@ -1340,7 +1340,7 @@ |
pAdapter->ScanTab.BssEntry[i].WpaIE.IELen); |
iwe.cmd = IWEVGENIE; |
iwe.u.data.length = pAdapter->ScanTab.BssEntry[i].WpaIE.IELen; |
- current_ev = iwe_stream_add_point(current_ev, end_buf, &iwe, custom); |
+ current_ev = iwe_stream_add_point(info, current_ev, end_buf, &iwe, custom); |
if (current_ev == previous_ev) |
#if WIRELESS_EXT >= 17 |
return -E2BIG; |
@@ -1358,7 +1358,7 @@ |
pAdapter->ScanTab.BssEntry[i].RsnIE.IELen); |
iwe.cmd = IWEVGENIE; |
iwe.u.data.length = pAdapter->ScanTab.BssEntry[i].RsnIE.IELen; |
- current_ev = iwe_stream_add_point(current_ev, end_buf, &iwe, custom); |
+ current_ev = iwe_stream_add_point(info, current_ev, end_buf, &iwe, custom); |
if (current_ev == previous_ev) |
#if WIRELESS_EXT >= 17 |
return -E2BIG; |
@@ -1379,7 +1379,7 @@ |
for (idx = 0; idx < pAdapter->ScanTab.BssEntry[i].WpaIE.IELen; idx++) |
sprintf(custom, "%s%02x", custom, pAdapter->ScanTab.BssEntry[i].WpaIE.IE[idx]); |
previous_ev = current_ev; |
- current_ev = iwe_stream_add_point(current_ev, end_buf, &iwe, custom); |
+ current_ev = iwe_stream_add_point(info, current_ev, end_buf, &iwe, custom); |
if (current_ev == previous_ev) |
#if WIRELESS_EXT >= 17 |
return -E2BIG; |
@@ -1399,7 +1399,7 @@ |
for (idx = 0; idx < pAdapter->ScanTab.BssEntry[i].RsnIE.IELen; idx++) |
sprintf(custom, "%s%02x", custom, pAdapter->ScanTab.BssEntry[i].RsnIE.IE[idx]); |
previous_ev = current_ev; |
- current_ev = iwe_stream_add_point(current_ev, end_buf, &iwe, custom); |
+ current_ev = iwe_stream_add_point(info, current_ev, end_buf, &iwe, custom); |
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; |