aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/orinoco.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/orinoco.c')
-rw-r--r--drivers/net/wireless/orinoco.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/net/wireless/orinoco.c b/drivers/net/wireless/orinoco.c
index 6a196c31de43..ec0451cbb8e1 100644
--- a/drivers/net/wireless/orinoco.c
+++ b/drivers/net/wireless/orinoco.c
@@ -2833,6 +2833,9 @@ __orinoco_set_multicast_list(struct net_device *dev)
2833 priv->promiscuous = promisc; 2833 priv->promiscuous = promisc;
2834 } 2834 }
2835 2835
2836 /* If we're not in promiscuous mode, then we need to set the
2837 * group address if either we want to multicast, or if we were
2838 * multicasting and want to stop */
2836 if (! promisc && (mc_count || priv->mc_count) ) { 2839 if (! promisc && (mc_count || priv->mc_count) ) {
2837 struct dev_mc_list *p = dev->mc_list; 2840 struct dev_mc_list *p = dev->mc_list;
2838 struct hermes_multicast mclist; 2841 struct hermes_multicast mclist;
@@ -2852,9 +2855,10 @@ __orinoco_set_multicast_list(struct net_device *dev)
2852 printk(KERN_WARNING "%s: Multicast list is " 2855 printk(KERN_WARNING "%s: Multicast list is "
2853 "longer than mc_count\n", dev->name); 2856 "longer than mc_count\n", dev->name);
2854 2857
2855 err = hermes_write_ltv(hw, USER_BAP, HERMES_RID_CNFGROUPADDRESSES, 2858 err = hermes_write_ltv(hw, USER_BAP,
2856 HERMES_BYTES_TO_RECLEN(priv->mc_count * ETH_ALEN), 2859 HERMES_RID_CNFGROUPADDRESSES,
2857 &mclist); 2860 HERMES_BYTES_TO_RECLEN(mc_count * ETH_ALEN),
2861 &mclist);
2858 if (err) 2862 if (err)
2859 printk(KERN_ERR "%s: Error %d setting multicast list.\n", 2863 printk(KERN_ERR "%s: Error %d setting multicast list.\n",
2860 dev->name, err); 2864 dev->name, err);