/* We block accesses to device mc filters with netif_tx_lock. Delete a device level multicast  */
int dev_mc_delete(struct net_device *dev, void *addr, int alen, int glbl)
/* We block accesses to device mc filters with netif_tx_lock. Delete a device level multicast  */
int dev_mc_delete(struct net_device *dev, void *addr, int alen, int glbl)
{
	int err;
	netif_addr_lock_bh(dev);
	err = __dev_addr_delete(&dev->mc_list, &dev->mc_count,
				addr, alen, glbl);
	if (!err) {
		__dev_set_rx_mode(dev);
	}
	netif_addr_unlock_bh(dev);
	return err;
}