diff --git a/drivers/staging/wfx/sta.c b/drivers/staging/wfx/sta.c
index 1732f3d0a1e5a20529b7341c6a9830af548b9de9..1e43e3b65953356a46c9e6479001e90a4b243f62 100644
--- a/drivers/staging/wfx/sta.c
+++ b/drivers/staging/wfx/sta.c
@@ -286,8 +286,6 @@ void wfx_set_default_unicast_key(struct ieee80211_hw *hw,
 // Call it with wdev->conf_mutex locked
 static void wfx_do_unjoin(struct wfx_vif *wvif)
 {
-	wvif->state = WFX_STATE_PASSIVE;
-
 	/* Unjoin is a reset. */
 	wfx_tx_lock_flush(wvif->wdev);
 	hif_reset(wvif, false);
@@ -367,11 +365,6 @@ static void wfx_do_join(struct wfx_vif *wvif)
 		wfx_do_unjoin(wvif);
 	} else {
 		wvif->join_complete_status = 0;
-		if (wvif->vif->type == NL80211_IFTYPE_ADHOC)
-			wvif->state = WFX_STATE_IBSS;
-		else
-			wvif->state = WFX_STATE_PRE_STA;
-
 		/* Due to beacon filtering it is possible that the
 		 * AP's beacon is not known for the mac80211 stack.
 		 * Disable filtering temporary to make sure the stack
@@ -448,7 +441,6 @@ int wfx_start_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
 {
 	struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv;
 
-	wvif->state = WFX_STATE_AP;
 	wfx_upload_ap_templates(wvif);
 	hif_start(wvif, &vif->bss_conf, wvif->channel);
 	return 0;
@@ -462,7 +454,6 @@ void wfx_stop_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
 	wfx_tx_policy_init(wvif);
 	if (wvif_count(wvif->wdev) <= 1)
 		hif_set_block_ack_policy(wvif, 0xFF, 0xFF);
-	wvif->state = WFX_STATE_PASSIVE;
 }
 
 static void wfx_join_finalize(struct wfx_vif *wvif,
@@ -475,9 +466,6 @@ static void wfx_join_finalize(struct wfx_vif *wvif,
 	hif_set_bss_params(wvif, info->aid, 7);
 	hif_set_beacon_wakeup_period(wvif, 1, 1);
 	wfx_update_pm(wvif);
-
-	if (!info->ibss_joined)
-		wvif->state = WFX_STATE_STA;
 }
 
 int wfx_join_ibss(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
@@ -787,7 +775,6 @@ void wfx_remove_interface(struct ieee80211_hw *hw,
 	WARN(wvif->link_id_map != 1, "corrupted state");
 
 	hif_reset(wvif, false);
-	wvif->state = WFX_STATE_PASSIVE;
 	hif_set_macaddr(wvif, NULL);
 	wfx_tx_policy_init(wvif);
 
diff --git a/drivers/staging/wfx/sta.h b/drivers/staging/wfx/sta.h
index fe728e642cfcbfeb1ebe8a2f6d48d4ac60952bea..e814fe743b7d0c3117c6a432e53b3ad412f8d8c3 100644
--- a/drivers/staging/wfx/sta.h
+++ b/drivers/staging/wfx/sta.h
@@ -15,14 +15,6 @@
 struct wfx_dev;
 struct wfx_vif;
 
-enum wfx_state {
-	WFX_STATE_PASSIVE = 0,
-	WFX_STATE_PRE_STA,
-	WFX_STATE_STA,
-	WFX_STATE_IBSS,
-	WFX_STATE_AP,
-};
-
 struct wfx_sta_priv {
 	int link_id;
 	int vif_id;
diff --git a/drivers/staging/wfx/wfx.h b/drivers/staging/wfx/wfx.h
index 354a62394db0508ca49453748ff0d774cfd545c9..8d29bf77cfed8d97b7415f9edc2f6ec44d32d980 100644
--- a/drivers/staging/wfx/wfx.h
+++ b/drivers/staging/wfx/wfx.h
@@ -66,7 +66,6 @@ struct wfx_vif {
 	struct ieee80211_vif	*vif;
 	struct ieee80211_channel *channel;
 	int			id;
-	enum wfx_state		state;
 
 	u32			link_id_map;