i40e: Fix a bug where a client close can be called before an open is complete
The client->open call in this path was not protected with the client instance mutex, and hence the client->close can get initiated before the open completes. Change-Id: I0ed60c38868dd3f44966b6ed49a063d0e5b7edf5 Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
eb27163b2e
commit
3a0f52928a
drivers/net/ethernet/intel/i40e
|
@ -541,6 +541,7 @@ void i40e_client_subtask(struct i40e_pf *pf)
|
|||
client->name, pf->hw.pf_id,
|
||||
pf->hw.bus.device, pf->hw.bus.func);
|
||||
|
||||
mutex_lock(&i40e_client_instance_mutex);
|
||||
/* Send an Open request to the client */
|
||||
atomic_inc(&cdev->ref_cnt);
|
||||
if (client->ops && client->ops->open)
|
||||
|
@ -554,6 +555,7 @@ void i40e_client_subtask(struct i40e_pf *pf)
|
|||
atomic_dec(&client->ref_cnt);
|
||||
continue;
|
||||
}
|
||||
mutex_unlock(&i40e_client_instance_mutex);
|
||||
}
|
||||
mutex_unlock(&i40e_client_mutex);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue