Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6d7fd647 authored by Jeff Mahoney's avatar Jeff Mahoney Committed by Greg Kroah-Hartman
Browse files

Staging: winbond: implement prepare_multicast and fix API usage



This patch adds a prepare_multicast callback for the winbond driver
to properly receive mc_count in ->configure_filter.

This also fixes incompatible pointer assignment build errors because
->configure_filter had changed.

This is build tested only, but that's more than the original code received.

Signed-off-by: default avatarJeff Mahoney <jeffm@suse.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 4074e77c
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -99,10 +99,16 @@ static int wbsoft_get_tx_stats(struct ieee80211_hw *hw,
	return 0;
}

static u64 wbsoft_prepare_multicast(struct ieee80211_hw *hw, int mc_count,
				    struct dev_addr_list *mc_list)
{
	return mc_count;
}

static void wbsoft_configure_filter(struct ieee80211_hw *dev,
				    unsigned int changed_flags,
				    unsigned int *total_flags,
				    int mc_count, struct dev_mc_list *mclist)
				    u64 multicast)
{
	unsigned int new_flags;

@@ -110,7 +116,7 @@ static void wbsoft_configure_filter(struct ieee80211_hw *dev,

	if (*total_flags & FIF_PROMISC_IN_BSS)
		new_flags |= FIF_PROMISC_IN_BSS;
	else if ((*total_flags & FIF_ALLMULTI) || (mc_count > 32))
	else if ((*total_flags & FIF_ALLMULTI) || (multicast > 32))
		new_flags |= FIF_ALLMULTI;

	dev->flags &= ~IEEE80211_HW_RX_INCLUDES_FCS;
@@ -278,6 +284,7 @@ static const struct ieee80211_ops wbsoft_ops = {
	.add_interface		= wbsoft_add_interface,
	.remove_interface	= wbsoft_remove_interface,
	.config			= wbsoft_config,
	.prepare_multicast	= wbsoft_prepare_multicast,
	.configure_filter	= wbsoft_configure_filter,
	.get_stats		= wbsoft_get_stats,
	.get_tx_stats		= wbsoft_get_tx_stats,