The interface changed with kernel 2.6.35 and we have to backport these changes. CC: Christian Lamparter <chunkeey@xxxxxxxxxxxxxx> Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> --- 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 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html