linux/drivers/hwmon
Guenter Roeck 2539b15d50 hwmon: (npcm750-pwm-fan) Fix crash observed when instantiating nuvoton,npcm750-pwm-fan
Commit 89fec128d5 ("hwmon: (npcm750-pwm-fan) Add NPCM8xx support")
introduced support for PWM fans on Nuvoton's npcm845 SoC. This chip
supports three PWM modules with four PWM channels each. The older npcm750
only supported two PWM modules. The commit did not take into account that
the older SoC only supported two PWM modules. This results in a crash if
npcm750 is instantiated when the code attempts to instantiate the
non-existing third PWM module.

Unable to handle kernel paging request at virtual address e0aa2000 when write
[e0aa2000] *pgd=04ab6811, *pte=00000000, *ppte=00000000
Internal error: Oops: 807 [#1] SMP ARM
Modules linked in:
CPU: 0 PID: 1 Comm: swapper/0 Tainted: G                 N 6.7.0-next-20240112-dirty #3
Hardware name: NPCM7XX Chip family
PC is at npcm7xx_pwm_fan_probe+0x204/0x890
LR is at arm_heavy_mb+0x1c/0x38

Fix the problem by detecting the number of supported PWM modules in the
probe function and only instantiating the supported modules.

Fixes: 89fec128d5 ("hwmon: (npcm750-pwm-fan) Add NPCM8xx support")
Cc: Tomer Maimon <tmaimon77@gmail.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2024-01-14 07:44:38 -08:00
..
occ
peci
pmbus hwmon: (pmbus) Add support for MPS Multi-phase mp2856/mp2857 controller 2024-01-02 08:44:57 -08:00
abituguru.c
abituguru3.c
acpi_power_meter.c
ad7314.c
ad7414.c
ad7418.c
adc128d818.c
adcxx.c
adm1021.c
adm1025.c
adm1026.c
adm1029.c
adm1031.c
adm1177.c
adm9240.c
ads7828.c
ads7871.c
adt7x10.c
adt7x10.h
adt7310.c
adt7410.c
adt7411.c
adt7462.c
adt7470.c
adt7475.c
aht10.c
amc6821.c
applesmc.c
aquacomputer_d5next.c hwmon: (aquacomputer_d5next) Remove unneeded CONFIG_DEBUG_FS #ifdef 2024-01-02 08:44:57 -08:00
as370-hwmon.c
asb100.c
asc7621.c
aspeed-pwm-tacho.c
asus-ec-sensors.c
asus_atk0110.c
asus_wmi_sensors.c
atxp1.c
axi-fan-control.c
bt1-pvt.c
bt1-pvt.h
coretemp.c
corsair-cpro.c
corsair-psu.c
da9052-hwmon.c
da9055-hwmon.c
dell-smm-hwmon.c
dme1737.c
drivetemp.c
ds620.c
ds1621.c
emc6w201.c
emc1403.c
emc2103.c
emc2305.c
f71805f.c
f71882fg.c
f75375s.c
fam15h_power.c
fschmd.c
ftsteutates.c
g760a.c
g762.c
gigabyte_waterforce.c hwmon: (gigabyte_waterforce) Mark status report as received under a spinlock 2024-01-08 07:27:27 -08:00
gl518sm.c
gl520sm.c
gpio-fan.c
gsc-hwmon.c
gxp-fan-ctrl.c
hih6130.c
hp-wmi-sensors.c
hs3001.c
hwmon-vid.c
hwmon.c
i5k_amb.c
i5500_temp.c
ibmaem.c
ibmpex.c
ibmpowernv.c
iio_hwmon.c
ina2xx.c
ina209.c
ina238.c
ina3221.c
intel-m10-bmc-hwmon.c
it87.c
jc42.c
k8temp.c
k10temp.c hwmon: (k10temp) Add support for AMD Family 19h Model 8h 2024-01-02 08:44:57 -08:00
Kconfig hwmon: Add driver for Gigabyte AORUS Waterforce AIO coolers 2024-01-02 08:44:57 -08:00
lan966x-hwmon.c
lineage-pem.c
lm63.c
lm70.c
lm73.c
lm75.c hwmon: (lm75) Fix tmp112 default config 2024-01-08 07:26:34 -08:00
lm75.h
lm77.c
lm78.c
lm80.c
lm83.c
lm85.c
lm87.c
lm90.c
lm92.c
lm93.c
lm95234.c
lm95241.c
lm95245.c
lochnagar-hwmon.c
ltc2945.c
ltc2947-core.c
ltc2947-i2c.c
ltc2947-spi.c
ltc2947.h
ltc2990.c
ltc2991.c
ltc2992.c
ltc4151.c
ltc4215.c
ltc4222.c
ltc4245.c
ltc4260.c
ltc4261.c
ltq-cputemp.c
Makefile hwmon: Add driver for Gigabyte AORUS Waterforce AIO coolers 2024-01-02 08:44:57 -08:00
max127.c
max197.c
max1111.c
max1619.c
max1668.c
max6620.c
max6621.c
max6639.c
max6642.c
max6650.c
max6697.c
max16065.c
max31722.c
max31730.c
max31760.c
max31790.c
max31827.c
mc34vr500.c
mc13783-adc.c
mcp3021.c
menf21bmc_hwmon.c
mlxreg-fan.c
mr75203.c
nct6683.c
nct6775-core.c
nct6775-i2c.c
nct6775-platform.c
nct6775.h
nct7802.c
nct7904.c
npcm750-pwm-fan.c hwmon: (npcm750-pwm-fan) Fix crash observed when instantiating nuvoton,npcm750-pwm-fan 2024-01-14 07:44:38 -08:00
nsa320-hwmon.c
ntc_thermistor.c
nzxt-kraken2.c
nzxt-smart2.c
oxp-sensors.c
pc87360.c
pc87427.c
pcf8591.c
powerz.c
powr1220.c
pwm-fan.c
raspberrypi-hwmon.c
sbrmi.c
sbtsi_temp.c
sch56xx-common.c
sch56xx-common.h
sch5627.c
sch5636.c
scmi-hwmon.c
scpi-hwmon.c
sfctemp.c
sht3x.c
sht4x.c
sht15.c
sht21.c
shtc1.c
sis5595.c
sl28cpld-hwmon.c
smpro-hwmon.c
smsc47b397.c
smsc47m1.c hwmon: (smsc47m1) Rename global platform device variable 2024-01-02 08:44:57 -08:00
smsc47m192.c
sparx5-temp.c
stts751.c
sy7636a-hwmon.c
tc74.c
tc654.c
thmc50.c
tmp102.c
tmp103.c
tmp108.c
tmp401.c
tmp421.c
tmp464.c
tmp513.c
tps23861.c
ultra45_env.c
vexpress-hwmon.c
via-cputemp.c
via686a.c
vt1211.c
vt8231.c
w83l785ts.c
w83l786ng.c
w83627ehf.c
w83627hf.c
w83773g.c
w83781d.c
w83791d.c
w83792d.c
w83793.c
w83795.c
wm831x-hwmon.c
wm8350-hwmon.c
xgene-hwmon.c