Skip to content

Queued TTY Patches

Alan Cox lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest76 patches 11 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/76drivers/serial/crisv10.c: add missing put_tty_driverdrivers/serial/crisv10.c+2 -00 replies
2/76drivers/char/hvc_console.c: adjust call to put_tty_driverdrivers/char/hvc_console.c+2 -20 replies
3/76coldfire: scheduled SERIAL_COLDFIRE removalDocumentation/feature-removal-schedule.txt drivers/serial/Kconfig drivers/serial/Makefile +2 more+2 -20620 replies
4/76epca: call tty_port_initdrivers/char/epca.c+1 -40 replies
5/768250: Remove NR_IRQ usagedrivers/serial/68328serial.c drivers/serial/8250.c+60 -250 replies
6/76Blackfin Serial Driver: use __initdata for data, not __initdrivers/serial/bfin_5xx.c+1 -10 replies
7/76Blackfin Serial Driver: Fix bug - should suspend/resume/remove all uart ports.drivers/serial/bfin_5xx.c+22 -170 replies
8/76Blackfin Serial Driver: trim trailing whitespace -- no functional changesdrivers/serial/bfin_5xx.c+4 -40 replies
9/76Blackfin Serial Driver: move common variables out of serial headers and into the serial driverarch/blackfin/mach-bf527/include/mach/bfin_serial_5xx.h arch/blackfin/mach-bf533/include/mach/bfin_serial_5xx.h arch/blackfin/mach-bf537/include/mach/bfin_serial_5xx.h +3 more+10 -200 replies
10/76Blackfin Serial Driver: Remove useless stopdrivers/serial/bfin_5xx.c+0 -30 replies
11/76Blackfin Serial Driver: Fix bug - Don't call tx_stop in tx_transfer.drivers/serial/bfin_5xx.c+5 -10 replies
12/76Blackfin Serial Driver: Fix bug - ircp fails on sir over Blackfin UARTarch/blackfin/mach-bf527/include/mach/bfin_serial_5xx.h arch/blackfin/mach-bf533/include/mach/bfin_serial_5xx.h arch/blackfin/mach-bf537/include/mach/bfin_serial_5xx.h +3 more+17 -00 replies
13/76Blackfin Serial Driver: Fix bug - request UART2/3 peripheral mapped interrupts in PIO modearch/blackfin/kernel/bfin_dma_5xx.c drivers/serial/bfin_5xx.c+56 -70 replies
14/76tty: move tioclinux from a special casedrivers/char/tty_io.c drivers/char/vt.c drivers/char/vt_ioctl.c+2 -60 replies
15/76uml: small cleanups and note bugs to be dealt with by uml authors...arch/um/drivers/line.c+2 -00 replies
16/76Char: merge ip2main and ip2basedrivers/char/ip2/Makefile drivers/char/ip2/ip2base.c drivers/char/ip2/ip2main.c+77 -1250 replies
17/76ip2, cleanup globalsdrivers/char/ip2/ip2main.c+7 -110 replies
18/76ip2, fix sparse warningsdrivers/char/ip2/ip2main.c+5 -90 replies
19/76ip2, init/deinit cleanupdrivers/char/ip2/i2ellis.c drivers/char/ip2/i2ellis.h drivers/char/ip2/ip2main.c+198 -2510 replies
20/76ip2: avoid add_timer with pending timerdrivers/char/ip2/ip2main.c+4 -150 replies
21/76audit: Handle embedded NUL in TTY input auditingdrivers/char/tty_audit.c+1 -10 replies
22/76serial: Make uart_port's ioport "unsigned long".include/linux/serial_core.h+1 -11 reply
23/76tty: split the buffering from tty_iodrivers/char/Makefile drivers/char/tty_buffer.c drivers/char/tty_io.c +1 more+515 -5030 replies
24/76tty: Split tty_port into its own filedrivers/char/Makefile drivers/char/tty_io.c drivers/char/tty_port.c+56 -370 replies
25/76pps: Reserve a line discipline number for PPSinclude/linux/tty.h+2 -10 replies
26/76tty: Add a kref countdrivers/char/tty_io.c include/linux/tty.h kernel/fork.c +1 more+71 -102 replies
27/76tty: use krefs to protect driver module countsdrivers/char/tty_io.c+11 -60 replies
28/76Char: cyclades. remove bogus iomapdrivers/char/cyclades.c+12 -90 replies
29/76Char: sx, fix io unmappingdrivers/char/sx.c+2 -20 replies
30/768250: remove a few inlines of dubious valuedrivers/serial/8250.c+4 -50 replies
31/76tty: Cris has a nice RS485 ioctl so we should steal itinclude/asm-x86/ioctls.h include/linux/serial.h+18 -00 replies
32/76tty: ipw need reworkingdrivers/char/pcmcia/ipwireless/tty.c+10 -90 replies
33/76tty: Add termioxdrivers/char/tty_ioctl.c include/asm-x86/ioctls.h include/linux/termios.h +2 more+87 -00 replies
34/76tty: Termios locking - sort out real_tty confusions and lock readsdrivers/char/tty_io.c drivers/char/tty_ioctl.c+39 -210 replies
35/76tty: compare the tty winsizedrivers/char/tty_io.c+1 -10 replies
36/76tty: Make get_current_tty use a krefdrivers/char/tty_io.c drivers/s390/char/fs3270.c fs/dquot.c +1 more+13 -92 replies
37/76tty: Move tty_write_message out of kernel/printkdrivers/char/tty_io.c kernel/printk.c+25 -160 replies
38/76tty: usb-serial krefsdrivers/char/tty_port.c drivers/usb/serial/aircable.c drivers/usb/serial/belkin_sa.c +34 more+313 -2083 replies
39/76tty: kref usage for isicom and moxadrivers/char/isicom.c drivers/char/moxa.c+69 -530 replies
40/76stallion: Use krefsdrivers/char/Kconfig drivers/char/istallion.c drivers/char/stallion.c+123 -930 replies
41/76mxser: Switch to kref ttydrivers/char/mxser.c+103 -890 replies
42/76tty: the vhangup syscall is racydrivers/char/tty_io.c fs/open.c+20 -20 replies
43/76tty: Redo current tty lockingdrivers/char/tty_io.c fs/dquot.c include/linux/tty.h +1 more+5 -181 reply
44/76tty: Fix abusers of current->sighand->ttykernel/acct.c kernel/auditsc.c+5 -60 replies
45/76pty: If the administrator creates a device for a ptmx slave we should not errordrivers/char/tty_io.c+12 -60 replies
46/76vt: remove bogus lock droppingdrivers/char/vt.c+0 -180 replies
47/76tty: shutdown methoddrivers/char/pty.c drivers/char/tty_io.c drivers/char/vt.c +2 more+65 -420 replies
48/76tty: Remove more special casing and out of place codedrivers/char/pty.c drivers/char/tty_io.c drivers/char/tty_ioctl.c +3 more+195 -1560 replies
49/76tty: Move parts of tty_init_dev into new functionsdrivers/char/tty_io.c+87 -520 replies
50/76tty: Clean up the tty_init_dev changes furtherdrivers/char/pty.c drivers/char/tty_io.c include/linux/tty_driver.h+81 -410 replies
51/76tty: kref the tty driver objectdrivers/char/ip2/ip2main.c drivers/char/pty.c drivers/char/tty_io.c +2 more+80 -580 replies
52/76tty: More driver operationsdrivers/char/pty.c drivers/char/tty_io.c include/linux/tty_driver.h+79 -100 replies
53/76tty: Finish fixing up the init_dev interface to use ERR_PTRdrivers/char/pty.c drivers/char/tty_io.c include/linux/tty.h+27 -350 replies
54/76tty: extract the pty init time special casesdrivers/char/pty.c drivers/char/tty_io.c include/linux/tty.h+187 -1420 replies
55/76Move tty lookup/reopen to callerdrivers/char/tty_io.c+16 -150 replies
56/76Add an instance parameter devpts interfacesdrivers/char/pty.c drivers/char/tty_io.c fs/devpts/inode.c +2 more+47 -300 replies
57/76Simplify devpts_get_tty()fs/devpts/inode.c+5 -120 replies
58/76Simplify devpts_pty_new()fs/devpts/inode.c+8 -30 replies
59/76Simplify devpts_pty_killfs/devpts/inode.c+12 -170 replies
60/76pty: Coding style and polishdrivers/char/pty.c+44 -420 replies
61/76pty: Fix allocation failure double freedrivers/char/pty.c+0 -20 replies
62/76pty: simplify unix98 allocationdrivers/char/pty.c+7 -110 replies
63/76tty: simplify ktermios allocationdrivers/char/tty_io.c drivers/serial/crisv10.c+7 -420 replies
64/76tty: some ICANON magic is in the wrong placesdrivers/bluetooth/hci_ldisc.c drivers/char/n_hdlc.c drivers/char/n_tty.c +2 more+56 -450 replies
65/76tty: Fallout from tty-move-canon-specialsdrivers/isdn/capi/capi.c drivers/isdn/gigaset/ser-gigaset.c+3 -30 replies
66/76tty: fix up gigaset a bitdrivers/isdn/gigaset/ser-gigaset.c+12 -150 replies
67/76tty: Remove lots of NULL checksdrivers/char/amiserial.c drivers/char/generic_serial.c drivers/char/istallion.c +3 more+1 -802 replies
68/76tty: Minor tidyups and document fixes for n_ttydrivers/char/n_tty.c+37 -110 replies
69/76hso: net driver using tty without lockingdrivers/net/usb/hso.c+35 -110 replies
70/76applicom: Fix an unchecked user ioctl range and an error returndrivers/char/applicom.c+2 -40 replies
71/76serial-make-uart_ports-ioport-unsigned-long-fixdrivers/serial/serial_core.c+2 -30 replies
72/76serial: allow 8250 to be used on sparcarch/sparc/include/asm/serial.h drivers/serial/8250.c drivers/serial/Kconfig +1 more+33 -70 replies
73/76serial: fix device name reporting when minor space is shared between driversdrivers/serial/8250.c drivers/serial/serial_core.c+20 -90 replies
74/76tty: tty_io.c shadows sparse fixdrivers/char/tty_io.c+4 -40 replies
75/76usb: fix pl2303 initializationdrivers/usb/serial/pl2303.c+0 -110 replies
76/76ftdi: A few errors are err() that should be debug which causes much spewagedrivers/usb/serial/ftdi_sio.c+3 -30 replies

