linux_dsm_epyc7002/drivers/mfd
Rafael David Tinoco 6afebb70ee mfd: hi655x: Fix regmap area declared size for hi655x
Fixes https://bugs.linaro.org/show_bug.cgi?id=3903

LTP Functional tests have caused a bad paging request when triggering
the regmap_read_debugfs() logic of the device PMIC Hi6553 (reading
regmap/f8000000.pmic/registers file during read_all test):

Unable to handle kernel paging request at virtual address ffff0
[ffff00000984e000] pgd=0000000077ffe803, pud=0000000077ffd803,0
Internal error: Oops: 96000007 [#1] SMP
...
Hardware name: HiKey Development Board (DT)
...
Call trace:
 regmap_mmio_read8+0x24/0x40
 regmap_mmio_read+0x48/0x70
 _regmap_bus_reg_read+0x38/0x48
 _regmap_read+0x68/0x170
 regmap_read+0x50/0x78
 regmap_read_debugfs+0x1a0/0x308
 regmap_map_read_file+0x48/0x58
 full_proxy_read+0x68/0x98
 __vfs_read+0x48/0x80
 vfs_read+0x94/0x150
 SyS_read+0x6c/0xd8
 el0_svc_naked+0x30/0x34
Code: aa1e03e0 d503201f f9400280 8b334000 (39400000)

Investigations have showed that, when triggered by debugfs read()
handler, the mmio regmap logic was reading a bigger (16k) register area
than the one mapped by devm_ioremap_resource() during hi655x-pmic probe
time (4k).

This commit changes hi655x's max register, according to HW specs, to be
the same as the one declared in the pmic device in hi6220's dts, fixing
the issue.

Cc: <stable@vger.kernel.org> #v4.9 #v4.14 #v4.16 #v4.17
Signed-off-by: Rafael David Tinoco <rafael.tinoco@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
2018-07-27 08:13:25 +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
ab8500-debugfs.c
ab8500-gpadc.c
ab8500-sysctrl.c
abx500-core.c
ac100.c
act8945a.c
adp5520.c
altera-a10sr.c
arizona-core.c mfd: arizona: Don't use regmap_read_poll_timeout 2018-07-27 08:13:25 +01:00
arizona-i2c.c
arizona-irq.c
arizona-spi.c
arizona.h
as3711.c
as3722.c
asic3.c
atmel-flexcom.c
atmel-hlcdc.c
atmel-smc.c
axp20x-i2c.c
axp20x-rsb.c
axp20x.c
bcm590xx.c
bd9571mwv.c
cros_ec_dev.c Immutable branch (mfd, chrome) due for the v4.19 window 2018-07-27 08:11:37 +01:00
cros_ec_dev.h
cros_ec.c
cs47l24-tables.c
cs47l35-tables.c
cs47l85-tables.c
cs47l90-tables.c
cs5535-mfd.c
da903x.c
da9052-core.c
da9052-i2c.c
da9052-irq.c
da9052-spi.c
da9055-core.c
da9055-i2c.c
da9062-core.c
da9063-core.c mfd: da9063: Register RTC only on DA9063L 2018-07-04 07:17:02 +01:00
da9063-i2c.c mfd: da9063: Add DA9063L support 2018-07-04 07:17:13 +01:00
da9063-irq.c mfd: da9063: Add custom IRQ map for DA9063L 2018-07-04 07:16:57 +01:00
da9150-core.c
davinci_voicecodec.c
db8500-prcmu.c
dbx500-prcmu-regs.h
dln2.c mfd: dln2: Use irqsave() in USB's complete callback 2018-07-27 08:13:25 +01:00
dm355evm_msp.c
exynos-lpass.c
ezx-pcap.c
fsl-imx25-tsadc.c
hi655x-pmic.c mfd: hi655x: Fix regmap area declared size for hi655x 2018-07-27 08:13:25 +01:00
hi6421-pmic-core.c
htc-i2cpld.c
htc-pasic3.c
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-lpss-acpi.c
intel-lpss-pci.c mfd: intel-lpss: Add Ice Lake PCI IDs 2018-07-27 08:13:24 +01:00
intel-lpss.c
intel-lpss.h
ipaq-micro.c
janz-cmodio.c
jz4740-adc.c
Kconfig Immutable branch (mfd, chrome) due for the v4.19 window 2018-07-27 08:11:37 +01:00
kempld-core.c mfd: kempld-core: Constify variables that point to const structure 2018-07-27 08:13:24 +01:00
lm3533-core.c
lm3533-ctrlbank.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 Immutable branch (mfd, chrome) due for the v4.19 window 2018-07-27 08:11:37 +01:00
max8907.c
max8925-core.c
max8925-i2c.c
max8997-irq.c
max8997.c
max8998-irq.c
max8998.c
max14577.c
max77620.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
motorola-cpcap.c
mt6397-core.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_rpm.c
qcom-pm8xxx.c
qcom-spmi-pmic.c
rave-sp.c
rc5t583-irq.c
rc5t583.c
rdc321x-southbridge.c
retu-mfd.c
rk808.c
rn5t618.c
rt5033.c
sec-core.c
sec-irq.c
si476x-cmd.c
si476x-i2c.c
si476x-prop.c
sky81452.c
sm501.c
smsc-ece1099.c
sprd-sc27xx-spi.c
ssbi.c
sta2x11-mfd.c
stm32-lptimer.c
stm32-timers.c
stmpe-i2c.c
stmpe-spi.c
stmpe.c
stmpe.h
stw481x.c
sun4i-gpadc.c
sun6i-prcm.c
syscon.c
t7l66xb.c
tc3589x.c
tc6387xb.c
tc6393xb.c
ti_am335x_tscadc.c mfd: ti_am335x_tscadc: Fix struct clk memory leak 2018-07-27 08:13:25 +01:00
ti-lmu.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
twl4030-audio.c
twl4030-irq.c
twl4030-power.c
twl6030-irq.c
twl6040.c
twl-core.c
twl-core.h
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
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-core: Fix error path in wm8994_device_init 2018-07-27 08:13:24 +01:00
wm8994-irq.c
wm8994-regmap.c
wm8994.h
wm8997-tables.c
wm8998-tables.c