From: Malcolm Priestley Date: Wed, 12 Feb 2014 19:20:48 +0000 (+0000) Subject: staging: vt6656: device_set_multi: set filter off with MACvWriteMultiAddr X-Git-Tag: next-20140306~21^2~407 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=295508cc3f25e97ab69bc96d2cd06f2ee1c6bff3;p=karo-tx-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 Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/vt6656/main_usb.c b/drivers/staging/vt6656/main_usb.c index ffcce0cdde07..a48736b0c185 100644 --- a/drivers/staging/vt6656/main_usb.c +++ b/drivers/staging/vt6656/main_usb.c @@ -1354,7 +1354,6 @@ static void device_set_multi(struct net_device *dev) struct vnt_manager *pMgmt = &pDevice->vnt_mgmt; struct netdev_hw_addr *ha; u64 mc_filter = 0; - u8 pbyData[8] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; u8 byTmpMode = 0; int rc; @@ -1377,13 +1376,9 @@ static void device_set_multi(struct net_device *dev) } else if ((netdev_mc_count(dev) > pDevice->multicast_limit) || (dev->flags & IFF_ALLMULTI)) { - CONTROLnsRequestOut(pDevice, - MESSAGE_TYPE_WRITE, - MAC_REG_MAR0, - MESSAGE_REQUEST_MACREG, - 8, - pbyData - ); + mc_filter = ~0x0; + MACvWriteMultiAddr(pDevice, mc_filter); + pDevice->byRxMode |= (RCR_MULTICAST|RCR_BROADCAST); } else {