Commit 6f6c218f authored by John W. Linville's avatar John W. Linville

rtl8180: avoid NULL dereference in max2820_rf_set_channel

The static function max2820_rf_set_channel is called with conf == NULL
within its compilation unit.  Originally this defaulted to b/g channel
1, but "cfg80211 API for channels/bitrates, mac80211 and driver
conversion" (commit 8318d78a) mistakenly
dropped this check.  This patch minimally restores the expected
behavior.
Reported-by: default avatarColin Lai <colin_sh@163.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 289c79a4
...@@ -78,7 +78,8 @@ static void max2820_rf_set_channel(struct ieee80211_hw *dev, ...@@ -78,7 +78,8 @@ static void max2820_rf_set_channel(struct ieee80211_hw *dev,
struct ieee80211_conf *conf) struct ieee80211_conf *conf)
{ {
struct rtl8180_priv *priv = dev->priv; struct rtl8180_priv *priv = dev->priv;
int channel = ieee80211_frequency_to_channel(conf->channel->center_freq); int channel = conf ?
ieee80211_frequency_to_channel(conf->channel->center_freq) : 1;
unsigned int chan_idx = channel - 1; unsigned int chan_idx = channel - 1;
u32 txpw = priv->channels[chan_idx].hw_value & 0xFF; u32 txpw = priv->channels[chan_idx].hw_value & 0xFF;
u32 chan = max2820_chan[chan_idx]; u32 chan = max2820_chan[chan_idx];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment