Staging: rtxxx0: PID checking fixes
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Sun, 16 Aug 2009 19:30:12 +0000 (21:30 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 15 Sep 2009 19:02:18 +0000 (12:02 -0700)
* rt3070:
  - add missing pid_nr() invocations

* rt{28,30}70:
  - do not treat PID 0 as valid

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/rt2860/rt_linux.h
drivers/staging/rt2870/2870_main_dev.c
drivers/staging/rt2870/rt2870.h

index dbe6fb75d6cb6708f8dce2445ab6cad33c5bb78e..37b63e24e73476786019a24490ada42d89ddbbe6 100644 (file)
@@ -163,7 +163,7 @@ typedef     struct pid *    THREAD_PID;
 #define        THREAD_PID_INIT_VALUE   NULL
 #define        GET_PID(_v)     find_get_pid(_v)
 #define        GET_PID_NUMBER(_v)      pid_nr(_v)
-#define CHECK_PID_LEGALITY(_pid)       if (pid_nr(_pid) >= 0)
+#define CHECK_PID_LEGALITY(_pid)       if (pid_nr(_pid) > 0)
 #define KILL_THREAD_PID(_A, _B, _C)    kill_pid(_A, _B, _C)
 #endif
 
index 9900e8d0304597723c3ef2b23b990d7be739ccff..9b8ec40ea873705c06f5a05883c523b966d5c156 100644 (file)
@@ -1063,7 +1063,7 @@ VOID RT28xxThreadTerminate(
        }
 #endif
 #ifdef RT30xx
-       if (pObj->MLMEThr_pid)
+       if (pid_nr(pObj->MLMEThr_pid) > 0)
        {
                printk("Terminate the MLMEThr_pid=%d!\n", pid_nr(pObj->MLMEThr_pid));
                mb();
@@ -1084,7 +1084,7 @@ VOID RT28xxThreadTerminate(
                }
        }
 
-       if (pObj->RTUSBCmdThr_pid >= 0)
+       if (pid_nr(pObj->RTUSBCmdThr_pid) > 0)
        {
                printk("Terminate the RTUSBCmdThr_pid=%d!\n", pid_nr(pObj->RTUSBCmdThr_pid));
                mb();
@@ -1106,7 +1106,7 @@ VOID RT28xxThreadTerminate(
                        pObj->RTUSBCmdThr_pid = NULL;
                }
        }
-       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", pid_nr(pObj->TimerQThr_pid));
index 56a6dd0c3e466b326ea1bf2785cdf7b279075c9f..f0b1f2f1273eff3ebb96321252e661eacf2a8a01 100644 (file)
@@ -460,14 +460,14 @@ VOID RTUSBBulkRxComplete(purbb_t pUrb, struct pt_regs *pt_regs);
 #define RTUSBMlmeUp(pAd)               \
 {                                                                  \
        POS_COOKIE pObj = (POS_COOKIE) pAd->OS_Cookie;  \
-       if(pObj->MLMEThr_pid>0)             \
+       if (pid_nr(pObj->MLMEThr_pid) > 0) \
         up(&(pAd->mlme_semaphore)); \
 }
 
 #define RTUSBCMDUp(pAd)                        \
 {                                                                          \
        POS_COOKIE pObj = (POS_COOKIE) pAd->OS_Cookie;  \
-       if(pObj->RTUSBCmdThr_pid>0)                 \
+       if (pid_nr(pObj->RTUSBCmdThr_pid) > 0) \
            up(&(pAd->RTUSBCmd_semaphore)); \
 }
 #endif