leds: flash: leds-qcom-flash: Fix registry access after re-bind
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Thu, 29 May 2025 06:33:36 +0000 (08:33 +0200)
committerLee Jones <lee@kernel.org>
Fri, 13 Jun 2025 13:41:34 +0000 (14:41 +0100)
commitfab15f57360b1e6620a1d0d6b0fbee896e6c1f07
treea106b2afe535f086d1366d782d8d67b2b8310766
parent19272b37aa4f83ca52bdf9c16d5d81bdd1354494
leds: flash: leds-qcom-flash: Fix registry access after re-bind

Driver in probe() updates each of 'reg_field' with 'reg_base':

for (i = 0; i < REG_MAX_COUNT; i++)
regs[i].reg += reg_base;

'reg_field' array (under variable 'regs' above) is statically allocated,
thus each re-bind would add another 'reg_base' leading to bogus
register addresses.  Constify the local 'reg_field' array and duplicate
it in probe to solve this.

Fixes: 96a2e242a5dc ("leds: flash: Add driver to support flash LED module in QCOM PMICs")
Cc: stable@vger.kernel.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Fenglin Wu <fenglin.wu@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250529063335.8785-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/leds/flash/leds-qcom-flash.c