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 <michael@amarulasolutions.com> Signed-off-by: Antonio Ospite <ao2@amarulasolutions.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
Родитель
cd40120487
Коммит
79f34d19d7
|
@ -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;
|
||||
|
||||
/*
|
||||
|
|
Загрузка…
Ссылка в новой задаче