Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > b6cca6b3314cda698c7ae746358d1428 > files > 4

dkms-rt2870-1.3.1.0-2mdv2009.0.src.rpm

--- 2008_0718_RT2870_Linux_STA_v1.3.1.0/common/2870_rtmp_init.c	2008-05-06 16:17:24.000000000 +1000
+++ 2008_0718_RT2870_Linux_STA_v1.3.1.0/common/2870_rtmp_init.c	2008-09-06 11:20:56.559015479 +1000
@@ -727,8 +727,8 @@ NDIS_STATUS AdapterBlockAllocateMemory(
 
 	usb_dev = pObj->pUsb_Dev;
 	
-	pObj->MLMEThr_pid		= -1;
-	pObj->RTUSBCmdThr_pid	= -1;
+	pObj->MLMEThr_pid		= NULL;
+	pObj->RTUSBCmdThr_pid	= NULL;
 	
 	*ppAd = (PVOID)vmalloc(sizeof(RTMP_ADAPTER));
     
@@ -818,6 +818,8 @@ NDIS_STATUS	 CreateThreads( 
 {
 	PRTMP_ADAPTER pAd = (PRTMP_ADAPTER) net_dev->priv;
 	POS_COOKIE pObj = (POS_COOKIE) pAd->OS_Cookie;
+
+	pid_t nr;
 
 	//init_MUTEX(&(pAd->usbdev_semaphore));
 	
@@ -831,33 +833,44 @@ NDIS_STATUS	 CreateThreads( 
 	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_pid= NULL;
+	nr = kernel_thread(MlmeThread, pAd, CLONE_VM);
+
+	if (nr < 0) 
 	{
 		printk (KERN_WARNING "%s: unable to start Mlme thread\n",pAd->net_dev->name);
 		return NDIS_STATUS_FAILURE;
 	}
+
+	pObj->MLMEThr_pid = find_get_pid(nr);
+
 	// Wait for the thread to start
 	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_pid= NULL;
+        nr = kernel_thread(RTUSBCmdThread, pAd, CLONE_VM);
+
+        if( nr < 0 ) {
 		printk (KERN_WARNING "%s: unable to start RTUSBCmd thread\n",pAd->net_dev->name);
 		return NDIS_STATUS_FAILURE;
-	}
+	}
+
+	pObj->RTUSBCmdThr_pid = find_get_pid(nr);
+
 	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_pid= NULL;
+	nr = kernel_thread(TimerQThread, pAd, CLONE_VM);
+
+	if (nr < 0) 
 	{
 		printk (KERN_WARNING "%s: unable to start TimerQThread\n",pAd->net_dev->name);
 		return NDIS_STATUS_FAILURE;
 	}
+
+	pObj->TimerQThr_pid = find_get_pid(nr);
+
 	// Wait for the thread to start
 	wait_for_completion(&(pAd->TimerQComplete));
 
--- 2008_0718_RT2870_Linux_STA_v1.3.1.0/include/rt_linux.h	2008-07-18 11:51:38.000000000 +1000
+++ 2008_0718_RT2870_Linux_STA_v1.3.1.0/include/rt_linux.h	2008-09-06 11:17:52.079514910 +1000
@@ -63,6 +63,7 @@
 #include <linux/if_arp.h>
 #include <linux/ctype.h>
 #include <linux/vmalloc.h>
+#include <linux/pid.h>
 
 
 #include <linux/wireless.h>
@@ -156,9 +157,9 @@ struct os_cookie {
 #ifdef RT2870
 	struct usb_device		*pUsb_Dev;
 
-	pid_t					MLMEThr_pid;
-	pid_t					RTUSBCmdThr_pid;
-	pid_t					TimerQThr_pid;
+	struct pid				*MLMEThr_pid;
+	struct pid				*RTUSBCmdThr_pid;
+	struct pid				*TimerQThr_pid;
 #endif // RT2870 //
 
 	struct tasklet_struct 	rx_done_task;
--- 2008_0718_RT2870_Linux_STA_v1.3.1.0/os/linux/2870_main_dev.c	2008-05-28 18:12:44.000000000 +1000
+++ 2008_0718_RT2870_Linux_STA_v1.3.1.0/os/linux/2870_main_dev.c	2008-09-06 10:29:23.103014793 +1000
@@ -298,7 +298,7 @@ INT MlmeThread(
 	 */
 	DBGPRINT(RT_DEBUG_TRACE,( "<---%s\n",__FUNCTION__));
 
-	pObj->MLMEThr_pid = -1;
+	pObj->MLMEThr_pid = NULL;
 	
 	complete_and_exit (&pAd->mlmeComplete, 0);
 	return 0;
@@ -404,7 +404,7 @@ INT RTUSBCmdThread(
 	 */
 	DBGPRINT(RT_DEBUG_TRACE,( "<---RTUSBCmdThread\n"));
 
-	pObj->RTUSBCmdThr_pid = -1;
+	pObj->RTUSBCmdThr_pid = NULL;
 	
 	complete_and_exit (&pAd->CmdQComplete, 0);
 	return 0;
@@ -497,7 +497,7 @@ INT TimerQThread(
 	 */
 	DBGPRINT(RT_DEBUG_TRACE,( "<---%s\n",__FUNCTION__));
 
-	pObj->TimerQThr_pid = -1;
+	pObj->TimerQThr_pid = NULL;
 	
 	complete_and_exit(&pAd->TimerQComplete, 0);
 	return 0;
@@ -973,68 +973,68 @@ VOID RT28xxThreadTerminate(
 	RTUSBCancelPendingIRPs(pAd);
 
 	// Terminate Threads
-	if (pObj->TimerQThr_pid >= 0) 
+	if (pid_nr(pObj->TimerQThr_pid) >= 0) 
 	{
 		POS_COOKIE pObj = (POS_COOKIE)pAd->OS_Cookie;
 
-		printk("Terminate the TimerQThr_pid=%d!\n", pObj->TimerQThr_pid);
+		printk("Terminate the TimerQThr_pid=%d!\n", pid_nr(pObj->TimerQThr_pid));
 		mb();
 		pAd->TimerFunc_kill = 1;
 		mb();
-		ret = kill_proc(pObj->TimerQThr_pid, SIGTERM, 1);
+		ret = kill_pid(pObj->TimerQThr_pid, SIGTERM, 1);
 		if (ret)
 		{
 			printk(KERN_WARNING "%s: unable to stop TimerQThread, pid=%d, ret=%d!\n", 
-					pAd->net_dev->name, pObj->TimerQThr_pid, ret);
+					pAd->net_dev->name, pid_nr(pObj->TimerQThr_pid), ret);
 		}
 		else 
 		{
 			wait_for_completion(&pAd->TimerQComplete);
-			pObj->TimerQThr_pid = -1;
+			pObj->TimerQThr_pid = NULL;
 		}
 	}
 	
-	if (pObj->MLMEThr_pid >= 0) 
+	if (pid_nr(pObj->MLMEThr_pid) >= 0) 
 	{
-		printk("Terminate the MLMEThr_pid=%d!\n", pObj->MLMEThr_pid);
+		printk("Terminate the MLMEThr_pid=%d!\n", pid_nr(pObj->MLMEThr_pid));
 		mb();
 		pAd->mlme_kill = 1;
 		//RT28XX_MLME_HANDLER(pAd);
 		mb();
-		ret = kill_proc (pObj->MLMEThr_pid, SIGTERM, 1);
+		ret = kill_pid (pObj->MLMEThr_pid, SIGTERM, 1);
 		if (ret) 
 		{
 			printk (KERN_WARNING "%s: unable to Mlme thread, pid=%d, ret=%d!\n",
-					pAd->net_dev->name, pObj->MLMEThr_pid, ret);
+					pAd->net_dev->name, pid_nr(pObj->MLMEThr_pid), ret);
 		} 
 		else
 		{
 			//wait_for_completion (&pAd->notify);
 			wait_for_completion (&pAd->mlmeComplete);
-			pObj->MLMEThr_pid = -1;
+			pObj->MLMEThr_pid = NULL;
 		}
 	}
 
-	if (pObj->RTUSBCmdThr_pid >= 0) 
+	if (pid_nr(pObj->RTUSBCmdThr_pid) >= 0) 
 	{
-		printk("Terminate the RTUSBCmdThr_pid=%d!\n", pObj->RTUSBCmdThr_pid);
+		printk("Terminate the RTUSBCmdThr_pid=%d!\n", pid_nr(pObj->RTUSBCmdThr_pid));
 		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 = kill_pid(pObj->RTUSBCmdThr_pid, SIGTERM, 1);
 		if (ret) 
 		{
 			printk(KERN_WARNING "%s: unable to RTUSBCmd thread, pid=%d, ret=%d!\n",
-					pAd->net_dev->name, pObj->RTUSBCmdThr_pid, ret);
+					pAd->net_dev->name, pid_nr(pObj->RTUSBCmdThr_pid), ret);
 		}
 		else
 		{
 			//wait_for_completion (&pAd->notify);
 			wait_for_completion (&pAd->CmdQComplete);
-			pObj->RTUSBCmdThr_pid = -1;
+			pObj->RTUSBCmdThr_pid = NULL;
 	}
 	}
 
--- 2008_0718_RT2870_Linux_STA_v1.3.1.0/os/linux/rt_ate.c	2008-05-28 18:13:08.000000000 +1000
+++ 2008_0718_RT2870_Linux_STA_v1.3.1.0/os/linux/rt_ate.c	2008-09-06 01:56:35.341266116 +1000
@@ -4176,7 +4176,7 @@ VOID RtmpDoAte(
 					// We must kill ATE daemon first before setting ATESTOP,
 					// or Microsoft will report sth. wrong. 
 #ifndef UCOS
-					ret = kill_proc(pAdapter->ate.AtePid, SIGTERM, 1);
+					ret = kill_pid(pAdapter->ate.AtePid, SIGTERM, 1);
 					if (ret)
 					{
 						ATEDBGPRINT(RT_DEBUG_ERROR, ("%s: unable to signal thread\n", pAdapter->net_dev->name));