aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/mv643xx_eth.c
diff options
context:
space:
mode:
authorBill Helfinstine <bhelf@flitterfly.whirpon.com>2007-04-01 13:10:28 -0400
committerJeff Garzik <jeff@garzik.org>2007-04-03 22:31:09 -0400
commitcda22aa94d3fe3942476b3652b8b92c653b96ee3 (patch)
treeda718ea74a34e7336fa5eb2a1d6015bdf3fd04f7 /drivers/net/mv643xx_eth.c
parent7f672cf5b2382310d530469f1f78f69bf48adedc (diff)
downloadkernel_samsung_smdk4412-cda22aa94d3fe3942476b3652b8b92c653b96ee3.zip
kernel_samsung_smdk4412-cda22aa94d3fe3942476b3652b8b92c653b96ee3.tar.gz
kernel_samsung_smdk4412-cda22aa94d3fe3942476b3652b8b92c653b96ee3.tar.bz2
b44: fix IFF_ALLMULTI handling of CAM slots
If you set the IFF_ALLMULTI flag on a b44 device, or if you join more than B44_MCAST_TABLE_SIZE multicast groups, the device will stop receiving unicast messages. This is because the __b44_set_mac_addr call sets the zeroth CAM entry to the MAC address of the device, and then the loop at line 1722 proceeds to overwrite it unless the value of i is set by the __b44_load_mcast call. However, when IFF_ALLMULTI is set, that call is bypassed, leaving i set to zero. Fixed by starting the loop at 1 to make it skip the CAM entry for the MAC address. Signed-off-by: Bill Helfinstine <bhelf@flitterfly.whirpon.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/mv643xx_eth.c')
0 files changed, 0 insertions, 0 deletions