Reviews trailers per patch

1 of 76 patches has a Reviewed-by or Acked-by.

PatchGreg Kroah-Hartman
1/76
2/76
3/76
4/76
5/76
6/76
7/76
8/76
9/76
10/76
11/76
12/76
13/76
14/76
15/76
16/76
17/76
18/76
19/76
20/76
21/76
22/76
23/76
24/76
25/76
26/76
27/76
28/76
29/76
30/76
31/76
32/76
33/76
34/76
35/76
36/76
37/76
38/76A-b
39/76
40/76
41/76
42/76
43/76
44/76
45/76
46/76
47/76
48/76
49/76
50/76
51/76
52/76
53/76
54/76
55/76
56/76
57/76
58/76
59/76
60/76
61/76
62/76
63/76
64/76
65/76
66/76
67/76
68/76
69/76
70/76
71/76
72/76
73/76
74/76
75/76
76/76

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 00/76] Queued TTY Patches

This is the patch stack waiting for 2.6.28 to open. The patches start with various queued bug fixes then move on to tackle the first stage of making the tty layer sane. These patches have been in linux-next.

The main thrust is to begin using krefs and refcounts to kill races and make the locking saner. At this point we still have BKL users but will hopefully change bit by bit.

Alan

---

Adrian Bunk (1):
coldfire: scheduled SERIAL_COLDFIRE removal

