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

Commit ed119770 authored by Srinivas Pandruvada's avatar Srinivas Pandruvada Committed by Jiri Kosina
Browse files

HID: sensor-hub: correct dyn_callback_lock IRQ-safe change



Commit 0ccf091d ("HID: sensor-hub:
make dyn_callback_lock IRQ-safe) was supposed to change locks
in sensor_hub_get_callback(), but missed.

Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
parent f9d904ac
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -135,8 +135,9 @@ static struct hid_sensor_hub_callbacks *sensor_hub_get_callback(
{
	struct hid_sensor_hub_callbacks_list *callback;
	struct sensor_hub_data *pdata = hid_get_drvdata(hdev);
	unsigned long flags;

	spin_lock(&pdata->dyn_callback_lock);
	spin_lock_irqsave(&pdata->dyn_callback_lock, flags);
	list_for_each_entry(callback, &pdata->dyn_callback_list, list)
		if (callback->usage_id == usage_id &&
			(collection_index >=
@@ -145,10 +146,11 @@ static struct hid_sensor_hub_callbacks *sensor_hub_get_callback(
				callback->hsdev->end_collection_index)) {
			*priv = callback->priv;
			*hsdev = callback->hsdev;
			spin_unlock(&pdata->dyn_callback_lock);
			spin_unlock_irqrestore(&pdata->dyn_callback_lock,
					       flags);
			return callback->usage_callback;
		}
	spin_unlock(&pdata->dyn_callback_lock);
	spin_unlock_irqrestore(&pdata->dyn_callback_lock, flags);

	return NULL;
}