i40e: register existing client on probe
authorMitch Williams <mitch.a.williams@intel.com>
Thu, 30 Mar 2017 07:46:07 +0000 (00:46 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Fri, 7 Apr 2017 03:22:28 +0000 (20:22 -0700)
In some cases, a client (i40iw) may already be present when probe is
called. Check for this, and add a client instance if necessary.

Change-ID: I2009312694b7ad81f1023919e4c6c86181f21689
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e_client.c

index d05296a7078e5eca8d81ef05e0d3b889c83d37f3..eb2896fd52a628817393fbc98ee0c6f28bb15927 100644 (file)
@@ -436,6 +436,12 @@ int i40e_lan_add_device(struct i40e_pf *pf)
                 pf->hw.pf_id, pf->hw.bus.bus_id,
                 pf->hw.bus.device, pf->hw.bus.func);
 
+       /* If a client has already been registered, we need to add an instance
+        * of it to our new LAN device.
+        */
+       if (registered_client)
+               i40e_client_add_instance(pf);
+
        /* Since in some cases register may have happened before a device gets
         * added, we can schedule a subtask to go initiate the clients if
         * they can be launched at probe time.