linux/drivers/power/reset
Alexander Koskovich e9667db8b1 power: reset: nvmem-reboot-mode: respect cell size for nvmem_cell_write
[ Upstream commit 36b0562922 ]

Some platforms expose reboot mode cells that are smaller than an
unsigned int, in which cases lead to write failures. Read the cell
first to determine actual size and only write the number of bytes the
cell can hold.

Fixes: 7a78a7f769 ("power: reset: nvmem-reboot-mode: use NVMEM as reboot mode write interface")
Signed-off-by: Alexander Koskovich <akoskovich@pm.me>
Link: https://patch.msgid.link/20251214191529.2470580-1-akoskovich@pm.me
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2026-03-04 07:20:17 -05:00
..
arm-versatile-reboot.c power/reset: arm-versatile: Fix refcount leak in versatile_reboot_probe 2022-06-09 21:08:38 +02:00
as3722-poweroff.c power: reset: as3722-poweroff: Use devm_register_sys_off_handler(POWER_OFF) 2024-02-13 02:17:26 +01:00
at91-poweroff.c power: reset: at91: Drop '__init' from at91_wakeup_status() 2023-12-24 23:43:10 +01:00
at91-reset.c power: reset: at91-reset: Optimize at91_reset() 2025-06-19 15:31:31 +02:00
at91-sama5d2_shdwc.c power: reset: at91: Drop '__init' from at91_wakeup_status() 2023-12-24 23:43:10 +01:00
atc260x-poweroff.c power: reset: atc260x-poweroff: Use devm_register_sys_off_handler(POWER_OFF) 2024-02-13 02:17:24 +01:00
axxia-reset.c power: reset: axxia-reset: Use devm_register_sys_off_handler(RESTART) 2024-02-13 02:17:25 +01:00
brcm-kona-reset.c power: reset: brcm-kona-reset: Use devm_register_sys_off_handler(RESTART) 2024-02-13 02:17:25 +01:00
brcmstb-reboot.c power: reset: brcmstb: Do not go into infinite loop if reset fails 2024-08-27 19:35:23 +02:00
ep93xx-restart.c power: reset: Add a driver for the ep93xx reset 2024-09-12 14:33:10 +00:00
gemini-poweroff.c power: reset: gemini-poweroff: Use devm_register_sys_off_handler(POWER_OFF) 2024-02-13 02:17:26 +01:00
gpio-poweroff.c power: reset: gpio-poweroff: make sys handler priority configurable 2023-10-13 02:22:36 +02:00
gpio-restart.c power: reset: gpio-restart: Use devm_register_sys_off_handler() 2023-12-24 22:54:01 +01:00
hisi-reboot.c power: reset: hisi-reboot: add missing MODULE_DEVICE_TABLE 2021-04-09 13:50:01 +02:00
Kconfig power: reset: ep93xx: add AUXILIARY_BUS dependency 2024-12-05 14:02:30 +01:00
keystone-reset.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
linkstation-poweroff.c power: reset: linkstation-poweroff: add new device 2021-08-13 19:16:41 +02:00
ltc2952-poweroff.c power: reset: ltc2952-poweroff: Convert to platform remove callback returning void 2023-11-15 23:15:38 +01:00
Makefile power: reset: Add a driver for the ep93xx reset 2024-09-12 14:33:10 +00:00
msm-poweroff.c power: reset: msm-poweroff: Use devm_register_sys_off_handler(RESTART) 2024-02-13 02:17:26 +01:00
mt6323-poweroff.c power: reset: mt6323-poweroff: Use devm_register_sys_off_handler(POWER_OFF) 2024-02-13 02:17:25 +01:00
nvmem-reboot-mode.c power: reset: nvmem-reboot-mode: respect cell size for nvmem_cell_write 2026-03-04 07:20:17 -05:00
ocelot-reset.c power: reset: ocelot: Convert to devm_platform_ioremap_resource() 2023-07-19 23:31:49 +02:00
odroid-go-ultra-poweroff.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
piix4-poweroff.c power: reset: piix4: add missing MODULE_DESCRIPTION() macro 2024-06-26 19:28:28 +02:00
pwr-mlxbf.c power: reset: pwr-mlxbf: support graceful shutdown 2024-08-27 19:31:19 +02:00
qcom-pon.c power: reset: qcom-pon: add support for pm8941-pon 2023-06-09 21:18:17 +02:00
qnap-poweroff.c power: reset: qnap-poweroff: Convert to platform remove callback returning void 2023-11-15 23:15:39 +01:00
reboot-mode.c power: reset: reboot-mode: Fix author email format 2019-09-02 21:05:59 +02:00
regulator-poweroff.c power: reset: regulator-poweroff: Use devm_register_sys_off_handler(POWER_OFF) 2024-02-13 02:17:26 +01:00
restart-poweroff.c power: reset: restart-poweroff: Use devm_register_sys_off_handler(POWER_OFF) 2024-02-13 02:17:26 +01:00
rmobile-reset.c power: reset: rmobile-reset: Make sysc_base2 local 2024-02-26 15:09:11 +01:00
sc27xx-poweroff.c power supply and reset changes for the v5.7 series 2020-04-05 13:47:57 -07:00
st-poweroff.c power: reset: st-poweroff: use builtin_platform_driver() to simplify code 2023-09-12 20:25:54 +02:00
syscon-poweroff.c power: reset: syscon-poweroff: Use devm_register_sys_off_handler(POWER_OFF) 2024-02-13 02:17:26 +01:00
syscon-reboot-mode.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
syscon-reboot.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
tps65086-restart.c power: reset: tps65086-restart: Remove unneeded device data struct 2024-02-13 02:17:25 +01:00
vexpress-poweroff.c power: reset: vexpress: Use device_get_match_data() 2023-10-21 00:57:55 +02:00
xgene-reboot.c power: reset: xgene-reboot: Fix a NULL vs IS_ERR() test 2024-02-21 21:13:37 +01:00