]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/net/ethernet/ibm/ibmvnic.c
ibmvnic: Refresh device multicast list after reset
[linux.git] / drivers / net / ethernet / ibm / ibmvnic.c
index 3da392bfd6594fe9c2fdb2105131e5324352eee0..9e9f4096db58274749b58b8527cb94b4570ff04f 100644 (file)
@@ -1745,7 +1745,8 @@ static int do_reset(struct ibmvnic_adapter *adapter,
 
        ibmvnic_cleanup(netdev);
 
-       if (adapter->reset_reason != VNIC_RESET_MOBILITY &&
+       if (reset_state == VNIC_OPEN &&
+           adapter->reset_reason != VNIC_RESET_MOBILITY &&
            adapter->reset_reason != VNIC_RESET_FAILOVER) {
                rc = __ibmvnic_close(netdev);
                if (rc)
@@ -1844,6 +1845,9 @@ static int do_reset(struct ibmvnic_adapter *adapter,
                return 0;
        }
 
+       /* refresh device's multicast list */
+       ibmvnic_set_multi(netdev);
+
        /* kick napi */
        for (i = 0; i < adapter->req_rx_queues; i++)
                napi_schedule(&adapter->napi[i]);