32f2fea6e7
of_irq_get_byname() may return a negative error number as well as 0 on
failure, while timer_irq_init() only checks for 0, blithely continuing with
the call to request_[percpu_]irq() -- those functions expect *unsigned int*,
so would probably fail anyway when a large IRQ number resulting from a
conversion of a negative error number is passed to them... This, however,
is incorrect behavior -- error number is not IRQ number.
Filter out the negative error numbers, complain, and return them to the
timer_irq_init()'s callers...
Fixes:
|
||
---|---|---|
.. | ||
acpi_pm.c | ||
arc_timer.c | ||
arm_arch_timer.c | ||
arm_global_timer.c | ||
armv7m_systick.c | ||
asm9260_timer.c | ||
bcm2835_timer.c | ||
bcm_kona_timer.c | ||
cadence_ttc_timer.c | ||
clksrc_st_lpc.c | ||
clksrc-dbx500-prcmu.c | ||
clps711x-timer.c | ||
cs5535-clockevt.c | ||
dummy_timer.c | ||
dw_apb_timer_of.c | ||
dw_apb_timer.c | ||
em_sti.c | ||
exynos_mct.c | ||
fsl_ftm_timer.c | ||
h8300_timer8.c | ||
h8300_timer16.c | ||
h8300_tpu.c | ||
i8253.c | ||
jcore-pit.c | ||
Kconfig | ||
Makefile | ||
meson6_timer.c | ||
metag_generic.c | ||
mips-gic-timer.c | ||
mmio.c | ||
mps2-timer.c | ||
mtk_timer.c | ||
mxs_timer.c | ||
nomadik-mtu.c | ||
numachip.c | ||
owl-timer.c | ||
pxa_timer.c | ||
qcom-timer.c | ||
renesas-ostm.c | ||
rockchip_timer.c | ||
samsung_pwm_timer.c | ||
scx200_hrt.c | ||
sh_cmt.c | ||
sh_mtu2.c | ||
sh_tmu.c | ||
sun4i_timer.c | ||
tango_xtal.c | ||
tcb_clksrc.c | ||
tegra20_timer.c | ||
time-armada-370-xp.c | ||
time-efm32.c | ||
time-lpc32xx.c | ||
time-orion.c | ||
time-pistachio.c | ||
timer-atlas7.c | ||
timer-atmel-pit.c | ||
timer-atmel-st.c | ||
timer-digicolor.c | ||
timer-fttmr010.c | ||
timer-imx-gpt.c | ||
timer-integrator-ap.c | ||
timer-keystone.c | ||
timer-nps.c | ||
timer-of.c | ||
timer-of.h | ||
timer-oxnas-rps.c | ||
timer-prima2.c | ||
timer-probe.c | ||
timer-sp804.c | ||
timer-sp.h | ||
timer-stm32.c | ||
timer-sun5i.c | ||
timer-ti-32k.c | ||
timer-u300.c | ||
versatile.c | ||
vf_pit_timer.c | ||
vt8500_timer.c | ||
zevio-timer.c |