mac80211: remove WARN_ON() from ieee80211_hw_config
ieee80211_hw_config can return an error when the hardware has rfkill enabled. A WARN_ON() is too harsh for this failure as it is a valid scenario. Only comment this warning as we would like to have it back when rfkill is integrated into mac80211. Also reintroduce propagation of error if ieee80211_hw_config fails in ieee80211_config_beacon. This patch partially reverts patch: 5f0387fc3337ca26f0745f945f550f0c3734960f "mac80211: clean up ieee80211_hw_config errors" Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
bb608e9db7
commit
447107fb32
|
@ -396,8 +396,10 @@ static int ieee80211_config_beacon(struct ieee80211_sub_if_data *sdata,
|
||||||
*/
|
*/
|
||||||
if (params->interval) {
|
if (params->interval) {
|
||||||
sdata->local->hw.conf.beacon_int = params->interval;
|
sdata->local->hw.conf.beacon_int = params->interval;
|
||||||
ieee80211_hw_config(sdata->local,
|
err = ieee80211_hw_config(sdata->local,
|
||||||
IEEE80211_CONF_CHANGE_BEACON_INTERVAL);
|
IEEE80211_CONF_CHANGE_BEACON_INTERVAL);
|
||||||
|
if (err < 0)
|
||||||
|
return err;
|
||||||
/*
|
/*
|
||||||
* We updated some parameter so if below bails out
|
* We updated some parameter so if below bails out
|
||||||
* it's not an error.
|
* it's not an error.
|
||||||
|
|
|
@ -243,10 +243,20 @@ int ieee80211_hw_config(struct ieee80211_local *local, u32 changed)
|
||||||
if (changed && local->open_count) {
|
if (changed && local->open_count) {
|
||||||
ret = local->ops->config(local_to_hw(local), changed);
|
ret = local->ops->config(local_to_hw(local), changed);
|
||||||
/*
|
/*
|
||||||
|
* Goal:
|
||||||
* HW reconfiguration should never fail, the driver has told
|
* HW reconfiguration should never fail, the driver has told
|
||||||
* us what it can support so it should live up to that promise.
|
* us what it can support so it should live up to that promise.
|
||||||
|
*
|
||||||
|
* Current status:
|
||||||
|
* rfkill is not integrated with mac80211 and a
|
||||||
|
* configuration command can thus fail if hardware rfkill
|
||||||
|
* is enabled
|
||||||
|
*
|
||||||
|
* FIXME: integrate rfkill with mac80211 and then add this
|
||||||
|
* WARN_ON() back
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
WARN_ON(ret);
|
/* WARN_ON(ret); */
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
Loading…
Reference in New Issue