From 1cc74f4b1408d8455ed327669687e60b8528def8 Mon Sep 17 00:00:00 2001 From: Jeff Garzik Date: Thu, 5 Oct 2006 07:10:38 -0400 Subject: [PATCH] --- yaml --- r: 39403 b: refs/heads/master c: 2f614fe04f4463ff22234133319067d7361f54e5 h: refs/heads/master i: 39401: 2fe265da995c6ae4fab628a05e36adc491912199 39399: 3470c03e827a312a6c371d0bf27af4763b397958 v: v3 --- [refs] | 2 +- trunk/drivers/net/b44.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 1f2a871762c4..e55e235d9fb2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 39984a9fad0c642182f426d7771332d46f222103 +refs/heads/master: 2f614fe04f4463ff22234133319067d7361f54e5 diff --git a/trunk/drivers/net/b44.c b/trunk/drivers/net/b44.c index e891ea2ecc3c..973b8eb37dc2 100644 --- a/trunk/drivers/net/b44.c +++ b/trunk/drivers/net/b44.c @@ -1706,14 +1706,15 @@ static void __b44_set_rx_mode(struct net_device *dev) __b44_set_mac_addr(bp); - if (dev->flags & IFF_ALLMULTI) + if ((dev->flags & IFF_ALLMULTI) || + (dev->mc_count > B44_MCAST_TABLE_SIZE)) val |= RXCONFIG_ALLMULTI; else i = __b44_load_mcast(bp, dev); - for (; i < 64; i++) { + for (; i < 64; i++) __b44_cam_write(bp, zero, i); - } + bw32(bp, B44_RXCONFIG, val); val = br32(bp, B44_CAM_CTRL); bw32(bp, B44_CAM_CTRL, val | CAM_CTRL_ENABLE);