Star64_linux/drivers/pwm
Hauke Mehrtens b39c0615d0 pwm: img: Fix null pointer access in probe
dev_get_drvdata() is called in img_pwm_runtime_resume() before the
driver data is set.
When pm_runtime_enabled() returns false in img_pwm_probe() it calls
img_pwm_runtime_resume() which results in a null pointer access.

This patch fixes the problem by setting the driver data earlier in the
img_pwm_probe() function.

This crash was seen when booting the Imagination Technologies Creator
Ci40 (Marduk) with kernel 5.4 in OpenWrt.

Fixes: e690ae5262 ("pwm: img: Add runtime PM")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
2020-09-24 09:18:13 +02:00
..
core.c pwm: Convert to use DEFINE_SEQ_ATTRIBUTE macro 2020-09-24 09:18:09 +02:00
Kconfig pwm: remove pwm-puv3 driver 2020-07-01 12:10:51 +03:00
Makefile pwm: remove pwm-puv3 driver 2020-07-01 12:10:51 +03:00
pwm-ab8500.c
pwm-atmel-hlcdc.c
pwm-atmel-tcb.c
pwm-atmel.c pwm: atmel: Implement .get_state() 2020-01-08 13:47:46 +01:00
pwm-bcm-iproc.c pwm: bcm-iproc: handle clk_get_rate() return 2020-07-30 11:27:13 +02:00
pwm-bcm-kona.c pwm: bcm-kona: Remove impossible comparison when validating duty cycle 2020-07-30 11:27:12 +02:00
pwm-bcm2835.c pwm: bcm2835: Simplify with dev_err_probe() 2020-09-24 09:18:10 +02:00
pwm-berlin.c
pwm-brcmstb.c
pwm-clps711x.c pwm: clps711x: Use 64-bit division macro 2020-06-16 11:16:08 +02:00
pwm-crc.c
pwm-cros-ec.c pwm: cros-ec: Cache duty cycle value 2019-12-09 10:05:42 +01:00
pwm-ep93xx.c
pwm-fsl-ftm.c
pwm-hibvt.c
pwm-img.c pwm: img: Fix null pointer access in probe 2020-09-24 09:18:13 +02:00
pwm-imx-tpm.c pwm: imx-tpm: Use 64-bit division macro 2020-06-16 11:16:08 +02:00
pwm-imx1.c
pwm-imx27.c pwm: imx27: Use 64-bit division macro 2020-06-16 11:16:08 +02:00
pwm-iqs620a.c pwm: iqs620a: Use lowercase hexadecimal literals for consistency 2020-06-17 20:42:59 +02:00
pwm-jz4740.c pwm: jz4740: Simplify with dev_err_probe() 2020-09-24 09:18:10 +02:00
pwm-lp3943.c
pwm-lpc18xx-sct.c
pwm-lpc32xx.c
pwm-lpss-pci.c
pwm-lpss-platform.c
pwm-lpss.c pwm: lpss: Fix get_state runtime-pm reference handling 2020-06-02 14:21:42 +02:00
pwm-lpss.h
pwm-mediatek.c pwm: mediatek: Provide missing kerneldoc description for 'soc' arg 2020-07-30 11:27:12 +02:00
pwm-meson.c pwm: meson: Remove redundant assignment to variable fin_freq 2020-04-03 21:40:56 +02:00
pwm-mtk-disp.c
pwm-mxs.c pwm: mxs: Remove unused include of of_address.h 2020-03-30 16:55:27 +02:00
pwm-omap-dmtimer.c pwm: Replace HTTP links with HTTPS ones 2020-07-30 11:27:13 +02:00
pwm-pca9685.c pwm: pca9685: Disable unused alternative addresses 2020-09-24 09:18:13 +02:00
pwm-pxa.c
pwm-rcar.c pwm: rcar: Fix late Runtime PM enablement 2020-03-30 18:03:05 +02:00
pwm-renesas-tpu.c pwm: renesas-tpu: Drop confusing registered message 2020-03-30 18:03:06 +02:00
pwm-rockchip.c pwm: rockchip: Simplify with dev_err_probe() 2020-09-24 09:18:10 +02:00
pwm-samsung.c
pwm-sifive.c pwm: sifive: Simplify with dev_err_probe() 2020-09-24 09:18:11 +02:00
pwm-spear.c
pwm-sprd.c pwm: sprd: Simplify with dev_err_probe() 2020-09-24 09:18:11 +02:00
pwm-sti.c
pwm-stm32-lp.c pwm: Convert period and duty cycle to u64 2020-06-17 20:42:11 +02:00
pwm-stm32.c pwm: stm32: Remove automatic output enable 2020-01-20 13:47:36 +01:00
pwm-stmpe.c
pwm-sun4i.c pwm: sun4i: Simplify with dev_err_probe() 2020-09-24 09:18:12 +02:00
pwm-tegra.c pwm: tegra: Support dynamic clock frequency configuration 2020-06-02 14:25:37 +02:00
pwm-tiecap.c pwm: Replace HTTP links with HTTPS ones 2020-07-30 11:27:13 +02:00
pwm-tiehrpwm.c pwm: Replace HTTP links with HTTPS ones 2020-07-30 11:27:13 +02:00
pwm-twl-led.c
pwm-twl.c
pwm-vt8500.c
pwm-zx.c
sysfs.c pwm: Convert period and duty cycle to u64 2020-06-17 20:42:11 +02:00