linux/drivers/char
Alan Cox e8c62103fd tty: moxa: split open lock
moxa_openlock is used for several situations where we want to handle the
case of an ioctl that crosses many ports (not just the open tty), and also
cases where an open races a deinit (eg a pci unplug) and we hangup a port
before we can cope with that.

The non open race cases can use the moxa_lock spinlock. This simplifies sorting
out the remaining mess.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 15:18:08 -08:00
..
agp Merge branch 'bkl-drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-12-09 08:07:38 -08:00
hw_random Merge branch 'bkl-drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-12-09 08:07:38 -08:00
ip2 tty: rewrite the ldisc locking 2009-06-11 08:51:01 -07:00
ipmi sysctl: Drop & in front of every proc_handler. 2009-11-18 08:37:40 -08:00
mwave mwave: fix read buffer overflow 2009-09-24 07:21:03 -07:00
pcmcia tty: const: constify remaining tty_operations 2009-12-11 15:18:03 -08:00
rio tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
tpm tpm: autoload tpm_tis based on system PnP IDs 2009-11-03 12:05:50 +11:00
xilinx_hwicap const: constify remaining file_operations 2009-10-01 16:11:11 -07:00
.gitignore
ChangeLog
Kconfig tty: esp: remove broken driver 2009-12-11 15:18:03 -08:00
Makefile tty: esp: remove broken driver 2009-12-11 15:18:03 -08:00
amiserial.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
apm-emulation.c const: constify remaining file_operations 2009-10-01 16:11:11 -07:00
applicom.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
applicom.h
bfin-otp.c const: constify remaining file_operations 2009-10-01 16:11:11 -07:00
bfin_jtag_comm.c tty: const: constify remaining tty_operations 2009-12-11 15:18:03 -08:00
briq_panel.c
bsr.c powerpc/BSR: Fix BSR to allow mmap of small BSR on 64k kernel 2009-06-26 14:37:26 +10:00
cd1865.h
consolemap.c consolemap: indentation & braces disagree - reindent 2009-01-06 15:59:30 -08:00
cp437.uni unicode table for cp437 2008-12-13 11:25:49 -08:00
cs5535_gpio.c drivers: Remove BKL from cs5535_gpio 2009-10-14 17:36:48 +02:00
cyclades.c cyclades: fix read buffer overflow 2009-10-01 16:11:16 -07:00
defkeymap.c_shipped
defkeymap.map
digi1.h
digiFep1.h
digiPCI.h
ds1302.c
ds1620.c [ARM] netwinder: clean up GPIO naming 2008-12-13 09:12:07 +00:00
dsp56k.c
dtlk.c headers: remove sched.h from poll.h 2009-10-04 15:05:10 -07:00
efirtc.c rtc: Remove BKL from efirtc 2009-10-14 17:36:51 +02:00
epca.c tty: const: constify remaining tty_operations 2009-12-11 15:18:03 -08:00
epca.h
epcaconfig.h
generic_nvram.c nvram: Drop the bkl from nvram_llseek() 2009-10-14 17:36:49 +02:00
generic_serial.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
genrtc.c headers: Fix build after <linux/sched.h> removal 2009-10-13 10:20:16 -07:00
hangcheck-timer.c
hpet.c sysctl: Drop & in front of every proc_handler. 2009-11-18 08:37:40 -08:00
hvc_beat.c powerpc/cell: Use correct types in beat files 2009-01-08 16:25:16 +11:00
hvc_console.c hvc_console: Provide (un)locked version for hvc_resize() 2009-09-24 15:12:47 +10:00
hvc_console.h hvc_console: Provide (un)locked version for hvc_resize() 2009-09-24 15:12:47 +10:00
hvc_irq.c hvc_console: Call free_irq() only if request_irq() was successful 2009-01-13 14:48:01 +11:00
hvc_iseries.c drivers/hvc: Add missing __devexit_p() 2009-06-16 14:15:44 +10:00
hvc_iucv.c hvc_console: Provide (un)locked version for hvc_resize() 2009-09-24 15:12:47 +10:00
hvc_rtas.c
hvc_udbg.c
hvc_vio.c hvc_console: Add __init and __exit to hvc_vio 2009-08-28 14:24:11 +10:00
hvc_xen.c xen/hvc: make sure console output is always emitted, with explicit polling 2009-11-03 11:05:51 -08:00
hvcs.c Merge commit 'origin/master' into next 2009-06-18 11:16:55 +10:00
hvsi.c powerpc/hvsi: Avoid calculating possibly-invalid address 2009-08-20 10:29:28 +10:00
i8k.c i8k: Add Dell Vostro systems 2009-01-02 10:28:32 -08:00
isicom.c tty: isicom: fix deadlock on shutdown 2009-12-11 15:18:07 -08:00
istallion.c tty: istallion: tty port open/close methods 2009-12-11 15:18:06 -08:00
keyboard.c Merge commit 'v2.6.32' into next 2009-12-02 23:38:13 -08:00
lp.c
mbcs.c [IA64] mbcs: fix printk format warnings 2009-09-15 08:42:00 -07:00
mbcs.h
mem.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-12-09 19:43:33 -08:00
misc.c drivers: Remove BKL from misc_open 2009-10-14 17:33:32 +02:00
mmtimer.c
moxa.c tty: moxa: split open lock 2009-12-11 15:18:08 -08:00
moxa.h
mspec.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
mxser.c tty: mxser: Use the new locking rules to fix setserial properly 2009-12-11 15:18:07 -08:00
mxser.h
n_hdlc.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
n_r3964.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
n_tty.c n_tty: move echoctl check and clean up logic 2009-09-19 13:13:34 -07:00
nozomi.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
nsc_gpio.c
nvram.c nvram: Fix missing smp_lock.h in nvram 2009-12-09 18:53:23 -08:00
nwbutton.c
nwbutton.h
nwflash.c [ARM] netwinder: clean up GPIO naming 2008-12-13 09:12:07 +00:00
pc8736x_gpio.c drivers: Remove BKL from pc8736x_gpio 2009-10-14 17:36:52 +02:00
ppdev.c ppdev: reduce kernel log spam 2009-06-18 13:03:54 -07:00
ps3flash.c ps3flash: Always read chunks of 256 KiB, and cache them 2009-06-15 16:47:27 +10:00
pty.c sysctl: Drop & in front of every proc_handler. 2009-11-18 08:37:40 -08:00
random.c sysctl: Drop & in front of every proc_handler. 2009-11-18 08:37:40 -08:00
raw.c Driver-Core: extend devnode callbacks to provide permissions 2009-09-19 12:50:38 -07:00
riscom8.c tty: riscom8: switch to the tty_port_open API 2009-12-11 15:18:06 -08:00
riscom8.h
riscom8_reg.h
rocket.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
rocket.h tty: rocketport uses different port flags to everyone else 2009-01-02 10:19:39 -08:00
rocket_int.h tty: rocketport uses different port flags to everyone else 2009-01-02 10:19:39 -08:00
rtc.c sysctl: Drop & in front of every proc_handler. 2009-11-18 08:37:40 -08:00
scc.h m68k: atari - Rename "mfp" to "st_mfp" 2009-02-22 09:23:02 -08:00
scx200_gpio.c drivers: Remove BKL from scx200_gpio 2009-10-14 17:36:53 +02:00
selection.c tty: rewrite the ldisc locking 2009-06-11 08:51:01 -07:00
ser_a2232.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
ser_a2232.h
ser_a2232fw.ax
ser_a2232fw.h
serial167.c serial167: fix read buffer overflow 2009-10-01 16:11:16 -07:00
snsc.c
snsc.h
snsc_event.c
sonypi.c headers: Fix build after <linux/sched.h> removal 2009-10-13 10:20:16 -07:00
specialix.c specialix.c: convert nested spin_lock_irqsave to spin_lock 2009-07-20 16:38:43 -07:00
specialix_io8.h
stallion.c tty: stallion: Convert to the tty_port_open/close methods 2009-12-11 15:18:06 -08:00
sx.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
sx.h
sxboards.h
sxwindow.h
synclink.c hdlc: convert to netdev_tx_t 2009-09-01 01:13:31 -07:00
synclink_gt.c hdlc: convert to netdev_tx_t 2009-09-01 01:13:31 -07:00
synclinkmp.c hdlc: convert to netdev_tx_t 2009-09-01 01:13:31 -07:00
sysrq.c perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
tb0219.c mips: Remove BKL from tb0219 2009-10-14 17:36:53 +02:00
tlclk.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
toshiba.c
tty_audit.c tty: remove buffer special casing 2009-06-11 08:51:02 -07:00
tty_buffer.c tty: use the new 'flush_delayed_work()' helper to do ldisc flush 2009-10-14 09:20:41 -07:00
tty_io.c tty: Fix regressions caused by commit b50989dc 2009-09-27 13:35:16 -07:00
tty_ioctl.c tree-wide: fix a very frequent spelling mistake 2009-11-09 09:40:54 +01:00
tty_ldisc.c tty: Avoid dropping ldisc_mutex over hangup tty re-initialization 2009-10-03 21:44:21 -07:00
tty_port.c tty: tty_port: Add a kref object to the tty port 2009-12-11 15:18:07 -08:00
uv_mmtimer.c drivers/char/uv_mmtimer.c: add memory mapped RTC driver for UV 2009-09-24 07:21:03 -07:00
vc_screen.c vc: create vcs(a) devices for consoles 2009-07-20 16:38:43 -07:00
viotape.c tape: beyond ARRAY_SIZE of viocd_diskinfo 2009-06-02 10:32:34 +10:00
virtio_console.c virtio: let header files include virtio_ids.h 2009-10-22 16:39:28 +10:30
vme_scc.c m68k: vme_scc - Kill warn_unused_result warnings 2009-01-12 20:56:38 +01:00
vt.c vc: Add support for hiding the cursor when creating VTs 2009-11-13 15:54:27 -08:00
vt_ioctl.c vt: Fix use of "new" in a struct field 2009-11-19 13:43:06 -08:00