staging: brcm80211: remove duplicated code from brcmf_init_iscan
authorArend van Spriel <arend@broadcom.com>
Mon, 8 Aug 2011 13:58:04 +0000 (15:58 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 23 Aug 2011 19:59:55 +0000 (12:59 -0700)
Part of the code in brcmf_init_scan was identical to the code in
brcmf_invoke_iscan and has been replaced by a call to it.

Signed-off-by: Arend van Spriel <arend@broadcom.com>
Reviewed-by: Roland Vossen <rvossen@broadcom.com>
Reviewed-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c

index e9ccf06..a69fa93 100644 (file)
@@ -3343,7 +3343,6 @@ static void brcmf_iscan_timer(unsigned long data)
 static s32 brcmf_invoke_iscan(struct brcmf_cfg80211_priv *cfg_priv)
 {
        struct brcmf_cfg80211_iscan_ctrl *iscan = cfg_to_iscan(cfg_priv);
-       int err = 0;
 
        if (cfg_priv->iscan_on && !iscan->tsk) {
                iscan->state = WL_ISCAN_STATE_IDLE;
@@ -3356,7 +3355,7 @@ static s32 brcmf_invoke_iscan(struct brcmf_cfg80211_priv *cfg_priv)
                }
        }
 
-       return err;
+       return 0;
 }
 
 static void brcmf_init_iscan_eloop(struct brcmf_cfg80211_iscan_eloop *el)
@@ -3376,20 +3375,14 @@ static s32 brcmf_init_iscan(struct brcmf_cfg80211_priv *cfg_priv)
 
        if (cfg_priv->iscan_on) {
                iscan->dev = cfg_to_ndev(cfg_priv);
-               iscan->state = WL_ISCAN_STATE_IDLE;
                brcmf_init_iscan_eloop(&iscan->el);
                iscan->timer_ms = WL_ISCAN_TIMER_INTERVAL_MS;
                init_timer(&iscan->timer);
                iscan->timer.data = (unsigned long) iscan;
                iscan->timer.function = brcmf_iscan_timer;
-               sema_init(&iscan->sync, 0);
-               iscan->tsk = kthread_run(brcmf_iscan_thread, iscan, "wl_iscan");
-               if (IS_ERR(iscan->tsk)) {
-                       WL_ERR("Could not create iscan thread\n");
-                       iscan->tsk = NULL;
-                       return -ENOMEM;
-               }
-               iscan->data = cfg_priv;
+               err = brcmf_invoke_iscan(cfg_priv);
+               if (!err)
+                       iscan->data = cfg_priv;
        }
 
        return err;