linux-hardened/drivers/serial
Haavard Skinnemoen 9e6077bd84 atmel_serial: fix break handling
The RXBRK field in the AT91/AT32 USART status register has the
following definition according to e.g. the AT32AP7000 data sheet:

    RXBRK: Break Received/End of Break
    0: No Break received or End of Break detected since the last RSTSTA.
    1: Break Received or End of Break detected since the last RSTSTA.

Thus, for each break, the USART sets the RXBRK bit twice. This patch
modifies the driver to report the break event to the serial core only
once by keeping track of whether a break condition is currently
active. The break_active flag is reset as soon as a character is
received, so even if we miss the start-of-break interrupt this should
do the right thing.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Cc: Andrew Victor <andrew@sanpeople.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Ivan Kuten <ivan.kuten@promwad.com>
Cc: Nicolas Ferre <nicolas.ferre@rfo.atmel.com>
Cc: Patrice Vilchez <patrice.vilchez@rfo.atmel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-16 09:05:45 -07:00
..
cpm_uart [POWERPC] CPM_UART: Removed __init from cpm_uart_init_portdesc to fix warning 2007-05-09 23:44:58 -05:00
jsm PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
8250.c serial: convert early_uart to earlycon for 8250 2007-07-16 09:05:35 -07:00
8250.h
8250_accent.c
8250_acorn.c [ARM] ecard: add ecardm_iomap() / ecardm_iounmap() 2007-05-11 17:19:02 +01:00
8250_au1x00.c
8250_boca.c
8250_early.c serial: convert early_uart to earlycon for 8250 2007-07-16 09:05:35 -07:00
8250_exar_st16c554.c [PATCH] Exar quad port serial 2006-12-07 08:39:35 -08:00
8250_fourport.c
8250_gsc.c [PARISC] Clean up asm-parisc/serial.h 2006-10-04 06:47:03 -06:00
8250_hp300.c
8250_hub6.c
8250_mca.c
8250_pci.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
8250_pnp.c [PATCH] add Fujitsu Siemens Tablet PC devices to 8250_pnp.c 2007-03-23 11:01:22 -07:00
21285.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
68328serial.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
68328serial.h
68360serial.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
amba-pl010.c [ARM] Fix 4417/1: Serial: Fix AMBA drivers locking 2007-06-05 19:39:49 +01:00
amba-pl011.c [ARM] 4417/1: Serial: Fix AMBA drivers locking 2007-05-30 14:33:01 +01:00
atmel_serial.c atmel_serial: fix break handling 2007-07-16 09:05:45 -07:00
atmel_serial.h [ARM] 4357/1: AT91: Support slower serial baud-rates 2007-05-03 14:12:45 +01:00
bfin_5xx.c Blackfin serial driver: supporting BF548-EZKIT serial port 2007-07-12 16:43:46 +08:00
clps711x.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
crisv10.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
dz.c [PATCH] dz: remove struct pt_regs references 2007-03-05 07:57:51 -08:00
dz.h [PATCH] dz: Fixes to make it work 2006-12-07 08:39:41 -08:00
icom.c icom: add new sub-device-id to support new adapter 2007-05-17 05:23:05 -07:00
icom.h do not truncate irq number for icom adapter 2007-04-24 08:23:08 -07:00
imx.c [ARM] 4328/1: Move i.MX UART regs to driver 2007-05-03 20:24:21 +01:00
ioc3_serial.c [PATCH] serial: replace kmalloc+memset with kzalloc 2007-02-14 08:09:52 -08:00
ioc4_serial.c [PATCH] serial: replace kmalloc+memset with kzalloc 2007-02-14 08:09:52 -08:00
ip22zilog.c Update zilog timeout 2007-07-16 09:05:42 -07:00
ip22zilog.h
Kconfig serial: convert early_uart to earlycon for 8250 2007-07-16 09:05:35 -07:00
m32r_sio.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
m32r_sio.h
m32r_sio_reg.h
Makefile [ARM] 4332/2: KS8695: Serial driver 2007-05-11 22:02:52 +01:00
mcfserial.c [PATCH] m68knommu: fix work queues in mcfserial.c driver 2007-03-06 18:08:38 -08:00
mcfserial.h
mpc52xx_uart.c [POWERPC] Don't shutdown TX on mpc5200 serial port if it is a console 2007-05-07 20:31:15 +10:00
mpsc.c serial: clear proper MPSC interrupt cause bits 2007-06-28 11:38:29 -07:00
mux.c Merge branch 'parisc' from /home/kyle/repos/parisc-2.6.git 2007-02-17 00:18:23 -05:00
netx-serial.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
of_serial.c Merge branch 'linux-2.6' 2007-05-08 13:37:51 +10:00
pmac_zilog.c [POWERPC] Rename device_is_compatible to of_device_is_compatible 2007-05-07 20:31:14 +10:00
pmac_zilog.h [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
pnx8xxx_uart.c [PATCH] PNX8550 UART driver 2007-02-14 08:09:52 -08:00
pxa.c [ARM] 4304/1: removes the unnecessary bit number from CKENnn_XXXX 2007-04-21 23:14:01 +01:00
s3c2410.c SPIN_LOCK_UNLOCKED cleanup in drivers/serial 2007-05-08 11:15:11 -07:00
sa1100.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
serial_core.c serial: assert DTR for serial console devices 2007-07-16 09:05:34 -07:00
serial_cs.c PCMCIA-NETDEV : add new ID of lan&modem multifunction card 2007-07-08 22:16:39 -04:00
serial_ks8695.c [ARM] 4411/1: KS8695: Another serial driver fix 2007-05-30 13:15:19 +01:00
serial_lh7a40x.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
serial_txx9.c serial_txx9: zap changelog from source code 2007-05-08 11:15:12 -07:00
sh-sci.c serial: sh-sci: Fix module clock refcount for serial console. 2007-05-07 02:11:56 +00:00
sh-sci.h sh: MS7712SE01 board support. 2007-05-07 02:10:54 +00:00
sn_console.c [PATCH] 2.6 Altix: console fix for CONFIG_DEBUG_SHIRQ usage 2007-03-08 07:39:15 -08:00
suncore.c [SPARC]: Linux always started with 9600 8N1 2007-05-29 02:50:07 -07:00
suncore.h
sunhv.c [SPARC64]: Add hypervisor API negotiation and fix console bugs. 2007-05-15 20:23:02 -07:00
sunsab.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
sunsab.h
sunsu.c [SERIAL] sunsu: Fix section mismatch warnings. 2007-05-07 00:14:13 -07:00
sunzilog.c [SERIAL] sunzilog: section mismatch fix 2007-05-29 02:49:17 -07:00
sunzilog.h [SERIAL] sunzilog: Interrupt enable before ISR handler installed 2007-05-09 13:49:04 -07:00
uartlite.c [PATCH] drivers/serial NULL noise removal 2007-02-09 09:14:06 -08:00
v850e_uart.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
vr41xx_siu.c [MIPS] separate platform_device registration for VR41xx serial interface 2007-07-12 17:41:13 +01:00