[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1253526736.5216.8.camel@penberg-laptop>
Date: Mon, 21 Sep 2009 12:52:16 +0300
From: Pekka Enberg <penberg@...helsinki.fi>
To: linux-kernel@...r.kernel.org
Cc: greg@...ah.com, jbenc@...e.cz, jkosina@...e.cz,
johannes@...solutions.net, pavel@....cz, sandro.bonazzola@...il.com
Subject: [PATCH 2/2] w35und: Fix ->configure_filter breakage
From: Pekka Enberg <penberg@...helsinki.fi>
Commit 3ac64beecd27400d12cc7afb4108eef26c499f6a ("mac80211: allow
configure_filter callback to sleep") ->configure_filter function
signature. Fix driver breakage by introducing a ->prepare_multicast
operation that returns "mc_count". I'm not sure if the "mc_count > 32"
check is actually needed but lets keep the driver functionally
equivalent for now.
Cc: Greg KH <greg@...ah.com>
Cc: Jiri Benc <jbenc@...e.cz>
Cc: Jiri Kosina <jkosina@...e.cz>
Cc: Johannes Berg <johannes@...solutions.net>
Cc: Pavel Machek <pavel@....cz>
Cc: Sandro Bonazzola <sandro.bonazzola@...il.com>
Signed-off-by: Pekka Enberg <penberg@...helsinki.fi>
---
drivers/staging/winbond/wbusb.c | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/winbond/wbusb.c b/drivers/staging/winbond/wbusb.c
index ee6425e..4bf1057 100644
--- a/drivers/staging/winbond/wbusb.c
+++ b/drivers/staging/winbond/wbusb.c
@@ -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 *mclist)
+{
+ 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,
--
1.5.6.3
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists