Commit c0222df8 authored by Johannes Berg's avatar Johannes Berg Committed by Reinette Chatre
Browse files

iwlwifi: pass address to iwl_remove_station



We'll need that function for IBSS station management,
so pass it the address, which is the only thing it
uses from the station struct.

Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
parent 6e0b9cac
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -596,7 +596,7 @@ static int iwl_send_remove_station(struct iwl_priv *priv,
/**
 * iwl_remove_station - Remove driver's knowledge of station.
 */
static int iwl_remove_station(struct iwl_priv *priv, struct ieee80211_sta *sta)
static int iwl_remove_station(struct iwl_priv *priv, const u8 *addr)
{
	int sta_id = IWL_INVALID_STATION;
	int i, ret = -EINVAL;
@@ -607,7 +607,7 @@ static int iwl_remove_station(struct iwl_priv *priv, struct ieee80211_sta *sta)
	if (!iwl_is_ready(priv)) {
		IWL_DEBUG_INFO(priv,
			"Unable to remove station %pM, device not ready.\n",
			sta->addr);
			addr);
		/*
		 * It is typical for stations to be removed when we are
		 * going down. Return success since device will be down
@@ -624,7 +624,7 @@ static int iwl_remove_station(struct iwl_priv *priv, struct ieee80211_sta *sta)
		for (i = IWL_STA_ID; i < priv->hw_params.max_stations; i++)
			if (priv->stations[i].used &&
			    !compare_ether_addr(priv->stations[i].sta.sta.addr,
						sta->addr)) {
						addr)) {
				sta_id = i;
				break;
			}
@@ -633,17 +633,17 @@ static int iwl_remove_station(struct iwl_priv *priv, struct ieee80211_sta *sta)
		goto out;

	IWL_DEBUG_ASSOC(priv, "Removing STA from driver:%d  %pM\n",
		sta_id, sta->addr);
		sta_id, addr);

	if (!(priv->stations[sta_id].used & IWL_STA_DRIVER_ACTIVE)) {
		IWL_DEBUG_INFO(priv, "Removing %pM but non DRIVER active\n",
				sta->addr);
				addr);
		goto out;
	}

	if (!(priv->stations[sta_id].used & IWL_STA_UCODE_ACTIVE)) {
		IWL_DEBUG_INFO(priv, "Removing %pM but non UCODE active\n",
				sta->addr);
				addr);
		goto out;
	}

@@ -1450,7 +1450,7 @@ int iwl_mac_sta_remove(struct ieee80211_hw *hw,
	struct iwl_priv *priv = hw->priv;
	IWL_DEBUG_INFO(priv, "received request to remove station %pM\n",
			sta->addr);
	ret = iwl_remove_station(priv, sta);
	ret = iwl_remove_station(priv, sta->addr);
	if (ret)
		IWL_ERR(priv, "Error removing station %pM\n",
			sta->addr);