il = hw->priv;
/* At this point both hw and il are allocated. */
- il->ctx.always_active = true;
- il->ctx.is_active = true;
-
SET_IEEE80211_DEV(hw, &pdev->dev);
D_INFO("*** LOAD DRIVER ***\n");
il_setup_interface(struct il_priv *il, struct il_rxon_context *ctx)
{
struct ieee80211_vif *vif = ctx->vif;
- int err;
lockdep_assert_held(&il->mutex);
*/
il->iw_mode = vif->type;
- ctx->is_active = true;
-
- err = il_set_mode(il, ctx);
- if (err) {
- if (!ctx->always_active)
- ctx->is_active = false;
- return err;
- }
-
- return 0;
+ return il_set_mode(il, ctx);
}
int
il_force_scan_end(il);
}
- if (!mode_change) {
+ if (!mode_change)
il_set_mode(il, ctx);
- if (!ctx->always_active)
- ctx->is_active = false;
- }
+
}
void
if (test_bit(S_EXIT_PENDING, &il->status))
return;
- if (!ctx->is_active)
- return;
-
il->qos_data.def_qos_parm.qos_flags = 0;
if (il->qos_data.qos_active)
struct il_rxon_context {
struct ieee80211_vif *vif;
-
- /*
- * We could use the vif to indicate active, but we
- * also need it to be active during disabling when
- * we already removed the vif for type setting.
- */
- bool always_active, is_active;
};
struct il_power_mgr {