wl1271: add recover testmode command
authorEliad Peller <eliad@wizery.com>
Wed, 27 Oct 2010 12:09:58 +0000 (14:09 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 15 Nov 2010 18:25:25 +0000 (13:25 -0500)
add RECOVER testmode command.
this command triggers a recovery sequence (by enqueueing a recovery_work).

Signed-off-by: Eliad Peller <eliad@wizery.com>
Reviewed-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
drivers/net/wireless/wl12xx/wl1271_testmode.c

index a3aa84386c88b3aef93cbfe4210e796797738974..55ec4428922b2f154afc458ce503259d96161dd0 100644 (file)
@@ -37,6 +37,7 @@ enum wl1271_tm_commands {
        WL1271_TM_CMD_CONFIGURE,
        WL1271_TM_CMD_NVS_PUSH,
        WL1271_TM_CMD_SET_PLT_MODE,
+       WL1271_TM_CMD_RECOVER,
 
        __WL1271_TM_CMD_AFTER_LAST
 };
@@ -248,6 +249,15 @@ static int wl1271_tm_cmd_set_plt_mode(struct wl1271 *wl, struct nlattr *tb[])
        return ret;
 }
 
+static int wl1271_tm_cmd_recover(struct wl1271 *wl, struct nlattr *tb[])
+{
+       wl1271_debug(DEBUG_TESTMODE, "testmode cmd recover");
+
+       ieee80211_queue_work(wl->hw, &wl->recovery_work);
+
+       return 0;
+}
+
 int wl1271_tm_cmd(struct ieee80211_hw *hw, void *data, int len)
 {
        struct wl1271 *wl = hw->priv;
@@ -272,6 +282,8 @@ int wl1271_tm_cmd(struct ieee80211_hw *hw, void *data, int len)
                return wl1271_tm_cmd_nvs_push(wl, tb);
        case WL1271_TM_CMD_SET_PLT_MODE:
                return wl1271_tm_cmd_set_plt_mode(wl, tb);
+       case WL1271_TM_CMD_RECOVER:
+               return wl1271_tm_cmd_recover(wl, tb);
        default:
                return -EOPNOTSUPP;
        }