SAA9730: Handle multicast frames.
authorYOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@linux-ipv6.org>
Tue, 17 Jul 2007 04:46:00 +0000 (13:46 +0900)
committerJeff Garzik <jeff@garzik.org>
Wed, 18 Jul 2007 22:29:38 +0000 (18:29 -0400)
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
--
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/saa9730.c

index 451486b..7dae4d4 100644 (file)
@@ -940,15 +940,14 @@ static void lan_saa9730_set_multicast(struct net_device *dev)
                       CAM_CONTROL_GROUP_ACC | CAM_CONTROL_BROAD_ACC,
                       &lp->lan_saa9730_regs->CamCtl);
        } else {
-               if (dev->flags & IFF_ALLMULTI) {
+               if (dev->flags & IFF_ALLMULTI || dev->mc_count) {
                        /* accept all multicast packets */
-                       writel(CAM_CONTROL_COMP_EN | CAM_CONTROL_GROUP_ACC |
-                              CAM_CONTROL_BROAD_ACC,
-                              &lp->lan_saa9730_regs->CamCtl);
-               } else {
                        /*
                         * Will handle the multicast stuff later. -carstenl
                         */
+                       writel(CAM_CONTROL_COMP_EN | CAM_CONTROL_GROUP_ACC |
+                              CAM_CONTROL_BROAD_ACC,
+                              &lp->lan_saa9730_regs->CamCtl);
                }
        }