From: Michael Trimarchi Date: Fri, 15 Feb 2013 22:42:51 +0000 (-0800) Subject: Input: bma150 - fix checking pm_runtime_get_sync() return value X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=79f34d19d7d1ece9918afe079529e61f978eeebe;p=linux-beck.git Input: bma150 - fix checking pm_runtime_get_sync() return value When PM_RUNTIME is not defined, pm_runtime_get_sync() returns 1, see include/linux/pm_runtime.c::__pm_runtime_resume(), and the check of the return value was overlooking this, in this case bma150_open() would return 1 which is not expected by upper layers. Maybe the check for != -ENOSYS (Function not implemented) was meant to cover this, but pm_runtime_get_sync() does not return this value. For now fix the issue locally by checking explicitly for negative return values. Signed-off-by: Michael Trimarchi Signed-off-by: Antonio Ospite Signed-off-by: Dmitry Torokhov --- diff --git a/drivers/input/misc/bma150.c b/drivers/input/misc/bma150.c index 08ffcabd7220..e5d18946bb2e 100644 --- a/drivers/input/misc/bma150.c +++ b/drivers/input/misc/bma150.c @@ -372,7 +372,7 @@ static int bma150_open(struct bma150_data *bma150) int error; error = pm_runtime_get_sync(&bma150->client->dev); - if (error && error != -ENOSYS) + if (error < 0 && error != -ENOSYS) return error; /*