wl1271: Fix multicast list handling
Fixes bugs in the multicast list handling: - Use atomic memory allocation in non-sleepable context - Increment address pointer when iterating list of MC addresses Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com> Reviewed-by: Luciano Coelho <luciano.coelho@nokia.com> Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
5d07b668f2
commit
7444113017
1 changed files with 2 additions and 1 deletions
|
@ -1160,7 +1160,7 @@ static u64 wl1271_op_prepare_multicast(struct ieee80211_hw *hw, int mc_count,
|
|||
* configure_filter() instead of saving everything in the context.
|
||||
*/
|
||||
|
||||
fp = kzalloc(sizeof(*fp), GFP_KERNEL);
|
||||
fp = kzalloc(sizeof(*fp), GFP_ATOMIC);
|
||||
if (!fp) {
|
||||
wl1271_error("Out of memory setting filters.");
|
||||
return 0;
|
||||
|
@ -1180,6 +1180,7 @@ static u64 wl1271_op_prepare_multicast(struct ieee80211_hw *hw, int mc_count,
|
|||
fp->mc_list_length++;
|
||||
} else
|
||||
wl1271_warning("Unknown mc address length.");
|
||||
mc_list = mc_list->next;
|
||||
}
|
||||
|
||||
/* FIXME: We still need to set our filters properly */
|
||||
|
|
Loading…
Reference in a new issue