Andy Shevchenko
ada3805f14
mfd: intel-lpss: Fix too early PM enablement in the ACPI ->probe()
...
commit c9e143084d1a602f829115612e1ec79df3727c8b upstream.
The runtime PM callback may be called as soon as the runtime PM facility
is enabled and activated. It means that ->suspend() may be called before
we finish probing the device in the ACPI case. Hence, NULL pointer
dereference:
intel-lpss INT34BA:00: IRQ index 0 not found
BUG: kernel NULL pointer dereference, address: 0000000000000030
...
Workqueue: pm pm_runtime_work
RIP: 0010:intel_lpss_suspend+0xb/0x40 [intel_lpss]
To fix this, first try to register the device and only after that enable
runtime PM facility.
Fixes: 4b45efe852 ("mfd: Add support for Intel Sunrisepoint LPSS devices")
Reported-by: Orlando Chamberlain <redecorating@protonmail.com>
Reported-by: Aditya Garg <gargaditya08@live.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: Aditya Garg <gargaditya08@live.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20211101190008.86473-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-01-16 09:15:38 +01:00
..
88pm80x.c
88pm800.c
88pm805.c
88pm860x-core.c
88pm860x-i2c.c
aat2870-core.c
ab3100-core.c
ab3100-otp.c
ab8500-core.c
mfd: Don't use irq_create_mapping() to resolve a mapping
2021-09-22 12:26:43 +02:00
ab8500-debugfs.c
ab8500-gpadc.c
ab8500-sysctrl.c
abx500-core.c
ac100.c
act8945a.c
adp5520.c
altera-a10sr.c
altera-sysmgr.c
arizona-core.c
mfd: arizona: Ensure 32k clock is put on driver unbind and error
2020-08-21 13:05:30 +02:00
arizona-i2c.c
arizona-irq.c
mfd: arizona: Fix rumtime PM imbalance on error
2021-05-11 14:04:12 +02:00
arizona-spi.c
arizona.h
as3711.c
as3722.c
asic3.c
at91-usart.c
atmel-flexcom.c
atmel-hlcdc.c
atmel-smc.c
axp20x-i2c.c
axp20x-rsb.c
axp20x.c
mfd: axp20x: Update AXP288 volatile ranges
2021-09-22 12:26:44 +02:00
bcm590xx.c
bcm2835-pm.c
bd9571mwv.c
mfd: bd9571mwv: Use devm_mfd_add_devices()
2021-03-04 10:26:28 +01:00
cros_ec_dev.c
cs47l15-tables.c
cs47l24-tables.c
cs47l35-tables.c
cs47l85-tables.c
cs47l90-tables.c
cs47l92-tables.c
cs5535-mfd.c
da903x.c
da9052-core.c
da9052-i2c.c
mfd: da9052/stmpe: Add and modify MODULE_DEVICE_TABLE
2021-07-20 16:10:43 +02:00
da9052-irq.c
da9052-spi.c
da9055-core.c
da9055-i2c.c
da9062-core.c
mfd: da9062: Fix watchdog compatible string
2020-02-11 04:35:52 -08:00
da9063-core.c
da9063-i2c.c
da9063-irq.c
da9150-core.c
davinci_voicecodec.c
db8500-prcmu.c
mfd: db8500-prcmu: Adjust map to reality
2021-09-22 12:26:43 +02:00
dbx500-prcmu-regs.h
dln2.c
mfd: dln2: Run event handler loop under spinlock
2020-08-21 13:05:38 +02:00
dm355evm_msp.c
exynos-lpass.c
ezx-pcap.c
fsl-imx25-tsadc.c
hi655x-pmic.c
hi6421-pmic-core.c
htc-i2cpld.c
htc-pasic3.c
intel-lpss-acpi.c
mfd: intel-lpss: Fix too early PM enablement in the ACPI ->probe()
2022-01-16 09:15:38 +01:00
intel-lpss-pci.c
mfd: intel-lpss: Add Intel Tiger Lake PCH-H PCI IDs
2020-09-03 11:26:43 +02:00
intel-lpss.c
mfd: intel-lpss: Use devm_ioremap_uc for MMIO
2020-05-10 10:31:30 +02:00
intel-lpss.h
intel_msic.c
intel_quark_i2c_gpio.c
intel_soc_pmic_bxtwc.c
intel_soc_pmic_chtdc_ti.c
intel_soc_pmic_chtwc.c
intel_soc_pmic_core.c
intel_soc_pmic_core.h
intel_soc_pmic_crc.c
intel_soc_pmic_mrfld.c
ipaq-micro.c
janz-cmodio.c
Kconfig
mfd: max77650: Select REGMAP_IRQ in Kconfig
2020-02-14 16:34:19 -05:00
kempld-core.c
lm3533-core.c
lm3533-ctrlbank.c
lochnagar-i2c.c
lp873x.c
lp3943.c
lp8788-irq.c
lp8788.c
lp87565.c
lpc_ich.c
lpc_sch.c
madera-core.c
madera-i2c.c
madera-spi.c
madera.h
Makefile
max8907.c
max8925-core.c
max8925-i2c.c
max8997-irq.c
max8997.c
max8998-irq.c
max8998.c
max14577.c
max77620.c
max77650.c
max77686.c
max77693.c
max77843.c
mc13xxx-core.c
mc13xxx-i2c.c
mc13xxx-spi.c
mc13xxx.h
mcp-core.c
mcp-sa11x0.c
menelaus.c
menf21bmc.c
mfd-core.c
mfd: mfd-core: Protect against NULL call-back function pointer
2020-10-01 13:17:17 +02:00
motorola-cpcap.c
mfd: cpcap: Fix cpcap dmamask not set warnings
2021-07-20 16:10:43 +02:00
mt6397-core.c
mt6397-irq.c
mxs-lradc.c
omap-usb-host.c
omap-usb-tll.c
omap-usb.h
palmas.c
pcf50633-adc.c
pcf50633-core.c
pcf50633-gpio.c
pcf50633-irq.c
qcom-pm8xxx.c
qcom-spmi-pmic.c
qcom_rpm.c
rave-sp.c
rc5t583-irq.c
rc5t583.c
rdc321x-southbridge.c
retu-mfd.c
rk808.c
rn5t618.c
mfd: rn5t618: Mark ADC control register volatile
2020-02-11 04:35:52 -08:00
rohm-bd718x7.c
rohm-bd70528.c
rt5033.c
sec-core.c
sec-irq.c
si476x-cmd.c
si476x-i2c.c
si476x-prop.c
sky81452.c
sm501.c
mfd: sm501: Fix leaks in probe()
2020-10-29 09:57:43 +01:00
smsc-ece1099.c
sprd-sc27xx-spi.c
mfd: sprd: Add wakeup capability for PMIC IRQ
2020-11-18 19:20:26 +01:00
ssbi.c
sta2x11-mfd.c
stm32-lptimer.c
stm32-timers.c
mfd: stm32-timers: Avoid clearing auto reload register
2021-05-14 09:44:25 +02:00
stmfx.c
mfd: stmfx: Disable IRQ in suspend to avoid spurious interrupt
2020-06-24 17:50:33 +02:00
stmpe-i2c.c
mfd: da9052/stmpe: Add and modify MODULE_DEVICE_TABLE
2021-07-20 16:10:43 +02:00
stmpe-spi.c
stmpe.c
mfd: Don't use irq_create_mapping() to resolve a mapping
2021-09-22 12:26:43 +02:00
stmpe.h
stpmic1.c
stw481x.c
sun4i-gpadc.c
sun6i-prcm.c
syscon.c
t7l66xb.c
tc3589x.c
mfd: Don't use irq_create_mapping() to resolve a mapping
2021-09-22 12:26:43 +02:00
tc6387xb.c
tc6393xb.c
ti-lmu.c
ti_am335x_tscadc.c
timberdale.c
timberdale.h
tmio_core.c
tps6105x.c
tps6507x.c
tps6586x.c
tps65010.c
tps65086.c
tps65090.c
tps65217.c
tps65218.c
tps65910.c
tps65911-comparator.c
tps65912-core.c
tps65912-i2c.c
tps65912-spi.c
tps68470.c
tps80031.c
tqmx86.c
mfd: tqmx86: Clear GPIO IRQ resource when no IRQ is set
2021-09-22 12:26:44 +02:00
twl-core.c
twl-core.h
twl4030-audio.c
twl4030-irq.c
twl4030-power.c
twl6030-irq.c
twl6040.c
ucb1x00-assabet.c
ucb1x00-core.c
ucb1x00-ts.c
ucb1400_core.c
vexpress-sysreg.c
viperboard.c
vx855.c
wl1273-core.c
wm97xx-core.c
wm831x-auxadc.c
mfd: wm831x-auxadc: Prevent use after free in wm831x_auxadc_read_irq()
2021-03-04 10:26:33 +01:00
wm831x-core.c
wm831x-i2c.c
wm831x-irq.c
wm831x-otp.c
wm831x-spi.c
wm5102-tables.c
wm5110-tables.c
wm8350-core.c
wm8350-gpio.c
wm8350-i2c.c
wm8350-irq.c
wm8350-regmap.c
wm8400-core.c
wm8994-core.c
mfd: wm8994: Fix driver operation if loaded as modules
2020-06-24 17:50:16 +02:00
wm8994-irq.c
mfd: Don't use irq_create_mapping() to resolve a mapping
2021-09-22 12:26:43 +02:00
wm8994-regmap.c
wm8994.h
wm8997-tables.c
wm8998-tables.c