On Thu, Nov 14, 2013 at 11:18:08AM +0300, Dan Carpenter wrote:
> The transaction task here is hp_sdc_tasklet() and it releases the lock.
> The problem is if we aren't able to queue the transaction then we need
> to release the lock ourselves.
>
> Signed-off-by: Dan Carpenter <[email protected]>
Applied, thank you.
>
> diff --git a/drivers/input/misc/hp_sdc_rtc.c b/drivers/input/misc/hp_sdc_rtc.c
> index 86b8228..45e0e3e 100644
> --- a/drivers/input/misc/hp_sdc_rtc.c
> +++ b/drivers/input/misc/hp_sdc_rtc.c
> @@ -180,7 +180,10 @@ static int64_t hp_sdc_rtc_read_i8042timer (uint8_t
> loadcmd, int numreg)
> if (WARN_ON(down_interruptible(&i8042tregs)))
> return -1;
>
> - if (hp_sdc_enqueue_transaction(&t)) return -1;
> + if (hp_sdc_enqueue_transaction(&t)) {
> + up(&i8042tregs);
> + return -1;
> + }
>
> /* Sleep until results come back. */
> if (WARN_ON(down_interruptible(&i8042tregs)))
--
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html