linux/drivers
Corey Minyard ad4c2aa635 Serial 8250: handle saving the clear-on-read bits from the LSR and MSR
Reading the LSR clears the break, parity, frame error, and overrun bits in
the 8250 chip, but these are not being saved in all places that read the
LSR.  Same goes for the MSR delta bits.  Save the LSR bits off whenever the
lsr is read so they can be handled later in the receive routine.  Save the
MSR bits to be handled in the modem status routine.

Also, clear the stored bits and clear the interrupt registers before
enabling interrupts, to avoid handling old values of the stored bits in the
interrupt routines.

[akpm@linux-foundation.org: clean up pre-existing code]
Signed-off-by: Corey Minyard <minyard@acm.org>
Cc: Russell King <rmk+lkml@arm.linux.org.uk>
Cc: Yinghai Lu <yinghai.lu@sun.com>
Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-08-22 19:52:44 -07:00
..
acorn/char Remove the arm26 port 2007-07-31 15:39:39 -07:00
acpi ACPI: EC: Fix "no battery" regression 2007-08-14 01:03:42 -04:00
amba
ata libata: adjust libata to ignore errors after spinup 2007-08-15 04:56:32 -04:00
atm Add some help texts to recently-introduced kconfig items 2007-08-18 09:52:50 -07:00
auxdisplay Add some help texts to recently-introduced kconfig items 2007-08-18 09:52:50 -07:00
base CPU online file permission 2007-07-31 15:39:39 -07:00
block Add some help texts to recently-introduced kconfig items 2007-08-18 09:52:50 -07:00
bluetooth [Bluetooth] Remove the redundant non-seekable llseek method 2007-07-11 06:53:45 +02:00
cdrom [BLOCK] Get rid of request_queue_t typedef 2007-07-24 09:28:11 +02:00
char tpmdd maintainers 2007-08-22 19:52:44 -07:00
clocksource x86_64: fix typo in acpi_pm.c 2007-07-21 18:37:12 -07:00
connector Use menuconfig objects: connector 2007-07-16 09:05:40 -07:00
cpufreq [CPUFREQ] Restore previously used governor on a hot-replugged CPU 2007-07-13 01:29:51 -04:00
crypto Add some help texts to recently-introduced kconfig items 2007-08-18 09:52:50 -07:00
dio
dma [IOAT]: Remove redundant struct member to avoid descriptor cache miss 2007-08-14 17:36:31 -07:00
edac drivers/edac: fix pasemi kconfig depends 2007-07-26 11:35:18 -07:00
eisa
fc4
firewire firewire: fw-core: make two variables static 2007-08-02 20:34:17 +02:00
firmware edd: switch to pci_get based API 2007-07-16 09:05:42 -07:00
hid Add some help texts to recently-introduced kconfig items 2007-08-18 09:52:50 -07:00
hwmon hwmon: (smsc47m1) restore missing name attribute 2007-08-12 14:39:44 -04:00
i2c i2c-s3c2410: Build fix 2007-08-14 18:37:15 +02:00
ide ide-disk: workaround for buggy HPA support on ST340823A (take 3) 2007-08-20 22:42:57 +02:00
ieee1394 ieee1394: sbp2: more correct Kconfig dependencies 2007-08-02 20:34:16 +02:00
infiniband IB/mlx4: Incorrect semicolon after if statement 2007-08-15 20:24:06 -07:00
input [MIPS] Fixup secure computing stuff. 2007-07-31 21:35:21 +01:00
isdn hisax: update hfc_usb driver 2007-08-21 10:14:28 -07:00
kvm KVM: Avoid calling smp_call_function_single() with interrupts disabled 2007-08-19 10:13:49 -07:00
leds leds: Convert from struct class_device to struct device 2007-07-16 01:15:51 +01:00
lguest i386: Make patching more robust, fix paravirt issue 2007-08-11 15:58:13 -07:00
macintosh Add some help texts to recently-introduced kconfig items 2007-08-18 09:52:50 -07:00
mca
md Fix remap handling by blktrace 2007-08-11 22:34:48 +02:00
media V4L/DVB (6028): Turn an unnecessary mdelay() into msleep(). 2007-08-20 12:18:05 -03:00
message Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 2007-08-06 17:48:34 -07:00
mfd some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
misc Add some help texts to recently-introduced kconfig items 2007-08-18 09:52:50 -07:00
mmc mmc: at91_mci: remove whitespace at the end of lines 2007-08-09 16:13:44 +02:00
mtd mtdchar build fix 2007-08-11 15:47:41 -07:00
net [PPP]: Fix output buffer size in ppp_decompress_frame(). 2007-08-21 20:59:35 -07:00
nubus some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
of Create drivers/of/platform.c 2007-07-20 14:25:51 +10:00
oprofile [CELL] oprofile: add support to OProfile for profiling CELL BE SPUs 2007-07-20 21:42:24 +02:00
parisc serial: add early_serial_setup() back to header file 2007-07-18 08:38:22 -07:00
parport parport_pc locking fix 2007-07-31 15:39:37 -07:00
pci pci: rename __pci_reenable_device() to pci_reenable_device() 2007-08-01 10:00:56 -04:00
pcmcia pcmcia: give socket time to power down 2007-07-31 15:39:38 -07:00
pnp ACPI: restore CONFIG_ACPI_SLEEP 2007-07-29 16:53:59 -07:00
power Don't compile the PMU power driver on 64-bit PowerPC 2007-07-23 12:42:45 +01:00
ps3 [POWERPC] PS3: Storage Driver Core 2007-06-28 19:19:20 +10:00
rapidio some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
rtc rtc-m48t59 driver NO_IRQ mode fixup 2007-07-31 15:39:44 -07:00
s390 [S390] vmur: fix reference counting for vmur device structure 2007-08-22 13:51:48 +02:00
sbus Videopix Frame Grabber: Fix unreleased lock in vfc_debug() 2007-07-31 15:39:43 -07:00
scsi Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 2007-08-06 17:48:34 -07:00
serial Serial 8250: handle saving the clear-on-read bits from the LSR and MSR 2007-08-22 19:52:44 -07:00
sh some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
sn some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
spi spidev warning fix 2007-08-11 15:47:42 -07:00
tc zs: move to the serial subsystem 2007-07-18 08:38:22 -07:00
telephony some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
uio UIO: Hilscher CIF card driver 2007-07-18 15:57:16 -07:00
usb Revert "USB: EHCI cpufreq fix" 2007-08-20 23:38:44 -07:00
video Merge master.kernel.org:/home/rmk/linux-2.6-arm 2007-08-18 10:28:21 -07:00
w1 drivers/ misc __iomem annotations 2007-07-26 11:11:57 -07:00
xen xenbus_xs.c: fix a use-after-free 2007-07-26 11:35:17 -07:00
zorro sysfs: add parameter "struct bin_attribute *" in .read/.write methods for sysfs binary attributes 2007-07-11 16:09:09 -07:00
Kconfig Begin to consolidate of_device.c 2007-07-20 13:39:59 +10:00
Makefile [WATCHDOG] Fix pcwd_init_module crash 2007-07-29 18:58:39 +00:00