Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3a0f5292 authored by Anjali Singhai Jain's avatar Anjali Singhai Jain Committed by Jeff Kirsher
Browse files

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: default avatarAnjali Singhai Jain <anjali.singhai@intel.com>
Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent eb27163b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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);
}