Akinobu Mita (1):
ip2: avoid add_timer with pending timer

Alan Cox (43):
ftdi: A few errors are err() that should be debug which causes much spewage
applicom: Fix an unchecked user ioctl range and an error return
hso: net driver using tty without locking
tty: Minor tidyups and document fixes for n_tty
tty: Remove lots of NULL checks
tty: fix up gigaset a bit
tty: some ICANON magic is in the wrong places
tty: simplify ktermios allocation
pty: simplify unix98 allocation
pty: Fix allocation failure double free
pty: Coding style and polish
tty: extract the pty init time special cases
tty: Finish fixing up the init_dev interface to use ERR_PTR
tty: More driver operations
tty: kref the tty driver object
tty: Clean up the tty_init_dev changes further
tty: Remove more special casing and out of place code
tty: shutdown method
vt: remove bogus lock dropping
pty: If the administrator creates a device for a ptmx slave we should not error
tty: Fix abusers of current->sighand->tty
tty: Redo current tty locking
tty: the vhangup syscall is racy
mxser: Switch to kref tty
stallion: Use krefs
tty: kref usage for isicom and moxa
tty: usb-serial krefs
tty: Move tty_write_message out of kernel/printk
tty: Make get_current_tty use a kref
tty: compare the tty winsize
tty: Termios locking - sort out real_tty confusions and lock reads
tty: Add termiox
tty: ipw need reworking
tty: Cris has a nice RS485 ioctl so we should steal it
tty: use krefs to protect driver module counts
tty: Add a kref count
pps: Reserve a line discipline number for PPS
tty: Split tty_port into its own file
tty: split the buffering from tty_io
uml: small cleanups and note bugs to be dealt with by uml authors...
tty: move tioclinux from a special case
8250: Remove NR_IRQ usage
epca: call tty_port_init

