void do_mc32_set_multicast_list (struct net_device * dev, int retry);
Actually set or clear the multicast filter for this adaptor. The locking issues are handled by this routine. We have to track state as it may take multiple calls to get the command sequence completed. We just keep trying to schedule the loads until we manage to process them all.
num_addrs == -1 Promiscuous mode, receive all packets
num_addrs == 0 Normal mode, clear multicast list
num_addrs > 0 Multicast mode, receive normal and MC packets, and do best-effort filtering.
See mc32_update_stats regards setting the SAV BP bit.