kernel-fxtec-pro1x/drivers/tty/serial
Cyrille Pitchen 6fbb9bdf0f tty/serial: at91: fix error handling in atmel_serial_probe()
-EDEFER error wasn't handle properly by atmel_serial_probe().
As an example, when atmel_serial_probe() is called for the first time, we pass
the test_and_set_bit() test to check whether the port has already been
initalized. Then we call atmel_init_port(), which may return -EDEFER, possibly
returned before by clk_get(). Consequently atmel_serial_probe() used to return
this error code WITHOUT clearing the port bit in the "atmel_ports_in_use" mask.
When atmel_serial_probe() was called for the second time, it used to fail on
the test_and_set_bit() function then returning -EBUSY.

When atmel_serial_probe() fails, this patch make it clear the port bit in the
"atmel_ports_in_use" mask, if needed, before returning the error code.

Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: <stable@vger.kernel.org> # 3.12+
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 14:20:49 -08:00
..
8250 tty: serial: 8250: drop owner assignment from platform_drivers 2015-01-09 14:16:47 -08:00
cpm_uart Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
jsm serial: jsm: Fix unnecessary space before function ptr arguments 2014-11-25 17:06:38 -08:00
21285.c serial: treewide: Remove empty implementations of enable_ms() 2014-07-09 17:29:38 -07:00
68328serial.c
altera_jtaguart.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
altera_uart.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
amba-pl010.c serial: Test/disable MSIs if switching from N_PPS 2014-11-06 14:57:27 -08:00
amba-pl011.c serial: pl011: Add device tree support for RX DMA polling 2014-11-07 08:35:56 -08:00
apbuart.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
apbuart.h
ar933x_uart.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
arc_uart.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
atmel_serial.c tty/serial: at91: fix error handling in atmel_serial_probe() 2015-01-09 14:20:49 -08:00
bcm63xx_uart.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
bfin_sport_uart.c tty: pr_warning->pr_warn and logging neatening 2014-11-25 17:06:38 -08:00
bfin_sport_uart.h
bfin_uart.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
clps711x.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
crisv10.c cris: Remove obsolete ASYNC_SPLIT_TERMIOS behavior 2014-11-05 20:18:30 -08:00
crisv10.h cris: Remove obsolete ASYNC_SPLIT_TERMIOS behavior 2014-11-05 20:18:30 -08:00
dz.c serial: treewide: Remove empty implementations of enable_ms() 2014-07-09 17:29:38 -07:00
dz.h
earlycon-arm-semihost.c
earlycon.c tty/serial: earlycon: Fix print for implied MMIO case 2014-11-05 19:45:52 -08:00
efm32-uart.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
fsl_lpuart.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
icom.c serial: icom: fix error return code 2014-11-25 17:06:39 -08:00
icom.h
ifx6x60.c
ifx6x60.h
imx.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
ioc3_serial.c serial: treewide: Remove empty implementations of enable_ms() 2014-07-09 17:29:38 -07:00
ioc4_serial.c serial: treewide: Remove empty implementations of enable_ms() 2014-07-09 17:29:38 -07:00
ip22zilog.c serial: use container_of to resolve uart_ip22zilog_port from uart_port 2014-11-05 19:20:52 -08:00
ip22zilog.h
Kconfig TTY/Serial driver patches for 3.19-rc1 2014-12-14 15:23:32 -08:00
kgdb_nmi.c serial: kgdb_nmi: No CON_ENABLED by default 2014-09-08 16:26:07 -07:00
kgdboc.c
lantiq.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
lpc32xx_hs.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
m32r_sio.c serial: use container_of to resolve uart_sio_port from uart_port 2014-11-05 19:20:52 -08:00
m32r_sio.h
m32r_sio_reg.h
Makefile ARM: meson: serial: add MesonX SoC on-chip uart driver 2014-09-08 16:12:40 -07:00
max310x.c drivers/max310: Use the rs485 functions on serial_core 2014-11-06 15:00:15 -08:00
max3100.c
mcf.c serial: mcf: fix no driver name in probe output 2015-01-09 14:06:57 -08:00
men_z135_uart.c tty: serial: men_z135_uart: Add terminating entry for men_z135_ids 2014-11-25 17:06:38 -08:00
meson_uart.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
mfd.c More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
mpc52xx_uart.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
mpsc.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
mrst_max3110.c tty: pr_warning->pr_warn and logging neatening 2014-11-25 17:06:38 -08:00
mrst_max3110.h
msm_serial.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
msm_serial.h tty: serial: msm: Support sysrq on uartDM devices 2014-11-06 14:57:22 -08:00
msm_serial_hs.c More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
msm_smd_tty.c
mux.c serial: treewide: Remove empty implementations of enable_ms() 2014-07-09 17:29:38 -07:00
mxs-auart.c serial: mxs-auart: Use devm_request_irq() 2015-01-09 14:12:27 -08:00
netx-serial.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
nwpserial.c serial: Fix build failure caused by missing header file 2014-09-08 16:17:45 -07:00
of_serial.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
omap-serial.c trivial fixes for omap-serial 2015-01-09 14:10:46 -08:00
pch_uart.c pch_uart: don't hardcode PCI slot to get DMA device 2014-08-01 16:04:21 -07:00
pmac_zilog.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
pmac_zilog.h
pnx8xxx_uart.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
pxa.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
rp2.c
sa1100.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
samsung.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
samsung.h
sb1250-duart.c serial: Fix IGNBRK handling 2014-06-19 13:04:52 -07:00
sc16is7xx.c serial/sc16is7xx: Use the rs485 functions on serial_core 2014-11-06 14:59:21 -08:00
sccnxp.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
serial-tegra.c serial: tegra: clean up tty-flag assignments 2014-11-25 17:06:39 -08:00
serial_core.c serial: core: Add big-endian iotype 2014-11-25 17:06:40 -08:00
serial_ks8695.c serial: Fix IGNBRK handling 2014-06-19 13:04:52 -07:00
serial_mctrl_gpio.c serial: mctrl_gpio: use gpiod_set_array function 2014-12-02 14:25:42 +01:00
serial_mctrl_gpio.h
serial_txx9.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
sh-sci.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
sh-sci.h
sirfsoc_uart.c serial: sirf: rename marco to atlas7 2015-01-09 14:17:59 -08:00
sirfsoc_uart.h serial: sirf: rename marco to atlas7 2015-01-09 14:17:59 -08:00
sn_console.c serial: treewide: Remove empty implementations of enable_ms() 2014-07-09 17:29:38 -07:00
st-asc.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
suncore.c
sunhv.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
sunsab.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
sunsab.h
sunsu.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
sunzilog.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
sunzilog.h
tilegx.c serial: treewide: Remove empty implementations of enable_ms() 2014-07-09 17:29:38 -07:00
timbuart.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
timbuart.h
uartlite.c tty: serial: uartlite: Remove .owner field for driver 2014-09-08 16:09:13 -07:00
ucc_uart.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
vr41xx_siu.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
vt8500_serial.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
xilinx_uartps.c tty: xuartps: Add support for setting modem control signals 2014-11-06 14:57:27 -08:00
zs.c serial: Fix IGNBRK handling 2014-06-19 13:04:52 -07:00
zs.h