* [PATCH] compat-wireless: backport multicast filter in p54 for kernel < 2.6.35
@ 2011-04-27 18:00 Hauke Mehrtens
2011-04-27 18:08 ` Luis R. Rodriguez
0 siblings, 1 reply; 2+ messages in thread
From: Hauke Mehrtens @ 2011-04-27 18:00 UTC (permalink / raw)
To: mcgrof, lrodriguez; +Cc: linux-wireless, Hauke Mehrtens, Christian Lamparter
The interface changed with kernel 2.6.35 and we have to backport these changes.
CC: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
patches/25-multicast-list_head.patch | 45 ++++++++++++++++++++++++++++++++++
1 files changed, 45 insertions(+), 0 deletions(-)
diff --git a/patches/25-multicast-list_head.patch b/patches/25-multicast-list_head.patch
index f4d8aae..719321a 100644
--- a/patches/25-multicast-list_head.patch
+++ b/patches/25-multicast-list_head.patch
@@ -437,6 +437,51 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856
int determine_fw_capabilities(struct orinoco_private *priv, char *fw_name,
size_t fw_name_len, u32 *hw_ver);
+--- a/drivers/net/wireless/p54/main.c
++++ b/drivers/net/wireless/p54/main.c
+@@ -308,11 +308,18 @@ out:
+ return ret;
+ }
+
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
+ static u64 p54_prepare_multicast(struct ieee80211_hw *dev,
+ struct netdev_hw_addr_list *mc_list)
++#else
++static u64 p54_prepare_multicast(struct ieee80211_hw *dev, int mc_count,
++ struct dev_addr_list *ha)
++#endif
+ {
+ struct p54_common *priv = dev->priv;
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
+ struct netdev_hw_addr *ha;
++#endif
+ int i;
+
+ BUILD_BUG_ON(ARRAY_SIZE(priv->mc_maclist) !=
+@@ -322,12 +329,23 @@ static u64 p54_prepare_multicast(struct
+ * Otherwise the firmware will drop it and ARP will no longer work.
+ */
+ i = 1;
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
+ priv->mc_maclist_num = netdev_hw_addr_list_count(mc_list) + i;
+ netdev_hw_addr_list_for_each(ha, mc_list) {
+ memcpy(&priv->mc_maclist[i], ha->addr, ETH_ALEN);
++#else
++ priv->mc_maclist_num = mc_count + i;
++ while (i <= mc_count) {
++ if (!ha)
++ break;
++ memcpy(&priv->mc_maclist[i], ha->dmi_addr, ETH_ALEN);
++#endif
+ i++;
+ if (i >= ARRAY_SIZE(priv->mc_maclist))
+ break;
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35))
++ ha = ha->next;
++#endif
+ }
+
+ return 1; /* update */
--- a/drivers/net/wireless/rndis_wlan.c
+++ b/drivers/net/wireless/rndis_wlan.c
@@ -1629,7 +1629,11 @@ static void set_multicast_list(struct us
--
1.7.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] compat-wireless: backport multicast filter in p54 for kernel < 2.6.35
2011-04-27 18:00 [PATCH] compat-wireless: backport multicast filter in p54 for kernel < 2.6.35 Hauke Mehrtens
@ 2011-04-27 18:08 ` Luis R. Rodriguez
0 siblings, 0 replies; 2+ messages in thread
From: Luis R. Rodriguez @ 2011-04-27 18:08 UTC (permalink / raw)
To: Hauke Mehrtens; +Cc: linux-wireless, Christian Lamparter
On Wed, Apr 27, 2011 at 11:00 AM, Hauke Mehrtens <hauke@hauke-m.de> wrote:
> The interface changed with kernel 2.6.35 and we have to backport these changes.
>
> CC: Christian Lamparter <chunkeey@googlemail.com>
> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Applied and pushed, thanks!
Luis
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-04-27 18:08 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-04-27 18:00 [PATCH] compat-wireless: backport multicast filter in p54 for kernel < 2.6.35 Hauke Mehrtens
2011-04-27 18:08 ` Luis R. Rodriguez
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.