On Mon, Apr 18, 2016 at 09:55:40PM +0200, H. Nikolaus Schaller wrote:
returning ret is wrong. And checking for an error as well. User space may call multiple times until the work is really scheduled.
twl4030-vibra.c also ignores the return value.
Signed-off-by: H. Nikolaus Schaller hns@goldelico.com
Applied, thank you.
drivers/input/misc/twl6040-vibra.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/drivers/input/misc/twl6040-vibra.c b/drivers/input/misc/twl6040-vibra.c index 3805129..69c5940 100644 --- a/drivers/input/misc/twl6040-vibra.c +++ b/drivers/input/misc/twl6040-vibra.c @@ -212,11 +212,7 @@ static int vibra_play(struct input_dev *input, void *data, info->strong_speed = effect->u.rumble.strong_magnitude; info->direction = effect->direction < EFFECT_DIR_180_DEG ? 1 : -1;
- ret = schedule_work(&info->play_work);
- if (!ret) {
dev_info(&input->dev, "work is already on queue\n");
return ret;
- }
schedule_work(&info->play_work);
return 0;
}
2.7.3