--- a/drivers/net/wireless/orinoco/hw.c +++ b/drivers/net/wireless/orinoco/hw.c @@ -1093,7 +1093,11 @@ int __orinoco_hw_set_multicast_list(stru netdev_for_each_mc_addr(ha, dev) { if (i == mc_count) break; +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) memcpy(mclist.addr[i++], ha->addr, ETH_ALEN); +#else + memcpy(mclist.addr[i++], ha->dmi_addr, ETH_ALEN); +#endif } err = hw->ops->write_ltv(hw, USER_BAP, --- a/drivers/net/wireless/orinoco/hw.h +++ b/drivers/net/wireless/orinoco/hw.h @@ -22,6 +22,9 @@ /* Forward declarations */ struct orinoco_private; +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35)) +struct dev_addr_list; +#endif int determine_fw_capabilities(struct orinoco_private *priv, char *fw_name, size_t fw_name_len, u32 *hw_ver);