aboutsummaryrefslogtreecommitdiffstats
path: root/lib/genalloc.c
diff options
context:
space:
mode:
authorMarek Roszko <[email protected]>2014-01-10 09:33:11 +0000
committerGreg Kroah-Hartman <[email protected]>2014-01-13 23:55:59 +0000
commit8bc661bfc0c2d221e209f4205bdaaf574d50100c (patch)
tree2fbd2b8a47104ebc014476530806b1afbbe2f2f5 /lib/genalloc.c
parentserial: 8250: enable UART_BUG_NOMSR for Tegra (diff)
downloadkernel-8bc661bfc0c2d221e209f4205bdaaf574d50100c.tar.gz
kernel-8bc661bfc0c2d221e209f4205bdaaf574d50100c.zip
tty/serial: at91: disable uart timer at start of shutdown
The uart timer will schedule a tasklet when it fires. It is possible that it can fire inside _shutdown before it is killed in the dma and pdc cleanup routines. This causes a tasklet that exists after the port is shutdown, so when the kernel finally executes it, it panics as the tty port is NULL. This is a somewhat rare condition but its possible if a program keeps on opening/closing the port. It has been observed in particular with systemd boot messages that were causing a kernel panic because of this behavior. Moving the timer deletion to the beginning of the function stops a tasklet from being scheduled unexpectedly. Signed-off-by: Marek Roszko <[email protected]> Cc: stable <[email protected]> # v3.12 [[email protected]: modify commit message, call setup_timer() in any case] Signed-off-by: Nicolas Ferre <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'lib/genalloc.c')
0 files changed, 0 insertions, 0 deletions