mirror of https://gitee.com/openkylin/linux.git
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:
parent
0ca3e288dd
commit
295508cc3f
|
@ -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 {
|
||||||
|
|
Loading…
Reference in New Issue