linux/kernel/power
Anders Roxell 8f74e6d516 PM: hibernate: fix sparse warnings
[ Upstream commit 01de5fcd8b ]

When building the kernel with sparse enabled 'C=1' the following
warnings shows up:

kernel/power/swap.c:390:29: warning: incorrect type in assignment (different base types)
kernel/power/swap.c:390:29:    expected int ret
kernel/power/swap.c:390:29:    got restricted blk_status_t

This is due to function hib_wait_io() returns a 'blk_status_t' which is
a bitwise u8. Commit 5416da01ff ("PM: hibernate: Remove
blk_status_to_errno in hib_wait_io") seemed to have mixed up the return
type. However, the 4e4cbee93d ("block: switch bios to blk_status_t")
actually broke the behaviour by returning the wrong type.

Rework so function hib_wait_io() returns a 'int' instead of
'blk_status_t' and make sure to call function
blk_status_to_errno(hb->error)' when returning from function
hib_wait_io() a int gets returned.

Fixes: 4e4cbee93d ("block: switch bios to blk_status_t")
Fixes: 5416da01ff ("PM: hibernate: Remove blk_status_to_errno in hib_wait_io")
Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-11-18 19:16:38 +01:00
..
Kconfig PM: sleep: remove trailing spaces and tabs 2021-06-11 18:49:09 +02:00
Makefile PM: hibernate: Split off snapshot dev option 2020-05-19 17:48:08 +02:00
autosleep.c PM: sleep: fix typos in comments 2021-04-08 19:37:21 +02:00
console.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
energy_model.c PM: EM: Fix inefficient states detection 2021-11-18 19:16:30 +01:00
hibernate.c PM: hibernate: disable when there are active secretmem users 2021-07-08 11:48:21 -07:00
main.c PM: sleep: unmark 'state' functions as kernel-doc 2021-08-16 18:49:39 +02:00
power.h kernel/power: allow hibernation with page_poison sanity checking 2020-12-15 12:13:46 -08:00
poweroff.c kernel/power: constify sysrq_key_op 2020-05-15 14:53:20 +02:00
process.c PM: sleep: remove trailing spaces and tabs 2021-06-11 18:49:09 +02:00
qos.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
snapshot.c PM: hibernate: remove leading spaces before tabs 2021-06-11 18:52:05 +02:00
suspend.c PM: sleep: s2idle: Replace deprecated CPU-hotplug functions 2021-08-04 20:18:13 +02:00
suspend_test.c PM: sleep: check RTC features instead of ops in suspend_test 2021-08-04 20:23:05 +02:00
swap.c PM: hibernate: fix sparse warnings 2021-11-18 19:16:38 +01:00
user.c block-5.10-2020-10-12 2020-10-13 12:12:44 -07:00
wakelock.c PM / wakeup: Show wakeup sources stats in sysfs 2019-08-21 00:20:40 +02:00