mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-19 12:00:00 +00:00
Input: da7280 - use guard notation when acquiring mutex and spinlock
Using guard notation makes the code more compact and error handling more robust by ensuring that locks are released in all code paths when control leaves critical section. Reviewed-by: Javier Carrasco <javier.carrasco.cruz@gmail.com> Link: https://lore.kernel.org/r/20240904044244.1042174-6-dmitry.torokhov@gmail.com Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
parent
0cc842d191
commit
1313f0ad81
@ -1263,39 +1263,37 @@ static int da7280_suspend(struct device *dev)
|
||||
{
|
||||
struct da7280_haptic *haptics = dev_get_drvdata(dev);
|
||||
|
||||
mutex_lock(&haptics->input_dev->mutex);
|
||||
guard(mutex)(&haptics->input_dev->mutex);
|
||||
|
||||
/*
|
||||
* Make sure no new requests will be submitted while device is
|
||||
* suspended.
|
||||
*/
|
||||
spin_lock_irq(&haptics->input_dev->event_lock);
|
||||
haptics->suspended = true;
|
||||
spin_unlock_irq(&haptics->input_dev->event_lock);
|
||||
scoped_guard(spinlock_irq, &haptics->input_dev->event_lock) {
|
||||
haptics->suspended = true;
|
||||
}
|
||||
|
||||
da7280_haptic_stop(haptics);
|
||||
|
||||
mutex_unlock(&haptics->input_dev->mutex);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int da7280_resume(struct device *dev)
|
||||
{
|
||||
struct da7280_haptic *haptics = dev_get_drvdata(dev);
|
||||
int retval;
|
||||
int error;
|
||||
|
||||
mutex_lock(&haptics->input_dev->mutex);
|
||||
guard(mutex)(&haptics->input_dev->mutex);
|
||||
|
||||
retval = da7280_haptic_start(haptics);
|
||||
if (!retval) {
|
||||
spin_lock_irq(&haptics->input_dev->event_lock);
|
||||
error = da7280_haptic_start(haptics);
|
||||
if (error)
|
||||
return error;
|
||||
|
||||
scoped_guard(spinlock_irq, &haptics->input_dev->event_lock) {
|
||||
haptics->suspended = false;
|
||||
spin_unlock_irq(&haptics->input_dev->event_lock);
|
||||
}
|
||||
|
||||
mutex_unlock(&haptics->input_dev->mutex);
|
||||
return retval;
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
|
Loading…
x
Reference in New Issue
Block a user