rsi: Fix memory leak in module unload
Observed crash when module is unloaded if CONFIG_RSI_DEBUGSFS is not set. Fix: Debugfs entry removal moved inside CONFIG_RSI_DEBUGSFS flag in function rsi_mac80211_detach() Memory leak found and fixed for below structures in function rsi_mac80211_detach() * channel list for each supported band * rsi debugfs info Signed-off-by: Prameela Rani Garnepudi <prameela.j04cs@gmail.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
parent
87016f5eb1
commit
b022539db4
|
@ -194,6 +194,7 @@ static void rsi_register_rates_channels(struct rsi_hw *adapter, int band)
|
|||
void rsi_mac80211_detach(struct rsi_hw *adapter)
|
||||
{
|
||||
struct ieee80211_hw *hw = adapter->hw;
|
||||
enum nl80211_band band;
|
||||
|
||||
if (hw) {
|
||||
ieee80211_stop_queues(hw);
|
||||
|
@ -201,7 +202,17 @@ void rsi_mac80211_detach(struct rsi_hw *adapter)
|
|||
ieee80211_free_hw(hw);
|
||||
}
|
||||
|
||||
for (band = 0; band < NUM_NL80211_BANDS; band++) {
|
||||
struct ieee80211_supported_band *sband =
|
||||
&adapter->sbands[band];
|
||||
|
||||
kfree(sband->channels);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_RSI_DEBUGFS
|
||||
rsi_remove_dbgfs(adapter);
|
||||
kfree(adapter->dfsentry);
|
||||
#endif
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(rsi_mac80211_detach);
|
||||
|
||||
|
|
Loading…
Reference in New Issue