summaryrefslogtreecommitdiffstats
path: root/drivers/net/saa9730.c
diff options
context:
space:
mode:
authorYOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@linux-ipv6.org>2007-07-17 13:46:00 +0900
committerJeff Garzik <jeff@garzik.org>2007-07-18 18:29:38 -0400
commit82a0244df8165b0345cde5258afe176c12dd1e99 (patch)
tree9398519160e3d783e483ada9623483bedadac0c6 /drivers/net/saa9730.c
parentb947dd4b62a6adfd78292319a9d2e6396c1fb064 (diff)
downloadkernel-crypto-82a0244df8165b0345cde5258afe176c12dd1e99.tar.gz
kernel-crypto-82a0244df8165b0345cde5258afe176c12dd1e99.tar.xz
kernel-crypto-82a0244df8165b0345cde5258afe176c12dd1e99.zip
SAA9730: Handle multicast frames.
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> -- Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/saa9730.c')
-rw-r--r--drivers/net/saa9730.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/net/saa9730.c b/drivers/net/saa9730.c
index 451486b32f2..7dae4d40497 100644
--- a/drivers/net/saa9730.c
+++ b/drivers/net/saa9730.c
@@ -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);
}
}