]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/staging/rt2870/2870_main_dev.c
Merge branch 'omap-pool'
[linux-2.6-omap-h63xx.git] / drivers / staging / rt2870 / 2870_main_dev.c
index 04c764d95d77dede233a8f17ef9f8d943260a670..9d59e3167fe452f4ac0bf2687bc5fb98fc77f2d8 100644 (file)
@@ -265,7 +265,7 @@ INT MlmeThread(
         */
        DBGPRINT(RT_DEBUG_TRACE,( "<---%s\n",__func__));
 
-       pObj->MLMEThr_pid = THREAD_PID_INIT_VALUE;
+       pObj->MLMEThr_task = NULL;
 
        complete_and_exit (&pAd->mlmeComplete, 0);
        return 0;
@@ -373,7 +373,7 @@ INT RTUSBCmdThread(
         */
        DBGPRINT(RT_DEBUG_TRACE,( "<---RTUSBCmdThread\n"));
 
-       pObj->RTUSBCmdThr_pid = THREAD_PID_INIT_VALUE;
+       pObj->RTUSBCmdThr_task = NULL;
 
        complete_and_exit (&pAd->CmdQComplete, 0);
        return 0;
@@ -467,7 +467,7 @@ INT TimerQThread(
         */
        DBGPRINT(RT_DEBUG_TRACE,( "<---%s\n",__func__));
 
-       pObj->TimerQThr_pid = THREAD_PID_INIT_VALUE;
+       pObj->TimerQThr_task = NULL;
 
        complete_and_exit(&pAd->TimerQComplete, 0);
        return 0;
@@ -944,69 +944,46 @@ VOID RT28xxThreadTerminate(
        RTUSBCancelPendingIRPs(pAd);
 
        // Terminate Threads
-       CHECK_PID_LEGALITY(pObj->TimerQThr_pid)
+       BUG_ON(pObj->TimerQThr_task == NULL);
+       CHECK_PID_LEGALITY(task_pid(pObj->TimerQThr_task))
        {
                POS_COOKIE pObj = (POS_COOKIE)pAd->OS_Cookie;
 
-               printk("Terminate the TimerQThr_pid=%d!\n", GET_PID_NUMBER(pObj->TimerQThr_pid));
+               printk(KERN_DEBUG "Terminate the TimerQThr pid=%d!\n",
+                       pid_nr(task_pid(pObj->TimerQThr_task)));
                mb();
                pAd->TimerFunc_kill = 1;
                mb();
-               ret = KILL_THREAD_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, GET_PID_NUMBER(pObj->TimerQThr_pid), ret);
-               }
-               else
-               {
-                       wait_for_completion(&pAd->TimerQComplete);
-                       pObj->TimerQThr_pid = THREAD_PID_INIT_VALUE;
-               }
+               kthread_stop(pObj->TimerQThr_task);
+               pObj->TimerQThr_task = NULL;
        }
 
-       CHECK_PID_LEGALITY(pObj->MLMEThr_pid)
+       BUG_ON(pObj->MLMEThr_task == NULL);
+       CHECK_PID_LEGALITY(task_pid(pObj->MLMEThr_task))
        {
-               printk("Terminate the MLMEThr_pid=%d!\n", GET_PID_NUMBER(pObj->MLMEThr_pid));
+               printk(KERN_DEBUG "Terminate the MLMEThr pid=%d!\n",
+                       pid_nr(task_pid(pObj->MLMEThr_task)));
                mb();
                pAd->mlme_kill = 1;
                //RT28XX_MLME_HANDLER(pAd);
                mb();
-               ret = KILL_THREAD_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, GET_PID_NUMBER(pObj->MLMEThr_pid), ret);
-               }
-               else
-               {
-                       //wait_for_completion (&pAd->notify);
-                       wait_for_completion (&pAd->mlmeComplete);
-                       pObj->MLMEThr_pid = THREAD_PID_INIT_VALUE;
-               }
+               kthread_stop(pObj->MLMEThr_task);
+               pObj->MLMEThr_task = NULL;
        }
 
-       CHECK_PID_LEGALITY(pObj->RTUSBCmdThr_pid)
+       BUG_ON(pObj->RTUSBCmdThr_task == NULL);
+       CHECK_PID_LEGALITY(task_pid(pObj->RTUSBCmdThr_task))
        {
-               printk("Terminate the RTUSBCmdThr_pid=%d!\n", GET_PID_NUMBER(pObj->RTUSBCmdThr_pid));
+               printk(KERN_DEBUG "Terminate the RTUSBCmdThr pid=%d!\n",
+                       pid_nr(task_pid(pObj->RTUSBCmdThr_task)));
                mb();
                NdisAcquireSpinLock(&pAd->CmdQLock);
                pAd->CmdQ.CmdQState = RT2870_THREAD_STOPED;
                NdisReleaseSpinLock(&pAd->CmdQLock);
                mb();
                //RTUSBCMDUp(pAd);
-               ret = KILL_THREAD_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, GET_PID_NUMBER(pObj->RTUSBCmdThr_pid), ret);
-               }
-               else
-               {
-                       //wait_for_completion (&pAd->notify);
-                       wait_for_completion (&pAd->CmdQComplete);
-                       pObj->RTUSBCmdThr_pid = THREAD_PID_INIT_VALUE;
-       }
+               kthread_stop(pObj->RTUSBCmdThr_task);
+               pObj->RTUSBCmdThr_task = NULL;
        }
 
 
@@ -1067,7 +1044,7 @@ BOOLEAN RT28XXChipsetCheck(
                if (dev_p->descriptor.idVendor == rtusb_usb_id[i].idVendor &&
                        dev_p->descriptor.idProduct == rtusb_usb_id[i].idProduct)
                {
-                       printk("rt2870: idVendor = 0x%x, idProduct = 0x%x\n",
+                       printk(KERN_DEBUG "rt2870: idVendor = 0x%x, idProduct = 0x%x\n",
                                        dev_p->descriptor.idVendor, dev_p->descriptor.idProduct);
                        break;
                }