Andrew Morton (1):
serial-make-uart_ports-ioport-unsigned-long-fix

David Miller (2):
serial: allow 8250 to be used on sparc
serial: Make uart_port's ioport "unsigned long".

David S. Miller (1):
serial: fix device name reporting when minor space is shared between drivers

Graf Yang (1):
Blackfin Serial Driver: Fix bug - ircp fails on sir over Blackfin UART

Jason Wessel (2):
usb: fix pl2303 initialization
tty: tty_io.c shadows sparse fix

Jiri Slaby (6):
Char: sx, fix io unmapping
Char: cyclades. remove bogus iomap
ip2, init/deinit cleanup
ip2, fix sparse warnings
ip2, cleanup globals
Char: merge ip2main and ip2base

Julia Lawall (2):
drivers/char/hvc_console.c: adjust call to put_tty_driver drivers/serial/crisv10.c: add missing put_tty_driver

Mike Frysinger (3):
Blackfin Serial Driver: move common variables out of serial headers and into the serial driver Blackfin Serial Driver: trim trailing whitespace -- no functional changes Blackfin Serial Driver: use __initdata for data, not __init

Miloslav Trmac (1):
audit: Handle embedded NUL in TTY input auditing

Sonic Zhang (4):
Blackfin Serial Driver: Fix bug - request UART2/3 peripheral mapped interrupts in PIO mode Blackfin Serial Driver: Fix bug - Don't call tx_stop in tx_transfer. Blackfin Serial Driver: Remove useless stop
Blackfin Serial Driver: Fix bug - should suspend/resume/remove all uart ports.

Stephen Rothwell (1):
tty: Fallout from tty-move-canon-specials

Sukadev Bhattiprolu (6):
Simplify devpts_pty_kill
Simplify devpts_pty_new()
Simplify devpts_get_tty()
Add an instance parameter devpts interfaces Move tty lookup/reopen to caller
tty: Move parts of tty_init_dev into new functions

