linux/drivers/pmdomain
Maíra Canal a4d0e2c416 pmdomain: bcm: bcm2835-power: Fix broken reset status read
commit 550bae2c09 upstream.

bcm2835_reset_status() has a misplaced parenthesis on every PM_READ()
call. Since PM_READ(reg) expands to readl(power->base + (reg)), the
expression:

    PM_READ(PM_GRAFX & PM_V3DRSTN)

computes the bitwise AND of the register offset PM_GRAFX with the
bitmask PM_V3DRSTN before using the result as a register offset, reading
from the wrong MMIO address instead of the intended PM_GRAFX register.
The same issue affects the PM_IMAGE cases.

Fix by moving the closing parenthesis so PM_READ() receives only the
register offset, and the bitmask is applied to the value returned by
the read.

Fixes: 670c672608 ("soc: bcm: bcm2835-pm: Add support for power domains under a new binding.")
Signed-off-by: Maíra Canal <mcanal@igalia.com>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Reviewed-by: Stefan Wahren <wahrenst@gmx.net>
Cc: stable@vger.kernel.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2026-03-19 16:08:38 +01:00
..
actions pmdomain: Use device_get_match_data() 2023-10-17 11:45:11 +02:00
amlogic pmdomain: amlogic: Add support for S6 S7 S7D power domains controller 2025-09-04 12:25:36 +02:00
apple pmdomain: apple: Add "apple,t8103-pmgr-pwrstate" 2025-09-18 21:30:56 +02:00
arm pmdomain: arm: scmi: Fix genpd leak on provider registration failure 2025-10-22 16:16:14 +02:00
bcm pmdomain: bcm: bcm2835-power: Fix broken reset status read 2026-03-19 16:08:38 +01:00
imx pmdomain: imx8m-blk-ctrl: fix out-of-range access of bc->domains 2026-02-11 13:41:41 +01:00
marvell pmdomain: marvell: Add PXA1908 power domains 2025-09-17 16:13:19 +02:00
mediatek pmdomain: mtk-pm-domains: Fix spinlock recursion fix in probe 2026-01-08 10:17:09 +01:00
qcom pmdomain: qcom: rpmpd: fix off-by-one error in clamping to the highest state 2026-02-11 13:41:41 +01:00
renesas pmdomain: renesas: rmobile-sysc: Don't keep unused PM domains powered-on 2025-09-11 12:36:55 +02:00
rockchip pmdomain: rockchip: Fix PD_VCODEC for RK3588 2026-03-19 16:08:37 +01:00
samsung pmdomain: samsung: Rework legacy splash-screen handover workaround 2025-11-04 17:16:05 +01:00
st pmdomain: st: Add a Kconfig option for the ux500 power domain 2023-10-04 23:41:56 +02:00
starfive pmdomain: starfive: Update prefixes for AON power domain 2023-10-04 23:41:57 +02:00
sunxi pmdomain: sunxi: sun20i-ppu: change to tristate and enable for ARCH_SUNXI 2025-07-15 16:04:55 +02:00
tegra pmdomain: tegra: Add GENPD_FLAG_NO_STAY_ON flag 2025-11-24 11:14:01 +01:00
thead pmdomain: thead: Fix error pointer vs NULL bug in th1520_pd_reboot_init() 2025-09-26 14:50:20 +02:00
ti pmdomain: ti-sci: Set PD on/off state according to the HW state 2025-09-12 14:27:15 +02:00
xilinx firmware/pmdomain: xilinx: Move ->sync_state() support to firmware driver 2025-07-09 13:29:25 +02:00
core.c pmdomain: core: Restore behaviour for disabling unused PM domains 2025-09-11 12:36:14 +02:00
governor.c pmdomain: governor: Consider CPU latency tolerance from pm_domain_cpu_gov 2025-07-09 12:20:12 +02:00
Kconfig pmdomain: marvell: Add PXA1908 power domains 2025-09-17 16:13:19 +02:00
Makefile pmdomain: marvell: Add PXA1908 power domains 2025-09-17 16:13:19 +02:00