From 7356f429d24e7ad97c0dec77b0777d5892c7657d Mon Sep 17 00:00:00 2001
From: nohee ko <noheek@broadcom.com>
Date: Wed, 13 Oct 2010 14:24:25 -0700
Subject: [PATCH] staging: brcm80211: brcmfmac: replace KILL_PROC with
 send_sig()

logic optimization : replace KILL_PROC with send_sig()

Signed-off-by: Nohee Ko <noheek@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
 drivers/staging/brcm80211/brcmfmac/dhd_linux.c   | 6 +++---
 drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c | 5 ++---
 drivers/staging/brcm80211/brcmfmac/wl_iw.c       | 2 +-
 drivers/staging/brcm80211/include/linuxver.h     | 7 -------
 4 files changed, 6 insertions(+), 14 deletions(-)

diff --git a/drivers/staging/brcm80211/brcmfmac/dhd_linux.c b/drivers/staging/brcm80211/brcmfmac/dhd_linux.c
index 4548e1f865f9..579a639ad437 100644
--- a/drivers/staging/brcm80211/brcmfmac/dhd_linux.c
+++ b/drivers/staging/brcm80211/brcmfmac/dhd_linux.c
@@ -2340,20 +2340,20 @@ void dhd_detach(dhd_pub_t *dhdp)
 			}
 
 			if (dhd->watchdog_tsk) {
-				KILL_PROC(dhd->watchdog_tsk->pid, SIGTERM);
+				send_sig(SIGTERM, dhd->watchdog_tsk, 1);
 				kthread_stop(dhd->watchdog_tsk);
 				dhd->watchdog_tsk = NULL;
 			}
 
 			if (dhd->dpc_tsk) {
-				KILL_PROC(dhd->dpc_tsk->pid, SIGTERM);
+				send_sig(SIGTERM, dhd->dpc_tsk, 1);
 				kthread_stop(dhd->dpc_tsk);
 				dhd->dpc_tsk = NULL;
 			} else
 				tasklet_kill(&dhd->tasklet);
 
 			if (dhd->sysioc_tsk) {
-				KILL_PROC(dhd->sysioc_tsk->pid, SIGTERM);
+				send_sig(SIGTERM, dhd->sysioc_tsk, 1);
 				kthread_stop(dhd->sysioc_tsk);
 				dhd->sysioc_tsk = NULL;
 			}
diff --git a/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c b/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c
index d9f4e9ea511a..73790341d709 100644
--- a/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c
+++ b/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c
@@ -2849,7 +2849,7 @@ static s32 wl_create_event_handler(struct wl_priv *wl)
 static void wl_destroy_event_handler(struct wl_priv *wl)
 {
 	if (wl->event_tsk) {
-		KILL_PROC(wl->event_tsk->pid, SIGTERM);
+		send_sig(SIGTERM, wl->event_tsk, 1);
 		kthread_stop(wl->event_tsk);
 		wl->event_tsk = NULL;
 	}
@@ -2861,7 +2861,7 @@ static void wl_term_iscan(struct wl_priv *wl)
 
 	if (wl->iscan_on && iscan->tsk) {
 		iscan->state = WL_ISCAN_STATE_IDLE;
-		KILL_PROC(iscan->tsk->pid, SIGTERM);
+		send_sig(SIGTERM, iscan->tsk, 1);
 		kthread_stop(iscan->tsk);
 		iscan->tsk = NULL;
 	}
@@ -3793,7 +3793,6 @@ static s32 __wl_cfg80211_up(struct wl_priv *wl)
 
 static s32 __wl_cfg80211_down(struct wl_priv *wl)
 {
-	struct net_device *ndev = wl_to_ndev(wl);
 	s32 err = 0;
 
 	/* Check if cfg80211 interface is already down */
diff --git a/drivers/staging/brcm80211/brcmfmac/wl_iw.c b/drivers/staging/brcm80211/brcmfmac/wl_iw.c
index 6a27f9b938df..a198cf8c9390 100644
--- a/drivers/staging/brcm80211/brcmfmac/wl_iw.c
+++ b/drivers/staging/brcm80211/brcmfmac/wl_iw.c
@@ -3745,7 +3745,7 @@ void wl_iw_detach(void)
 	if (!iscan)
 		return;
 	if (iscan->sysioc_tsk) {
-		KILL_PROC(iscan->sysioc_tsk->pid, SIGTERM);
+		send_sig(SIGTERM, iscan->sysioc_tsk, 1);
 		kthread_stop(iscan->sysioc_tsk);
 		iscan->sysioc_tsk = NULL;
 	}
diff --git a/drivers/staging/brcm80211/include/linuxver.h b/drivers/staging/brcm80211/include/linuxver.h
index 5b4babd4653c..dc721413ee29 100644
--- a/drivers/staging/brcm80211/include/linuxver.h
+++ b/drivers/staging/brcm80211/include/linuxver.h
@@ -35,11 +35,4 @@
 #undef IP_TOS
 #include <asm/io.h>
 
-#define KILL_PROC(pid, sig) \
-	do { \
-		struct task_struct *tsk; \
-		tsk = pid_task(find_vpid(pid), PIDTYPE_PID);    \
-		if (tsk)			\
-			send_sig(sig, tsk, 1);	\
-	} while (0)
 #endif				/* _linuxver_h_ */
-- 
GitLab