\\\"Will Newton\\\ (1):
8250: remove a few inlines of dubious value

 Documentation/feature-removal-schedule.txt         |    8 
 arch/blackfin/kernel/bfin_dma_5xx.c                |   13 
 .../mach-bf527/include/mach/bfin_serial_5xx.h      |    6 
 .../mach-bf533/include/mach/bfin_serial_5xx.h      |    4 
 .../mach-bf537/include/mach/bfin_serial_5xx.h      |    6 
 .../mach-bf548/include/mach/bfin_serial_5xx.h      |    6 
 .../mach-bf561/include/mach/bfin_serial_5xx.h      |    4 
 arch/sparc/include/asm/serial.h                    |    6 
 arch/um/drivers/line.c                             |    2 
 drivers/bluetooth/hci_ldisc.c                      |    2 
 drivers/char/Kconfig                               |    4 
 drivers/char/Makefile                              |    2 
 drivers/char/amiserial.c                           |    6 
 drivers/char/applicom.c                            |    6 
 drivers/char/cyclades.c                            |   21 
 drivers/char/epca.c                                |    5 
 drivers/char/generic_serial.c                      |   21 
 drivers/char/hvc_console.c                         |    4 
 drivers/char/ip2/Makefile                          |    2 
 drivers/char/ip2/i2ellis.c                         |   32 
 drivers/char/ip2/i2ellis.h                         |    2 
 drivers/char/ip2/ip2base.c                         |  108 -
 drivers/char/ip2/ip2main.c                         |  550 +++---
 drivers/char/isicom.c                              |   61 -
 drivers/char/istallion.c                           |  113 +
 drivers/char/moxa.c                                |   61 -
 drivers/char/mxser.c                               |  193 +-
 drivers/char/n_hdlc.c                              |    2 
 drivers/char/n_r3964.c                             |    9 
 drivers/char/n_tty.c                               |   99 +
 drivers/char/pcmcia/ipwireless/tty.c               |   19 
 drivers/char/pty.c                                 |  335 +++
 drivers/char/stallion.c                            |  139 +
 drivers/char/sx.c                                  |    4 
 drivers/char/tty_audit.c                           |    2 
 drivers/char/tty_buffer.c                          |  511 +++++
 drivers/char/tty_io.c                              | 1380 ++++----------
 drivers/char/tty_ioctl.c                           |  212 ++
 drivers/char/tty_port.c                            |   96 +
 drivers/char/vt.c                                  |   84 -
 drivers/char/vt_ioctl.c                            |    2 
 drivers/isdn/capi/capi.c                           |    2 
 drivers/isdn/gigaset/ser-gigaset.c                 |   27 
 drivers/net/usb/hso.c                              |   46 
 drivers/net/wan/Kconfig                            |    2 
 drivers/s390/char/fs3270.c                         |    3 
 drivers/serial/68328serial.c                       |   11 
 drivers/serial/8250.c                              |  123 +
 drivers/serial/Kconfig                             |   17 
 drivers/serial/Makefile                            |   16 
 drivers/serial/bfin_5xx.c                          |  123 +
 drivers/serial/crisv10.c                           |    5 
 drivers/serial/mcfserial.c                         | 1965 --------------------
 drivers/serial/mcfserial.h                         |   74 -
 drivers/serial/serial_core.c                       |   12 
 drivers/usb/serial/aircable.c                      |   15 
 drivers/usb/serial/belkin_sa.c                     |    3 
 drivers/usb/serial/console.c                       |    8 
 drivers/usb/serial/cyberjack.c                     |    3 
 drivers/usb/serial/cypress_m8.c                    |    5 
 drivers/usb/serial/digi_acceleport.c               |   19 
 drivers/usb/serial/empeg.c                         |    8 
 drivers/usb/serial/ftdi_sio.c                      |   25 
 drivers/usb/serial/garmin_gps.c                    |    3 
 drivers/usb/serial/generic.c                       |    3 
 drivers/usb/serial/io_edgeport.c                   |   43 
 drivers/usb/serial/io_ti.c                         |   26 
 drivers/usb/serial/ipaq.c                          |    3 
 drivers/usb/serial/ipw.c                           |    3 
 drivers/usb/serial/ir-usb.c                        |    3 
 drivers/usb/serial/iuu_phoenix.c                   |    3 
 drivers/usb/serial/keyspan.c                       |   77 -
 drivers/usb/serial/keyspan_pda.c                   |   16 
 drivers/usb/serial/kl5kusb105.c                    |    3 
 drivers/usb/serial/kobil_sct.c                     |    3 
 drivers/usb/serial/mct_u232.c                      |    6 
 drivers/usb/serial/mos7720.c                       |   36 
 drivers/usb/serial/mos7840.c                       |    7 
 drivers/usb/serial/navman.c                        |    3 
 drivers/usb/serial/omninet.c                       |   10 
 drivers/usb/serial/option.c                        |   18 
 drivers/usb/serial/oti6858.c                       |    3 
 drivers/usb/serial/pl2303.c                        |   15 
 drivers/usb/serial/safe_serial.c                   |   11 
 drivers/usb/serial/sierra.c                        |   16 
 drivers/usb/serial/spcp8x5.c                       |    3 
 drivers/usb/serial/ti_usb_3410_5052.c              |   44 
 drivers/usb/serial/usb-serial.c                    |   24 
 drivers/usb/serial/visor.c                         |   18 
 drivers/usb/serial/whiteheat.c                     |    8 
 fs/devpts/inode.c                                  |   66 -
 fs/dquot.c                                         |    6 
 fs/open.c                                          |    3 
 include/asm-x86/ioctls.h                           |    6 
 include/linux/devpts_fs.h                          |   31 
 include/linux/serial.h                             |   16 
 include/linux/serial_core.h                        |    2 
 include/linux/termios.h                            |   15 
 include/linux/tty.h                                |   45 
 include/linux/tty_driver.h                         |   56 +
 include/linux/vt_kern.h                            |    2 
 kernel/acct.c                                      |    2 
 kernel/auditsc.c                                   |    9 
 kernel/fork.c                                      |    5 
 kernel/printk.c                                    |   16 
 kernel/sys.c                                       |    4 
 security/selinux/hooks.c                           |    3 
 107 files changed, 2948 insertions(+), 4401 deletions(-)
 create mode 100644 arch/sparc/include/asm/serial.h
 delete mode 100644 drivers/char/ip2/ip2base.c
 create mode 100644 drivers/char/tty_buffer.c
 create mode 100644 drivers/char/tty_port.c
 delete mode 100644 drivers/serial/mcfserial.c
 delete mode 100644 drivers/serial/mcfserial.h
Signature · 1 line
Signature