staging: vt6656: device_set_multi: set filter off with MACvWriteMultiAddr

set u64 mc_filter to ~0x0 multi cast filter off and write MAC_REG_MAR0 using
MACvWriteMultiAddr to replace pbyData.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Malcolm Priestley 2014-02-12 19:20:48 +00:00 committed by Greg Kroah-Hartman
parent 0ca3e288dd
commit 295508cc3f
1 changed files with 3 additions and 8 deletions

View File

@ -1354,7 +1354,6 @@ static void device_set_multi(struct net_device *dev)
struct vnt_manager *pMgmt = &pDevice->vnt_mgmt; struct vnt_manager *pMgmt = &pDevice->vnt_mgmt;
struct netdev_hw_addr *ha; struct netdev_hw_addr *ha;
u64 mc_filter = 0; u64 mc_filter = 0;
u8 pbyData[8] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
u8 byTmpMode = 0; u8 byTmpMode = 0;
int rc; int rc;
@ -1377,13 +1376,9 @@ static void device_set_multi(struct net_device *dev)
} }
else if ((netdev_mc_count(dev) > pDevice->multicast_limit) || else if ((netdev_mc_count(dev) > pDevice->multicast_limit) ||
(dev->flags & IFF_ALLMULTI)) { (dev->flags & IFF_ALLMULTI)) {
CONTROLnsRequestOut(pDevice, mc_filter = ~0x0;
MESSAGE_TYPE_WRITE, MACvWriteMultiAddr(pDevice, mc_filter);
MAC_REG_MAR0,
MESSAGE_REQUEST_MACREG,
8,
pbyData
);
pDevice->byRxMode |= (RCR_MULTICAST|RCR_BROADCAST); pDevice->byRxMode |= (RCR_MULTICAST|RCR_BROADCAST);
} }
else { else {