)]}'
{
  "log": [
    {
      "commit": "f132c6cf77251e011e1dad0ec88c0b1fda16d5aa",
      "tree": "f04b469a3547a19b7bdbe110adc571eb71c93328",
      "parents": [
        "23016defd7db701a01dc49f972ad6b1bae9651c2",
        "3f6240f3e4e2608caf1a70d614ada658cbcbe7be"
      ],
      "author": {
        "name": "Steve Muckle",
        "email": "smuckle@codeaurora.org",
        "time": "Wed Jun 06 18:30:57 2012 -0700"
      },
      "committer": {
        "name": "Steve Muckle",
        "email": "smuckle@codeaurora.org",
        "time": "Wed Jun 06 18:45:28 2012 -0700"
      },
      "message": "Merge commit \u0027AU_LINUX_ANDROID_ICS.04.00.04.00.126\u0027 into msm-3.4\n\nAU_LINUX_ANDROID_ICS.04.00.04.00.126 from msm-3.0.\nFirst parent is from google/android-3.4.\n\n* commit \u0027AU_LINUX_ANDROID_ICS.04.00.04.00.126\u0027: (8712 commits)\n  PRNG: Device tree entry for qrng device.\n  vidc:1080p: Set video core timeout value for Thumbnail mode\n  msm: sps: improve the debugging support in SPS driver\n  board-8064 msm: Overlap secure and non secure video firmware heaps.\n  msm: clock: Add handoff ops for 7x30 and copper XO clocks\n  msm_fb: display: Wait for external vsync before DTV IOMMU unmap\n  msm: Fix ciruclar dependency in debug UART settings\n  msm: gdsc: Add GDSC regulator driver for msm-copper\n  defconfig: Enable Mobicore Driver.\n  mobicore: Add mobicore driver.\n  mobicore: rename variable to lower case.\n  mobicore: rename folder.\n  mobicore: add makefiles\n  mobicore: initial import of kernel driver\n  ASoC: msm: Add SLIMBUS_2_RX CPU DAI\n  board-8064-gpio: Update FUNC for EPM SPI CS\n  msm_fb: display: Remove chicken bit config during video playback\n  mmc: msm_sdcc: enable the sanitize capability\n  msm-fb: display: lm2 writeback support on mpq platfroms\n  msm_fb: display: Disable LVDS phy \u0026 pll during panel off\n  ...\n\nSigned-off-by: Steve Muckle \u003csmuckle@codeaurora.org\u003e\n"
    },
    {
      "commit": "8ed30f20796acdadeddadb024b3c1127d986a301",
      "tree": "c5cec59a3b7d86d83f63ca6f48d7e32034a2622b",
      "parents": [
        "aaf74ca34581feb8be797a6d8793824e73fecf67"
      ],
      "author": {
        "name": "Eric Holmberg",
        "email": "eholmber@codeaurora.org",
        "time": "Thu May 10 19:16:51 2012 -0600"
      },
      "committer": {
        "name": "Karthikeyan Ramasubramanian",
        "email": "kramasub@codeaurora.org",
        "time": "Fri May 25 16:09:10 2012 -0600"
      },
      "message": "tty: n_smux: Add SMUX TTY Line Discipline Driver\n\nAdd new Serial Multiplexer (SMUX) driver.\n\nThis driver multiplexes multiple logical channels over a single\nphysical HSUART channel using the TTY Line Discipline framework.\nThis driver will be used in Fusion 4 for control plane, data plane\nand DIAG traffic between Application processor and QSC modem.\n\nChange-Id: Ibecf6cea872f5baf11fb93ded6124243a37a2085\nSigned-off-by: Eric Holmberg \u003ceholmber@codeaurora.org\u003e\nSigned-off-by: Angshuman Sarkar \u003cangshuman@codeaurora.org\u003e\nSigned-off-by: Karthikeyan Ramasubramanian \u003ckramasub@codeaurora.org\u003e\n"
    },
    {
      "commit": "9ffc93f203c18a70623f21950f1dd473c9ec48cd",
      "tree": "1eb3536ae183b0bfbf7f5152a6fe4f430ae881c2",
      "parents": [
        "96f951edb1f1bdbbc99b0cd458f9808bb83d58ae"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Remove all #inclusions of asm/system.h\n\nRemove all #inclusions of asm/system.h preparatory to splitting and killing\nit.  Performed with the following command:\n\nperl -p -i -e \u0027s!^#\\s*include\\s*\u003casm/system[.]h\u003e.*\\n!!\u0027 `grep -Irl \u0027^#\\s*include\\s*\u003casm/system[.]h\u003e\u0027 *`\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "66d450e84ec656ec4b774c41cd8d46b3e48d51df",
      "tree": "3a2d623257ec6ac04de296fa98f8485bd4b0a3f8",
      "parents": [
        "6bbcbf22085e0b144899d6067e243dd26c0e7533"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Mon Jan 30 21:14:28 2012 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Feb 02 14:55:45 2012 -0800"
      },
      "message": "TTY: provide tty_standard_install helper\n\nThere are currently many cut\u0026paste copies of what\ntty_driver_install_tty does when custom -\u003einstall method is not\nprovided. Let\u0027s get rid of the copies and create a helper with this\nsetup code.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Havard Skinnemoen \u003chskinnemoen@google.com\u003e\nAcked-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "e9aba5158a80098447ff207a452a3418ae7ee386",
      "tree": "fb6dd19824f908746d597128d34093a301c005e7",
      "parents": [
        "a4834c102f4a46808630cad1a545cb0706b3b0a2"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Thu Jan 05 13:06:11 2012 +0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 14:01:01 2012 -0800"
      },
      "message": "tty: rework pty count limiting\n\nAfter adding devpts multiple-insrances sysctl kernel.pty.max limit pty count for\neach devpts instance independently, while kernel.pty.nr shows total pty count.\n\nThis patch restores sysctl kernel.pty.max as global limit (4096 by default),\nadds pty reseve for main devpts (mounted without \"newinstance\" argument),\nand new sysctl to tune it: kernel.pty.reserve (1024 by default)\n\nAlso it adds devpts mount option \"max\u003d%d\" to limit pty count for each devpts\ninstance independently. (by default NR_UNIX98_PTY_MAX \u003d\u003d 2^20)\n\nThus devpts instances in containers cannot eat up all available pty even if we didn\u0027t\nset any limits, while with \"max\" argument we can adjust limits more precisely.\n\nPlus, now open(\"/dev/ptmx\") return -ENOSPC in case lack of pty indexes,\nthis is more informative than -EIO.\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "593a27c4b212e2afdf772a1f8dcb894e91bda0fa",
      "tree": "6b670f6ec0ef138fcfa6e68f3b2a456f86941efd",
      "parents": [
        "dcd6c92267155e70a94b3927bce681ce74b80d1f"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Thu Jan 05 13:04:21 2012 +0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 13:56:10 2012 -0800"
      },
      "message": "tty: cleanup prohibition of direct opening for unix98 pty master\n\ncleanup hack added in v2.6.27-3203-g15582d3\n\ncomment from that patch:\n\n: pty: If the administrator creates a device for a ptmx slave we should not error\n:\n: The open path for ptmx slaves is via the ptmx device. Opening them any\n: other way is not allowed. Vegard Nossum found that previously this was not\n: the case and mknod foo c 128 42; cat foo would produce nasty diagnostics\n:\n: Signed-off-by: Alan Cox \u003calan@redhat.com\u003e\n: Signed-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n\ndevpts_get_tty() returns non-null only for inodes on devpts, but there is no\ninodes for master-devices, /dev/ptmx (/dev/pts/ptmx) is the only way to open them.\nThus we can completely forbid lookup for master-devices and eliminate that hack in\ntty_init_dev() because tty_open() will get EIO from tty_driver_lookup_tty().\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0c1f111ae7fcea822fd1c078ef48e88d93afc57a",
      "tree": "5816e47f84c99a1378563bc88b7503f974cf1f61",
      "parents": [
        "36174dd629350d0654982977d7795ca28475c16f"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Wed Oct 12 11:32:43 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 11 09:35:12 2011 -0800"
      },
      "message": "TTY: make tty_add_file non-failing\n\ncommit fa90e1c935472281de314e6d7c9a37db9cbc2e4e upstream.\n\nIf tty_add_file fails at the point it is now, we have to revert all\nthe changes we did to the tty. It means either decrease all refcounts\nif this was a tty reopen or delete the tty if it was newly allocated.\n\nThere was a try to fix this in v3.0-rc2 using tty_release in 0259894c7\n(TTY: fix fail path in tty_open). But instead it introduced a NULL\ndereference. It\u0027s because tty_release dereferences\nfilp-\u003eprivate_data, but that one is set even in our tty_add_file. And\nwhen tty_add_file fails, it\u0027s still NULL/garbage. Hence tty_release\ncannot be called there.\n\nTo circumvent the original leak (and the current NULL deref) we split\ntty_add_file into two functions, making the latter non-failing. In\nthat case we may do the former early in open, where handling failures\nis easy. The latter stays as it is now. So there is no change in\nfunctionality.\n\nThe original bug (leak) was introduced by f573bd176 (tty: Remove\n__GFP_NOFAIL from tty_add_file()). Thanks Dan for reporting this.\n\nLater, we may split tty_release into more functions and call only some\nof them in this fail path instead. (If at all possible.)\n\nIntroduced-in: v2.6.37-rc2\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nReported-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "efb8d21b2c6db3497655cc6a033ae8a9883e4063",
      "tree": "a14a0dbb9fec3a6db5e542ba7ed4a49681706420",
      "parents": [
        "3cb603284b3d256ae9ae9e65887cee8416bfef15",
        "d208a3bf77f902283894f546b6b5383202cf7882"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 15:11:09 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 15:11:09 2011 +0200"
      },
      "message": "Merge branch \u0027tty-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty\n\n* \u0027tty-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (79 commits)\n  TTY: serial_core: Fix crash if DCD drop during suspend\n  tty/serial: atmel_serial: bootconsole removed from auto-enumerates\n  Revert \"TTY: call tty_driver_lookup_tty unconditionally\"\n  tty/serial: atmel_serial: add device tree support\n  tty/serial: atmel_serial: auto-enumerate ports\n  tty/serial: atmel_serial: whitespace and braces modifications\n  tty/serial: atmel_serial: change platform_data variable name\n  tty/serial: RS485 bindings for device tree\n  TTY: call tty_driver_lookup_tty unconditionally\n  TTY: pty, release tty in all ptmx_open fail paths\n  TTY: make tty_add_file non-failing\n  TTY: drop driver reference in tty_open fail path\n  8250_pci: Fix kernel panic when pch_uart is disabled\n  h8300: drivers/serial/Kconfig was moved\n  parport_pc: release IO region properly if unsupported ITE887x card is found\n  tty: Support compat_ioctl get/set termios_locked\n  hvc_console: display printk messages on console.\n  TTY: snyclinkmp: forever loop in tx_load_dma_buffer()\n  tty/n_gsm: avoid fifo overflow in gsm_dlci_data_output\n  tty/n_gsm: fix a bug in gsm_dlci_data_output (adaption \u003d 2 case)\n  ...\n\nFix up Conflicts in:\n - drivers/tty/serial/8250_pci.c\n\tTrivial conflict with removed duplicate device ID\n - drivers/tty/serial/atmel_serial.c\n\tAnnoying silly conflict between \"specify the port num via\n\tplatform_data\" and other changes to atmel_console_init\n"
    },
    {
      "commit": "fa90e1c935472281de314e6d7c9a37db9cbc2e4e",
      "tree": "2c89c0038c640b6bdb5caaef00401f22553b118a",
      "parents": [
        "c290f8358acaeffd8e0c551ddcc24d1206143376"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Wed Oct 12 11:32:43 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 18 14:22:37 2011 -0700"
      },
      "message": "TTY: make tty_add_file non-failing\n\nIf tty_add_file fails at the point it is now, we have to revert all\nthe changes we did to the tty. It means either decrease all refcounts\nif this was a tty reopen or delete the tty if it was newly allocated.\n\nThere was a try to fix this in v3.0-rc2 using tty_release in 0259894c7\n(TTY: fix fail path in tty_open). But instead it introduced a NULL\ndereference. It\u0027s because tty_release dereferences\nfilp-\u003eprivate_data, but that one is set even in our tty_add_file. And\nwhen tty_add_file fails, it\u0027s still NULL/garbage. Hence tty_release\ncannot be called there.\n\nTo circumvent the original leak (and the current NULL deref) we split\ntty_add_file into two functions, making the latter non-failing. In\nthat case we may do the former early in open, where handling failures\nis easy. The latter stays as it is now. So there is no change in\nfunctionality.\n\nThe original bug (leak) was introduced by f573bd176 (tty: Remove\n__GFP_NOFAIL from tty_add_file()). Thanks Dan for reporting this.\n\nLater, we may split tty_release into more functions and call only some\nof them in this fail path instead. (If at all possible.)\n\nIntroduced-in: v2.6.37-rc2\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nReported-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nCc: stable \u003cstable@vger.kernel.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8193c4290620d9b2a6ac116719f11aa99053a90d",
      "tree": "68f97623f0ae19ca5e6a31fda4cda4a1abf8c880",
      "parents": [
        "361162459f62dc0826b82c9690a741a940f457f0"
      ],
      "author": {
        "name": "Thomas Meyer",
        "email": "thomas@m3y3r.de",
        "time": "Wed Oct 05 23:13:13 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 18 14:17:11 2011 -0700"
      },
      "message": "tty: Support compat_ioctl get/set termios_locked\n\nWhen running a Fedora 15 (x86) on an x86_64 kernel, in the boot process\nplymouthd complains about those two missing ioctls:\n[    2.581783] ioctl32(plymouthd:186): Unknown cmd fd(10) cmd(00005457){t:\u0027T\u0027;sz:0} arg(ffb6a5d0) on /dev/tty1\n[    2.581803] ioctl32(plymouthd:186): Unknown cmd fd(10) cmd(00005456){t:\u0027T\u0027;sz:0} arg(ffb6a680) on /dev/tty1\n\nboth ioctl functions work on the \u0027struct termios\u0027 resp. \u0027struct termios2\u0027,\nwhich has the same size (36 bytes resp. 44 bytes) on x86 and x86_64,\nso it\u0027s just a matter of converting the pointer from userland.\n\nSigned-off-by: Thomas Meyer \u003cthomas@m3y3r.de\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@google.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a38df1a01320298198c7cb2e3e8a61fc54459d6a",
      "tree": "358a4b7c1a12a3ac49fa41c9baea128de9577734",
      "parents": [
        "64da3499c911698c004a2d47fd0af6ad683a811a"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Wed Aug 10 14:59:28 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 03 11:39:49 2011 -0700"
      },
      "message": "TTY: pty, fix pty counting\n\ncommit 24d406a6bf736f7aebdc8fa0f0ec86e0890c6d24 upstream.\n\ntty_operations-\u003eremove is normally called like:\nqueue_release_one_tty\n -\u003etty_shutdown\n   -\u003etty_driver_remove_tty\n     -\u003etty_operations-\u003eremove\n\nHowever tty_shutdown() is called from queue_release_one_tty() only if\ntty_operations-\u003eshutdown is NULL. But for pty, it is not.\npty_unix98_shutdown() is used there as -\u003eshutdown.\n\nSo tty_operations-\u003eremove of pty (i.e. pty_unix98_remove()) is never\ncalled. This results in invalid pty_count. I.e. what can be seen in\n/proc/sys/kernel/pty/nr.\n\nI see this was already reported at:\n  https://lkml.org/lkml/2009/11/5/370\nBut it was not fixed since then.\n\nThis patch is kind of a hackish way. The problem lies in -\u003einstall. We\nallocate there another tty (so-called tty-\u003elink). So -\u003einstall is\ncalled once, but -\u003eremove twice, for both tty and tty-\u003elink. The fix\nhere is to count both tty and tty-\u003elink and divide the count by 2 for\nuser.\n\nAnd to have -\u003eremove called, let\u0027s make tty_driver_remove_tty() global\nand call that from pty_unix98_shutdown() (tty_operations-\u003eshutdown).\n\nWhile at it, let\u0027s document that when -\u003eshutdown is defined,\ntty_shutdown() is not called.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a57a7bf3fc7eff00f07eb9c805774d911a3f2472",
      "tree": "e69628dba2da099c90bdff8bac4644d2f76b3e4b",
      "parents": [
        "bafb0bd24d7e0e0124318625b239a55d58c757a2"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Thu Aug 25 15:12:06 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 25 09:00:40 2011 -0700"
      },
      "message": "TTY: define tty_wait_until_sent_from_close\n\nWe need this helper to fix system stalls. The issue is that the rest\nof the system TTYs wait for us to finish waiting. This wasn\u0027t an issue\nwith BKL. BKL used to unlock implicitly.\n\nThis is based on the Arnd suggestion.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "906cbe1364d94da7cbf74c1d05e3e78b2883f661",
      "tree": "fca513a03781a2d0e2ac518aab13c8d528a0468c",
      "parents": [
        "eff4b0b9fe37873d3dc7ade0e08e6f0f89279b8b"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Thu Jul 14 14:35:14 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 23 10:34:07 2011 -0700"
      },
      "message": "TTY: remove tty_locked\n\nWe used it really only serial and ami_serial. The rest of the\ncallsites were BUG/WARN_ONs to check if BTM is held. Now that we\npruned tty_locked from both of the real users, we can get rid of\ntty_lock along with __big_tty_mutex_owner.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "24d406a6bf736f7aebdc8fa0f0ec86e0890c6d24",
      "tree": "3dfb2053f7785508304fd29d6c1bb6e6a42a7d5c",
      "parents": [
        "dbb3b1ca5609d1f3848cd387d06cc60aaacf7f98"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Wed Aug 10 14:59:28 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 23 10:10:38 2011 -0700"
      },
      "message": "TTY: pty, fix pty counting\n\ntty_operations-\u003eremove is normally called like:\nqueue_release_one_tty\n -\u003etty_shutdown\n   -\u003etty_driver_remove_tty\n     -\u003etty_operations-\u003eremove\n\nHowever tty_shutdown() is called from queue_release_one_tty() only if\ntty_operations-\u003eshutdown is NULL. But for pty, it is not.\npty_unix98_shutdown() is used there as -\u003eshutdown.\n\nSo tty_operations-\u003eremove of pty (i.e. pty_unix98_remove()) is never\ncalled. This results in invalid pty_count. I.e. what can be seen in\n/proc/sys/kernel/pty/nr.\n\nI see this was already reported at:\n  https://lkml.org/lkml/2009/11/5/370\nBut it was not fixed since then.\n\nThis patch is kind of a hackish way. The problem lies in -\u003einstall. We\nallocate there another tty (so-called tty-\u003elink). So -\u003einstall is\ncalled once, but -\u003eremove twice, for both tty and tty-\u003elink. The fix\nhere is to count both tty and tty-\u003elink and divide the count by 2 for\nuser.\n\nAnd to have -\u003eremove called, let\u0027s make tty_driver_remove_tty() global\nand call that from pty_unix98_shutdown() (tty_operations-\u003eshutdown).\n\nWhile at it, let\u0027s document that when -\u003eshutdown is defined,\ntty_shutdown() is not called.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ae92c1f5e7b6708371365d262625ac19e67c1e79",
      "tree": "74843691f724fcdd2ceeb04a83aff72847d5d61d",
      "parents": [
        "0e2adc06843a9b5a28af4ca5f796240297907897"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "ffainelli@freebox.fr",
        "time": "Tue May 24 10:43:03 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jun 07 09:37:01 2011 -0700"
      },
      "message": "TTY: export NR_LDISC and N_* line discipline numbers to user-space\n\nSince commit (4564f9e5: consolidate line discipline number definitions)\nthe patch moved all line discipline number from a per-architecture termios.h\nto a shared one: tty.h. However, prior to this consolidation work, the\nline discipline numbers were outside of an ifdef __KERNEL__/endif block\nso these numbers used to be exported to user-space.\n\nSince such numbers are kernel ABI anyway, and tty.h is already included\nfor user- space header processing, just move these relevant defines\noutside of the ifdef __KERNEL__/endif block in include/linux/tty.h.\n\nCC: Maxime Bizon \u003cmbizon@freebox.fr\u003e\nSigned-off-by: Florian Fainelli \u003cffainelli@freebox.fr\u003e\nAcked-by: Tilman Schmidt \u003ctilman@imap.cc\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ee4f6b4b89665b92ead67deaa2e5d2ffa1af2b5f",
      "tree": "adaaf31efc06fe2960827cba1510855bea6ea3d3",
      "parents": [
        "0b61d2acb1ea48d8eba798ed92759b7f1b0f4209"
      ],
      "author": {
        "name": "J Freyensee",
        "email": "james_p_freyensee@linux.intel.com",
        "time": "Fri May 06 16:56:50 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 13 16:31:00 2011 -0700"
      },
      "message": "n_tracerouter and n_tracesink ldisc additions.\n\nThe n_tracerouter and n_tracesink line discpline drivers use the\nLinux tty line discpline framework to route trace data coming\nfrom a tty port (say UART for example) to the trace sink line\ndiscipline driver and to another tty port(say USB).  Those\nthese two line discipline drivers can be used together,\nindependently from pti.c, they are part of the original\nimplementation solution of the MIPI P1149.7, compact JTAG, PTI\nsolution for Intel mobile platforms starting with the\nMedfield platform.\n\nSigned-off-by: J Freyensee \u003cjames_p_freyensee@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6716671d8c1c07a8072098764d1b7cbfef7412ad",
      "tree": "7aa2e138fb9565ffd37591bfe1887b379f57dfd7",
      "parents": [
        "c18d77aa00cde1215d9e045ba8f93004fe843f38"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Wed Mar 23 10:48:35 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Apr 19 14:43:01 2011 -0700"
      },
      "message": "TTY: introduce deinit helpers for proper ldisc shutdown\n\nIntroduce deinitialize_tty_struct which should be called after\ninitialize_tty_struct and before successfull tty_ldisc_setup.\n\nIt calls tty_ldisc_deinit which is opposite of tty_ldisc_init. It only\nputs a reference to ldisc and assigns NULL to tty-\u003eldisc.\n\nIt will be used to shut down ldisc when tty_release cannot be called\nyet.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "f23eb2b2b28547fc70df82dd5049eb39bec5ba12",
      "tree": "144dce462b34d8a232a06f766786ebfb0235fa87",
      "parents": [
        "f741a79e982cf56d7584435bad663553ffe6715f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 16:17:32 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 16:17:32 2011 -0700"
      },
      "message": "tty: stop using \"delayed_work\" in the tty layer\n\nUsing delayed-work for tty flip buffers ends up causing us to wait for\nthe next tick to complete some actions.  That\u0027s usually not all that\nnoticeable, but for certain latency-critical workloads it ends up being\ntotally unacceptable.\n\nAs an extreme case of this, passing a token back-and-forth over a pty\nwill take two ticks per iteration, so even just a thousand iterations\nwill take 8 seconds assuming a common 250Hz configuration.\n\nAvoiding the whole delayed work issue brings that ping-pong test-case\ndown to 0.009s on my machine.\n\nIn more practical terms, this latency has been a performance problem for\nthings like dive computer simulators (simulating the serial interface\nusing the ptys) and for other environments (Alan mentions a CP/M emulator).\n\nReported-by: Jef Driesen \u003cjefdriesen@telenet.be\u003e\nAcked-by: Greg KH \u003cgregkh@suse.de\u003e\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d075b199b9a66ad90296f898f1f15c0ae1511b8",
      "tree": "2189c77c61210a4d24608f3fb49daf0bd6309f64",
      "parents": [
        "94c2273d6c1b65eaaf2a6446c7147bdf6e5ae924"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Feb 14 16:27:53 2011 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 17 12:03:52 2011 -0800"
      },
      "message": "tty: add a helper for setting termios data from kernel side\n\nThis basically encapsulates the small bit of locking knowledge needed. While\nwe are at it make sure we blow up on any more abusers and unsafe misuses of\nioctl for this kind of stuff.\n\nWe change the function to return an argument as at some point it needs to\nhonour the POSIX \u0027I asked for changes but got none of them\u0027 error reporting\ncorner case.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "94c2273d6c1b65eaaf2a6446c7147bdf6e5ae924",
      "tree": "d95044379346dc5540f4c3079a1551429704c904",
      "parents": [
        "6caa76b7786891b42b66a0e61e2c2fff2c884620"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 17 12:02:51 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 17 12:02:51 2011 -0800"
      },
      "message": "tty: fix build error in vt_ioctl.c if CONFIG_COMPAT is enabled\n\nThis was caused by the previous patch to remove the file pointer\nfrom the tty ioctl handler.\n\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6caa76b7786891b42b66a0e61e2c2fff2c884620",
      "tree": "eb6e387e080a44680d6d8686999336e69ec97e71",
      "parents": [
        "00a0d0d65b61241a718d0aee96f46b9a2d93bf26"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Feb 14 16:27:22 2011 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 17 11:59:56 2011 -0800"
      },
      "message": "tty: now phase out the ioctl file pointer for good\n\nOnly oddities here are a couple of drivers that bogusly called the ldisc\nhelpers instead of returning -ENOIOCTLCMD. Fix the bug and the rest goes\naway.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "eed5ee1a3ab3020168cd67fdde2500452b0628c9",
      "tree": "9548c5a4851b1a1e832b7800baf1e72b33bc7a66",
      "parents": [
        "435a5aebf609624bdf7c5a9a7705c260d0076195",
        "a5880a9e5bb40fbae55de60051d69a29091053c3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 02 12:58:16 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 02 12:58:16 2010 -0800"
      },
      "message": "Merge branch \u0027tty-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6\n\n* \u0027tty-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:\n  serial: mfd: adjust the baud rate setting\n  TTY: open/hangup race fixup\n  TTY: don\u0027t allow reopen when ldisc is changing\n  NET: wan/x25, fix ldisc-\u003eopen retval\n  TTY: ldisc, fix open flag handling\n  serial8250: Mark console as CON_ANYTIME\n"
    },
    {
      "commit": "acfa747baf73922021a047f2d87a2d866f5dbab5",
      "tree": "f47037d4c02341a9e4102eddd7dc6c774e6b439d",
      "parents": [
        "e2efafbf139d2bfdfe96f2901f03189fecd172e4"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Mon Nov 29 10:16:54 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Nov 29 14:52:48 2010 -0800"
      },
      "message": "TTY: open/hangup race fixup\n\nLike in the \"TTY: don\u0027t allow reopen when ldisc is changing\" patch,\nthis one fixes a TTY WARNING as described in the option 1) there:\n1) __tty_hangup from tty_ldisc_hangup to tty_ldisc_enable. During this\nsection tty_lock is held. However tty_lock is temporarily dropped in\nthe middle of the function by tty_ldisc_hangup.\n\nThe fix is to introduce a new flag which we set during the unlocked\nwindow and check it in tty_reopen too. The flag is TTY_HUPPING and is\ncleared after TTY_HUPPED is set.\n\nWhile at it, remove duplicate TTY_HUPPED set_bit. The one after\ncalling ops-\u003ehangup seems to be more correct. But anyway, we hold\ntty_lock, so there should be no difference.\n\nAlso document the function it does that kind of crap.\n\nNicely reproducible with two forked children:\nstatic void do_work(const char *tty)\n{\n\tif (signal(SIGHUP, SIG_IGN) \u003d\u003d SIG_ERR) exit(1);\n\tsetsid();\n\twhile (1) {\n\t\tint fd \u003d open(tty, O_RDWR|O_NOCTTY);\n\t\tif (fd \u003c 0) continue;\n\t\tif (ioctl(fd, TIOCSCTTY)) continue;\n\t\tif (vhangup()) continue;\n\t\tclose(fd);\n\t}\n\texit(0);\n}\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nReported-by: \u003cValdis.Kletnieks@vt.edu\u003e\nReported-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "451a3c24b0135bce54542009b5fde43846c7cf67",
      "tree": "f0fbbcc155aef2a1ffcb8aa593fe7a966d0e6900",
      "parents": [
        "55f6561c6941713ab5ae9180525b026dd40b7d14"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Nov 17 16:26:55 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 17 08:59:32 2010 -0800"
      },
      "message": "BKL: remove extraneous #include \u003csmp_lock.h\u003e\n\nThe big kernel lock has been removed from all these files at some point,\nleaving only the #include.\n\nRemove this too as a cleanup.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "65f8e441ed3c31c456aa70db1fbe50fb42079375",
      "tree": "34a4ba481948f23c2583f9e9b787b163a466e14d",
      "parents": [
        "3da39bca44d285d87e4a886c6de84e57bd8ef3bf"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Tue Nov 09 10:48:25 2010 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Nov 09 14:36:23 2010 -0800"
      },
      "message": "tty: Fix formatting in tty.h\n\nSomeone added a new ldisc number and messed up the tabbing. Fix it before\nanyone else copies it.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "3c80fe4ac9cfb13b1bfa4edf1544e8b656716694",
      "tree": "c605435b642323cd76eea9567a43d8c67b9c9db1",
      "parents": [
        "f7a998a9491f2da1d3e44d150aa611d10093da4f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 09 14:19:31 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 30 08:45:25 2010 -0400"
      },
      "message": "audit: Call tty_audit_push_task() outside preempt disabled\n\nWhile auditing all tasklist_lock read_lock sites I stumbled over the\nfollowing call chain:\n\naudit_prepare_user_tty()\n  read_lock(\u0026tasklist_lock);\n  tty_audit_push_task();\n     mutex_lock(\u0026buf-\u003emutex);\n\n     --\u003e buf-\u003emutex is locked with preemption disabled.\n\nSolve this by acquiring a reference to the task struct under\nrcu_read_lock and call tty_audit_push_task outside of the preempt\ndisabled region.\n\nMove all code which needs to be protected by sighand lock into\ntty_audit_push_task() and use lock/unlock_sighand as we do not hold\ntasklist_lock.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e4c5bf8e3dca827a1b3a6fac494eae8c74b7e1e7",
      "tree": "ea51b391f7d74ca695dcb9f5e46eb02688a92ed9",
      "parents": [
        "81280572ca6f54009edfa4deee563e8678784218",
        "a4ac0d847af9dd34d5953a5e264400326144b6b2"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 28 09:44:56 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 28 09:44:56 2010 -0700"
      },
      "message": "Merge \u0027staging-next\u0027 to Linus\u0027s tree\n\nThis merges the staging-next tree to Linus\u0027s tree and resolves\nsome conflicts that were present due to changes in other trees that were\naffected by files here.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "f573bd1764f0f3f47754ca1ae7b2eb2909798a60",
      "tree": "bfc4c03b38bc74bb29dbacce212fe2efc802eb46",
      "parents": [
        "8a28af7f7e42cd0f107e0d84e4ece89e7ef24d3f"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Tue Aug 24 07:48:34 2010 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 22 10:19:58 2010 -0700"
      },
      "message": "tty: Remove __GFP_NOFAIL from tty_add_file()\n\nThis patch removes __GFP_NOFAIL use from tty_add_file() and adds proper error\nhandling to the call-sites of the function.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "30004ac9c090dcdcca99556b4587b3bad828731a",
      "tree": "bf8931378abc6912d7e08f2d870d3ac058e78e83",
      "parents": [
        "f6f94e2ab1b33f0082ac22d71f66385a60d8157f"
      ],
      "author": {
        "name": "Dmitry Eremin-Solenikov",
        "email": "dbaryshkov@gmail.com",
        "time": "Mon Aug 09 18:22:49 2010 +0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 22 10:19:56 2010 -0700"
      },
      "message": "tty: add tty_struct-\u003edev pointer to corresponding device instance\n\nSome device drivers (mostly tty line disciplines) would like to have way\nknow a struct device instance corresponding to passed tty_struct. Add\na struct device pointer to struct tty_struct and populate it during\ninitialize_tty_struct().\n\nSigned-off-by: Dmitry Eremin-Solenikov \u003cdbaryshkov@gmail.com\u003e\nAcked-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "40fb29a777d23b1161271ec88fd21739835e4f6a",
      "tree": "d35dce49cd0ed9e02bb53e59401c8b9597939ba1",
      "parents": [
        "7e24cce38a99f373450db67bf576fe73e8168d66"
      ],
      "author": {
        "name": "Pavan Savoy",
        "email": "pavan_savoy@ti.com",
        "time": "Thu Sep 30 16:13:28 2010 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 05 11:48:07 2010 -0700"
      },
      "message": "tty.h: new ldisc for TI WiLink ST\n\nTexas Instrument\u0027s WiLink7 connectivity devices pack wireless connectivity\ntechnologies like Bluetooth, FM Radio Receiver and Transmitter, GPS and WLAN\ninto a single die.\nThe BT, FM and GPS core on the chip are interfaced to application\nprocessors via a single UART.\n\nThis line discipline driver allows such different technologies to be used\nsimultaneous and independent of each other.\nSigned-off-by: Pavan Savoy \u003cpavan_savoy@ti.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "d996b62a8df1d935b01319bf8defb95b5709f7b8",
      "tree": "d81f8240da776336845a2063555d7bb4dce684bd",
      "parents": [
        "ee2ffa0dfdd2db19705f2ba1c6a4c0bfe8122dd8"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:36 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:47 2010 -0400"
      },
      "message": "tty: fix fu_list abuse\n\ntty: fix fu_list abuse\n\ntty code abuses fu_list, which causes a bug in remount,ro handling.\n\nIf a tty device node is opened on a filesystem, then the last link to the inode\nremoved, the filesystem will be allowed to be remounted readonly. This is\nbecause fs_may_remount_ro does not find the 0 link tty inode on the file sb\nlist (because the tty code incorrectly removed it to use for its own purpose).\nThis can result in a filesystem with errors after it is marked \"clean\".\n\nTaking idea from Christoph\u0027s initial patch, allocate a tty private struct\nat file-\u003eprivate_data and put our required list fields in there, linking\nfile and tty. This makes tty nodes behave the same way as other device nodes\nand avoid meddling with the vfs, and avoids this bug.\n\nThe error handling is not trivial in the tty code, so for this bugfix, I take\nthe simple approach of using __GFP_NOFAIL and don\u0027t worry about memory errors.\nThis is not a problem because our allocator doesn\u0027t fail small allocs as a rule\nanyway. So proper error handling is left as an exercise for tty hackers.\n\n[ Arguably filesystem\u0027s device inode would ideally be divorced from the\ndriver\u0027s pseudo inode when it is opened, but in practice it\u0027s not clear whether\nthat will ever be worth implementing. ]\n\nCc: linux-kernel@vger.kernel.org\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ee2ffa0dfdd2db19705f2ba1c6a4c0bfe8122dd8",
      "tree": "e48400d1a33f8d2e68589ccfd61637aa64462f08",
      "parents": [
        "b04f784e5d19ed58892833dae845738972cea260"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:35 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:47 2010 -0400"
      },
      "message": "fs: cleanup files_lock locking\n\nfs: cleanup files_lock locking\n\nLock tty_files with a new spinlock, tty_files_lock; provide helpers to\nmanipulate the per-sb files list; unexport the files_lock spinlock.\n\nCc: linux-kernel@vger.kernel.org\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nAcked-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b07471fa51358ce64cc25e1501544502362e4404",
      "tree": "0bd1889eb3cbabe51f15cc5e971f9644cdced0f3",
      "parents": [
        "ddcd9fb66ae7f448b517242c10a31d4e17bcad45"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Aug 06 21:40:30 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:44 2010 -0700"
      },
      "message": "tty: implement BTM as mutex instead of BKL\n\nThe tty locking now follows the rules for mutexes, so\nwe can replace the BKL usage with a new subsystem\nwide mutex.\n\nUsing a regular mutex here will change the behaviour\nwhen blocked on the BTM from spinning to sleeping,\nbut that should not be visible to the user.\n\nUsing the mutex also means that all the BTM is now\ncovered by lockdep.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ddcd9fb66ae7f448b517242c10a31d4e17bcad45",
      "tree": "54c5894f3c1dd45580cd45c621bbeb9174da879b",
      "parents": [
        "203652192634c1fce5e79df0a8ff2fabfaefd3ab"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Jun 01 22:53:08 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:44 2010 -0700"
      },
      "message": "tty: remove tty_lock_nested\n\nThis changes all remaining users of tty_lock_nested\nto be non-recursive, which lets us kill this function.\nAs a consequence, we won\u0027t need to keep the lock count\nany more, which allows more simplifications later.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "be1bc2889a4db4961ef69f47fb471ecae9f23ade",
      "tree": "fd6d5e46e69efd9d66e6baa184988461f608f49a",
      "parents": [
        "4e608671674b62e97166f903830d5553e37970e8"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Jun 01 22:53:05 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:43 2010 -0700"
      },
      "message": "tty: introduce wait_event_interruptible_tty\n\nCalling wait_event_interruptible implicitly\nreleases the BKL when it sleeps, but we need\nto do this explcitly when we have converted\nit to a mutex.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ec79d6056de58511d8e46d9ae59d3878f958dc3e",
      "tree": "8e73cf399c4cb3c31dbf3caced385cfc018a706a",
      "parents": [
        "3f582b8c11014e4ce310d9839fb335164195333f"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Jun 01 22:53:01 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:43 2010 -0700"
      },
      "message": "tty: replace BKL with a new tty_lock\n\nAs a preparation for replacing the big kernel lock\nin the TTY layer, wrap all the callers in new\nmacros tty_lock, tty_lock_nested and tty_unlock.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "26df6d13406d1a53b0bda08bd712f1924affd7cd",
      "tree": "db17328acbd7cac9dc20bc854509527c1c89ca01",
      "parents": [
        "a3c8ed693da9782f924223f65da9261da796e49b"
      ],
      "author": {
        "name": "hyc@symas.com",
        "email": "hyc@symas.com",
        "time": "Tue Jun 22 10:14:49 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:39 2010 -0700"
      },
      "message": "tty: Add EXTPROC support for LINEMODE\n\nThis patch is against the 2.6.34 source.\n\nParaphrased from the 1989 BSD patch by David Borman @ cray.com:\n\n     These are the changes needed for the kernel to support\n     LINEMODE in the server.\n\n     There is a new bit in the termios local flag word, EXTPROC.\n     When this bit is set, several aspects of the terminal driver\n     are disabled.  Input line editing, character echo, and mapping\n     of signals are all disabled.  This allows the telnetd to turn\n     off these functions when in linemode, but still keep track of\n     what state the user wants the terminal to be in.\n\n     New ioctl:\n         TIOCSIG         Generate a signal to processes in the\n                         current process group of the pty.\n\n     There is a new mode for packet driver, the TIOCPKT_IOCTL bit.\n     When packet mode is turned on in the pty, and the EXTPROC bit\n     is set, then whenever the state of the pty is changed, the\n     next read on the master side of the pty will have the TIOCPKT_IOCTL\n     bit set.  This allows the process on the server side of the pty\n     to know when the state of the terminal has changed; it can then\n     issue the appropriate ioctl to retrieve the new state.\n\nSince the original BSD patches accompanied the source code for telnet\nI\u0027ve left that reference here, but obviously the feature is useful for\nany remote terminal protocol, including ssh.\n\nThe corresponding feature has existed in the BSD tty driver since 1989.\nFor historical reference, a good copy of the relevant files can be found\nhere:\n\nhttp://anonsvn.mit.edu/viewvc/krb5/trunk/src/appl/telnet/?pathrev\u003d17741\n\nSigned-off-by: Howard Chu \u003chyc@symas.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "31d1d48e199e99077fb30f6fb9a793be7bec756f",
      "tree": "7f9dddbd89030765f6544e5820c401849193dca8",
      "parents": [
        "1e456a124353a753e9d1fadfbf5cd459c2f197ae"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Aug 06 16:34:43 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 09:17:02 2010 -0700"
      },
      "message": "Fix init ordering of /dev/console vs callers of modprobe\n\nMake /dev/console get initialised before any initialisation routine that\ninvokes modprobe because if modprobe fails, it\u0027s going to want to open\n/dev/console, presumably to write an error message to.\n\nThe problem with that is that if the /dev/console driver is not yet\ninitialised, the chardev handler will call request_module() to invoke\nmodprobe, which will fail, because we never compile /dev/console as a\nmodule.\n\nThis will lead to a modprobe loop, showing the following in the kernel\nlog:\n\n\trequest_module: runaway loop modprobe char-major-5-1\n\trequest_module: runaway loop modprobe char-major-5-1\n\trequest_module: runaway loop modprobe char-major-5-1\n\trequest_module: runaway loop modprobe char-major-5-1\n\trequest_module: runaway loop modprobe char-major-5-1\n\nThis can happen, for example, when the built in md5 module can\u0027t find\nthe built in cryptomgr module (because the latter fails to initialise).\nThe md5 module comes before the call to tty_init(), presumably because\n\u0027crypto\u0027 comes before \u0027drivers\u0027 alphabetically.\n\nFix this by calling tty_init() from chrdev_init().\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e1eaea46bb4020b38a141b84f88565d4603f8dd0",
      "tree": "ade3efe84cf4aff3cb29ec2ea2be30c97b141ad7",
      "parents": [
        "1ff454ef9b1e852e8f4d295a68a715b1dddf233c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Fri Mar 26 11:32:54 2010 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 21 09:34:29 2010 -0700"
      },
      "message": "tty: n_gsm line discipline\n\nAdd an implementation of GSM 0710 MUX. The implementation currently supports\n\n- Basic and advanced framing (as either end of the link)\n- UI or UIH data frames\n- Adaption layer 1-4 (1 and 2 via tty, 3 and 4 as skbuff lists)\n- Modem and control messages including the correct retry process\n- Flow control\n\nand exposes the MUX channels as a set of virtual tty devices including modem\nsignals. This is an experimental driver.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1ff454ef9b1e852e8f4d295a68a715b1dddf233c",
      "tree": "72332c82c1fbbdf329c8c0ca7a7b861715315d94",
      "parents": [
        "be991593f8e9994697a53d6a53112bfb951a8892"
      ],
      "author": {
        "name": "Pavan Savoy",
        "email": "pavan_savoy@ti.com",
        "time": "Thu Apr 08 13:16:52 2010 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 21 09:34:29 2010 -0700"
      },
      "message": "serial: TTY: new ldiscs for staging\n\nPush the max ldiscs by a few number to allow ldiscs\nto exist in the staging directory and elsewhere.\n\nSigned-off-by: Pavan Savoy \u003cpavan_savoy@ti.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4a35ecf8bf1c4b039503fa554100fe85c761de76",
      "tree": "9b75f5d5636004d9a9aa496924377379be09aa1f",
      "parents": [
        "b4d562e3c3553ac58c7120555c4e4aefbb090a2a",
        "fb9e2d887243499b8d28efcf80821c4f6a092395"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 06 23:53:30 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 06 23:53:30 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bonding/bond_main.c\n\tdrivers/net/via-velocity.c\n\tdrivers/net/wireless/iwlwifi/iwl-agn.c\n"
    },
    {
      "commit": "9b27105b4a44c54bf91ecd7d0315034ae75684f7",
      "tree": "f23691d85d007358a7e52b92f7f4f6a1d6d9f00c",
      "parents": [
        "edc7616c307ad315159a8aa050142237f524e079"
      ],
      "author": {
        "name": "Sjur Braendeland",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Tue Mar 30 13:56:30 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 30 19:08:50 2010 -0700"
      },
      "message": "net-caif-driver: add CAIF serial driver (ldisc)\n\nAdd CAIF Serial driver. This driver is implemented as a line discipline.\n\ncaif_serial uses the following module parameters:\nser_use_stx - specifies if STart of frame eXtension is in use.\nser_loop    - sets the interface in loopback mode.\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "336cee42dd52824e360ab419eab4e8888eb054ec",
      "tree": "893babf1f6804b35a944ac413d16f7107d922e14",
      "parents": [
        "231443665882a02214c3748b9f86615a3ce9e5c2"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Mar 08 21:50:11 2010 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 19 07:17:57 2010 -0700"
      },
      "message": "tty_port,usb-console: Fix usb serial console open/close regression\n\nCommit e1108a63e10d344284011cccc06328b2cd3e5da3 (\"usb_serial: Use the\nshutdown() operation\") breaks the ability to use a usb console\nstarting in 2.6.33.  This was observed when using\nconsole\u003dttyUSB0,115200 as a boot argument with an FTDI device.  The\nerror is:\n\nftdi_sio ttyUSB0: ftdi_submit_read_urb - failed submitting read urb, error -22\n\nThe handling of the ASYNCB_INITIALIZED changed in 2.6.32 such that in\ntty_port_shutdown() it always clears the flag if it is set.  The fix\nis to add a variable to the tty_port struct to indicate when the tty\nport is a console.\n\nCC: Alan Cox \u003calan@linux.intel.com\u003e\nCC: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCC: Oliver Neukum \u003coliver@neukum.org\u003e\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "352fa6ad16b89f8ffd1a93b4419b1a8f2259feab",
      "tree": "b08df3f006762cc213543f2ccd1095f2d9afab52",
      "parents": [
        "87a6aca504d65f242589583e04df5e74b5eae1fe"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Mar 02 22:24:19 2010 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 19 07:17:53 2010 -0700"
      },
      "message": "tty: Take a 256 byte padding into account when buffering below sub-page units\n\nThe TTY layer takes some care to ensure that only sub-page allocations\nare made with interrupts disabled. It does this by setting a goal of\n\"TTY_BUFFER_PAGE\" to allocate. Unfortunately, while TTY_BUFFER_PAGE takes the\nsize of tty_buffer into account, it fails to account that tty_buffer_find()\nrounds the buffer size out to the next 256 byte boundary before adding on\nthe size of the tty_buffer.\n\nThis patch adjusts the TTY_BUFFER_PAGE calculation to take into account the\nsize of the tty_buffer and the padding. Once applied, tty_buffer_alloc()\nshould not require high-order allocations.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "572b9adbd40b5565dc413db04af9cc234f72bf19",
      "tree": "038e00dc5f3b5b1e8835b083df7dccabb2cfd88f",
      "parents": [
        "b3e63afe8a74c0134d05a551cc74facc3b3ec0d7"
      ],
      "author": {
        "name": "Rodolfo Giometti",
        "email": "giometti@linux.it",
        "time": "Wed Mar 10 15:23:46 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:43 2010 -0800"
      },
      "message": "ldisc n_tty: add new method n_tty_inherit_ops()\n\nThis new method can be used to init a new struct tty_ldisc_ops as the\ndefault tty_ldisc_N_TTY struct.\n\nSigned-off-by: Rodolfo Giometti \u003cgiometti@linux.it\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Alexander Gordeev \u003clasaine@lvk.cs.msu.su\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d9661adfb8e53a7647360140af3b92284cbe52d4",
      "tree": "92946118969a8cbd5918ac6b35142f0051aabc4e",
      "parents": [
        "4165fe4ef7305609a96c7f248cefb9c414d0ede5"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Thu Feb 18 16:43:47 2010 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 02 14:43:23 2010 -0800"
      },
      "message": "tty: Keep the default buffering to sub-page units\n\nWe allocate during interrupts so while our buffering is normally diced up\nsmall anyway on some hardware at speed we can pressure the VM excessively\nfor page pairs. We don\u0027t really need big buffers to be linear so don\u0027t try\nso hard.\n\nIn order to make this work well we will tidy up excess callers to request_room,\nwhich cannot itself enforce this break up.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2427b8e3eaea3719e53bbed7b3375382c3aa6f13",
      "tree": "83d4b8d0bc442a8971584c0d2b8cf3c553484a48",
      "parents": [
        "118f3e1afd5534c15f9701f33514186cfc841a27"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Jan 15 17:01:11 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 16 12:15:38 2010 -0800"
      },
      "message": "tty.h: make tty_port_get() static inline\n\nI get a few dozen of these warnings when using\n  gcc (GCC) 4.4.1 20090725 (Red Hat 4.4.1-2):\n\nIn file included from mmotm-2010-0113-1217/init/do_mounts.c:5:\nmmotm-2010-0113-1217/include/linux/tty.h: In function \u0027tty_port_get\u0027:\nmmotm-2010-0113-1217/include/linux/tty.h:469: warning: \u0027______f\u0027 is static but declared in inline function \u0027tty_port_get\u0027 which is not static\n\nso make the function static inline.\n\n[akpm@linux-foundation.org: may as well convert tty_port_users() also]\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ada918b82399eef3afd6a71e3637697d6bd719f",
      "tree": "9bff5251d9d21960726078c2117a0ab19ca25956",
      "parents": [
        "c95d1e53ed89b75a4d7b68d1cbae4607b1479243"
      ],
      "author": {
        "name": "Bernhard Walle",
        "email": "bernhard@bwalle.de",
        "time": "Mon Dec 14 18:00:43 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:28 2009 -0800"
      },
      "message": "vt: introduce and use vt_kmsg_redirect() function\n\nThe kernel offers with TIOCL_GETKMSGREDIRECT ioctl() the possibility to\nredirect the kernel messages to a specific console.\n\nHowever, since it\u0027s not possible to switch to the kernel message console\nafter a panic(), it would be nice if the kernel would print the panic\nmessage on the current console.\n\nThis patch series adds a new interface to access the global kmsg_redirect\nvariable by a function to be able to use it in code where\nCONFIG_VT_CONSOLE is not set (kernel/panic.c).\n\nThis patch:\n\nInstead of using and exporting a global value kmsg_redirect, introduce a\nfunction vt_kmsg_redirect() that both can set and return the console where\nmessages are printed.\n\nChange all users of kmsg_redirect (the VT code itself and kernel/power.c)\nto the new interface.\n\nThe main advantage is that vt_kmsg_redirect() can also be used when\nCONFIG_VT_CONSOLE is not set.\n\nSigned-off-by: Bernhard Walle \u003cbernhard@bwalle.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eeb89d918c2fa2b809e464136bbafdaec2aacb30",
      "tree": "d811f53e0182c40a793b948e72739040670f97c8",
      "parents": [
        "e8c62103fd5fecc8d2086bae244b32d089892175"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Nov 30 13:18:29 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 15:18:08 2009 -0800"
      },
      "message": "tty: push the BKL down into the handlers a bit\n\nStart trying to untangle the remaining BKL mess\n\nUpdated to fix missing unlock_kernel noted by Dan Carpenter\n\nSigned-off-by: Alan \"I must be out of my tree\" Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "568aafc627e2978509e8a80c640ba534d1e843cc",
      "tree": "1a24c5c0fc3a56054fa054a0255c04e5b7848daa",
      "parents": [
        "338818fd802a6baacb7e5b6910d52c8996ca6d28"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Nov 30 13:17:14 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 15:18:07 2009 -0800"
      },
      "message": "tty: tty_port: Add a kref object to the tty port\n\nUsers of tty port need a way to refcount ports when hotplugging is\ninvolved.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "44e4909e453eaa09c7de409fc9ee4ebefd986c1c",
      "tree": "5bad1ed70f24c7cedd61a7664afe3706abab4e2f",
      "parents": [
        "1f100b323d19469b06a63ccd6130ed71760145cc"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Nov 30 13:16:41 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 15:18:06 2009 -0800"
      },
      "message": "tty: tty_port: Change the buffer allocator locking\n\nWe want to be able to do this without regard for the activate/own open\nmethod being used which causes a problem using port-\u003emutex. Add another\nmutex for now. Once everything uses port_open to do buffer allocs we can\nkill it back off\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "64bc397914265a9ead8d73b63bb31ab3bdd25f67",
      "tree": "dc96d1737d3d70bbdebaea7e0f0aedd1377e1000",
      "parents": [
        "894cb91770f7794f1a17db4df2d83999b197da24"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Tue Oct 06 16:06:11 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 15:18:04 2009 -0800"
      },
      "message": "tty_port: add \"tty_port_open\" helper\n\nFor the moment this just moves the USB logic over and fixes the \u0027what if\nwe open and hangup at the same time\u0027 race noticed by Oliver Neukum.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "e92166517e3ca9bfb416f91e69cf0373b55b6ede",
      "tree": "baabe875b5592244a62f39e4fba302a1507502a1",
      "parents": [
        "62b263585bb5005d44a764c90d80f9c4bb8188c1"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Aug 06 15:09:28 2009 +0200"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:35 2009 -0700"
      },
      "message": "tty: handle VT specific compat ioctls in vt driver\n\nThe VT specific compat_ioctl handlers are the only ones\nin common code that require the BKL. Moving them into\nthe vt driver lets us remove the BKL from the other handlers\nand cleans up the code.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b58d13a0216d4e0753668214f23e1d2c24c30f8c",
      "tree": "e641971a9f1464b7f5a045d4df0e58874b6bf035",
      "parents": [
        "bdc04e3174e18f475289fa8f4144f66686326b7e"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Sat Sep 19 13:13:32 2009 -0700"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:32 2009 -0700"
      },
      "message": "serial: move port users helper\n\nThis little helper is now tty_port specific and useful generally so move it\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "bdc04e3174e18f475289fa8f4144f66686326b7e",
      "tree": "c0bf03c8d6df1629bfa26b686fe65ffb0c87aeb7",
      "parents": [
        "a2bceae065ed8c4f552b35c4dde4cc2db05ce9e3"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Sat Sep 19 13:13:31 2009 -0700"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:31 2009 -0700"
      },
      "message": "serial: move delta_msr_wait into the tty_port\n\nThis is used by various drivers not just serial and can be extracted\nas commonality\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\n"
    },
    {
      "commit": "5e99df561fc830730d63672d795a0b02ef8cdd6f",
      "tree": "6fffbbb737a7d01d58b7b9415f041bd50fca26b4",
      "parents": [
        "ebd2c8f6d2ec4012c267ecb95e72a57b8355a705"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Sat Sep 19 13:13:28 2009 -0700"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:28 2009 -0700"
      },
      "message": "serial: Fold closing_* fields into the tty_port ones\n\nRemove some more serial specific use\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "7ca0ff9ab3218ec443a7a9ad247e4650373ed41e",
      "tree": "73cb5a8f36d9999e0c85957cc27e7be2f140a610",
      "parents": [
        "24d481ecae1614cf02e638c8dce9b6e8bf230603"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Sat Sep 19 13:13:20 2009 -0700"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:20 2009 -0700"
      },
      "message": "tty: Add a full port_close function\n\nNow we are extracting out methods for shutdown and the like we can add a\nproper tty_port_close method that knows all the innards of the tty closing\nprocess and hides the lot from the caller.\n\nAt some point in the future this will be paired with a similar open()\nhelper and the drivers can stick to hardware management.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "353f6dd2dec992ddd34620a94b051b0f76227379",
      "tree": "38f48b57f8f0f1bb05983ec32205fac9b8bab14c",
      "parents": [
        "bb193c986a7104f718c1b92709e1e6e22ac3f864"
      ],
      "author": {
        "name": "Anirban Sinha",
        "email": "asinha@zeugmasystems.com",
        "time": "Mon Sep 14 11:13:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 17:41:42 2009 -0700"
      },
      "message": "cleanup console_print()\n\nconsole_print() is an old legacy interface mostly unused in the entire\nkernel tree. It\u0027s best to clean up its existing use and let developers\nuse their own implementation of it as they feel fit.\n\nSigned-off-by: Anirban Sinha \u003casinha@zeugmasystems.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e0b3032bcdf1419d97de636d5fb1c9469da75776",
      "tree": "30252bef7afdad1f789b215c99909104a1d5cfa1",
      "parents": [
        "45fae5c78d873b10c66dfc04db6701e05c493791",
        "cdc65fbe18aef15e92d2ebb410a189fbf956fb06"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Sep 10 15:32:40 2009 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Sep 10 15:32:40 2009 +0200"
      },
      "message": "Merge branch \u0027topic/asoc\u0027 into for-linus\n\n* topic/asoc: (226 commits)\n  ASoC: au1x: PSC-AC97 bugfixes\n  ASoC: Fix WM835x Out4 capture enumeration\n  ASoC: Remove unuused hw_read_t\n  ASoC: fix pxa2xx-ac97.c breakage\n  ASoC: Fully specify DC servo bits to update in wm_hubs\n  ASoC: Debugged improper setting of PLL fields in WM8580 driver\n  ASoC: new board driver to connect bfin-5xx with ad1836 codec\n  ASoC: OMAP: Add functionality to set CLKR and FSR sources in McBSP DAI\n  ASoC: davinci: i2c device creation moved into board files\n  ASoC: Don\u0027t reconfigure WM8350 FLL if not needed\n  ASoC: Fix s3c-i2s-v2 build\n  ASoC: Make platform data optional for TLV320AIC3x\n  ASoC: Add S3C24xx dependencies for Simtec machines\n  ASoC: SDP3430: Fix TWL GPIO6 pin mux request\n  ASoC: S3C platform: Fix s3c2410_dma_started() called at improper time\n  ARM: OMAP: McBSP: Merge two functions into omap_mcbsp_start/_stop\n  ASoC: OMAP: Fix setup of XCCR and RCCR registers in McBSP DAI\n  OMAP: McBSP: Use textual values in DMA operating mode sysfs files\n  ARM: OMAP: DMA: Add support for DMA channel self linking on OMAP1510\n  ASoC: Select core DMA when building for S3C64xx\n  ...\n"
    },
    {
      "commit": "b7b8f9bf0cd73b90561e8123fd5ec28f4539c419",
      "tree": "f451730e88eabbf69c56fa2f2e422e0c45aab8b0",
      "parents": [
        "06cddefc1f25b847dafe392f3d5781482b3395b5"
      ],
      "author": {
        "name": "Janusz Krzysztofik",
        "email": "jkrzyszt@tis.icnet.pl",
        "time": "Thu Aug 06 13:07:32 2009 +0200"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Aug 07 11:48:02 2009 +0100"
      },
      "message": "TTY/ASoC: Rename N_AMSDELTA line discipline to N_V253\n\nThe patch changes the line discipline name registered in include/linux/tty.h\nand updates the ams-delta machine driver to use it.\n\nSigned-off-by: Janusz Krzysztofik \u003cjkrzyszt@tis.icnet.pl\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "78ed73e84d132e2d556eda90e5b76620f4390ff2",
      "tree": "288a84a76d015a0169d9fcfeba8d349e012c95c9",
      "parents": [
        "b8e22c1fe375a8c3b3e4fd7c569cb8932607bef3"
      ],
      "author": {
        "name": "Janusz Krzysztofik",
        "email": "jkrzyszt@tis.icnet.pl",
        "time": "Wed Jul 22 05:22:37 2009 +0200"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Jul 31 22:38:44 2009 +0100"
      },
      "message": "TTY: Add definition of a new line discipline required by Amstrad E3 (Delta) ASoC driver\n\nThis patch adds new line discipline name an number to include/linux/tty.h. The\nline discipline will be used by the Amstrad E3 (Delta) sound driver that will\ncome next in this series of patches.\n\nCreated against linux-2.6.31-rc3.\nApplies to linux-omap-2.6 commit 7c5cb7862d32cb344be7831d466535d5255e35ac as\nwell.\n\nSigned-off-by: Janusz Krzysztofik \u003cjkrzyszt@tis.icnet.pl\u003e\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "e043e42bdb66885b3ac10d27a01ccb9972e2b0a3",
      "tree": "12b40fd776f653484a77fd84f07cc304276141b1",
      "parents": [
        "7d3e91b8a1f5179d56a7412d4b499f2d5fc6b25d"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Wed Jul 29 12:15:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 29 12:15:56 2009 -0700"
      },
      "message": "pty: avoid forcing \u0027low_latency\u0027 tty flag\n\nWe really don\u0027t want to mark the pty as a low-latency device, because as\nAlan points out, the -\u003ewrite method can be called from an IRQ (ppp?),\nand that means we can\u0027t use -\u003elow_latency\u003d1 as we take mutexes in the\nlow_latency case.\n\nSo rather than using low_latency to force the written data to be pushed\nto the ldisc handling at \u0027write()\u0027 time, just make the reader side (or\nthe poll function) do the flush when it checks whether there is data to\nbe had.\n\nThis also fixes the problem with lost data in an emacs compile buffer\n(bugzilla 13815), and we can thus revert the low_latency pty hack\n(commit 3a54297478e6578f96fd54bf4daa1751130aca86: \"pty: quickfix for the\npty ENXIO timing problems\").\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nTested-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n[ Modified to do the tty_flush_to_ldisc() inside input_available_p() so\n  that it triggers for both read and poll()  - Linus]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c65c9bc3efa5589f691276bb9db689119a711222",
      "tree": "ccb86ffb28ecafa77623fb2789faae8e4c1e2c4b",
      "parents": [
        "e8b70e7d3e86319a8b2aaabde3866833d92cd80f"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Thu Jun 11 12:50:12 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 08:51:01 2009 -0700"
      },
      "message": "tty: rewrite the ldisc locking\n\nThere are several pretty much unfixable races in the old ldisc code, especially\nwith respect to pty behaviour and also to hangup. It\u0027s easier to rewrite the\ncode than simply try and patch it up.\n\nThis patch\n- splits the ldisc from the tty (so we will be able to refcount it more cleanly\n  later)\n- introduces a mutex lock for ldisc changing on an active device\n- fixes the complete mess that hangup caused\n- implements hopefully correct setldisc/close/hangup locking\n\nThere are still some problems around pty pairs that have always been there but\nat least it is now possible to understand the code and fix further problems.\n\nThis fixes the following known bugs\n- hang up can leak ldisc references\n- hang up may not call open/close on ldisc in a matched way\n- pty/tty pairs can deadlock during an ldisc change\n- reading the ldisc proc files can cause every ldisc to be loaded\n\nand probably a few other of the mysterious ldisc race reports.\n\nI\u0027m sure it also adds the odd new one.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e8b70e7d3e86319a8b2aaabde3866833d92cd80f",
      "tree": "dac8e7b42f553ee3a9a0920e20b5a39da197b13a",
      "parents": [
        "5f0878acba7db24323f5ba4055ec9a96895bb150"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Thu Jun 11 12:48:02 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 08:51:01 2009 -0700"
      },
      "message": "tty: Extract various bits of ldisc code\n\nBefore trying to tackle the ldisc bugs the code needs to be a good deal\nmore readable, so do the simple extractions of routines first.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1ec739be75a6cb961a46ba0b1982d0edb7f27558",
      "tree": "b9e75b3171d1a5b715465b82c9cb2b711e6d5550",
      "parents": [
        "fcc8ac1825d3d0fb81f73bc1a80ebc863168bb56"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Thu Jun 11 12:25:25 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 08:50:56 2009 -0700"
      },
      "message": "tty: Implement a drain delay in the tty port\n\nWe need this for devices that cannot flush and wait, but which do not order\ndata and modem events. Without it we will hang up before all the data\nclears the hardware. Needed for the USB changes.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fcc8ac1825d3d0fb81f73bc1a80ebc863168bb56",
      "tree": "737f7209430fd319ca257df62c9b1e64587d5a8b",
      "parents": [
        "65a29f60e121ae5116ac1736b50a237bf2db3225"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Thu Jun 11 12:24:17 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 08:50:56 2009 -0700"
      },
      "message": "tty: Add carrier processing on close to the tty_port core\n\nSome drivers implement this internally, others miss it out. Push the\nbehaviour into the core code as that way everyone will do it consistently.\n\nUpdate the dtr rts method to raise or lower depending upon flags. Having a\nsingle method in this style fits most of the implementations more cleanly than\ntwo funtions.\n\nWe need this in place before we tackle the USB side\n\nSigned-off-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6614999e800cf3a134ce93ea46ef837e3c0e76e",
      "tree": "56b0a29ed004a284561a4c3ff3ee52075acabb65",
      "parents": [
        "7834909f1eb96ba7c49ca2b9e3a69b500a2cff76"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:46:50 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:40 2009 -0800"
      },
      "message": "tty: Introduce some close helpers for ports\n\nAgain this is a lot of common code we can unify\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "36c621d82b956ff6ff72273f848af53e6c581aba",
      "tree": "edd387d8275a8f25277d264ffed94e8d1c2ba048",
      "parents": [
        "3b6826b250633361f08a6427a4ac0035e5d88c72"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:46:10 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:39 2009 -0800"
      },
      "message": "tty: Introduce a tty_port generic block_til_ready\n\nStart sucking more commonality out of the drivers into a single piece of\ncore code.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e61696bdc2103107674b06d0daf30b76193e922",
      "tree": "cc4f2b7b7b0ce2162613bb9d3cf819f6bbfd3628",
      "parents": [
        "5d951fb458f847e5485b5251597fbf326000bb3b"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:45:26 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:38 2009 -0800"
      },
      "message": "isicom: redo locking to use tty port locks\n\nThis helps set the basis for moving block_til_ready into common code. We also\nintroduce a tty_port_hangup helper as this will also be generally needed.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5d951fb458f847e5485b5251597fbf326000bb3b",
      "tree": "f668a015282f657f258995a1e5a85e145ca8251a",
      "parents": [
        "d0c9873addc1f18e7becb50094dad07df8cc4694"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:45:19 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:38 2009 -0800"
      },
      "message": "tty: Pull the dtr raise into tty port\n\nThis moves another per device special out of what should be shared open\nwait paths into private methods\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "31f35939d1d9bcfb3099b32c67b896d2792603f9",
      "tree": "39b6ceaf0e7477e0357ff8235814f579adad3f28",
      "parents": [
        "c9b3976e3fec266be25c5001a70aa0a890b6c476"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:45:05 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:38 2009 -0800"
      },
      "message": "tty_port: Add a port level carrier detect operation\n\nThis is the first step to generalising the various pieces of waiting logic\nduplicated in all sorts of serial drivers.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c9b3976e3fec266be25c5001a70aa0a890b6c476",
      "tree": "6742587ae3193fcfbee2b394aa4f5daca392da17",
      "parents": [
        "d0eafc7db8f170d534a16b5f04617e98ae2025de"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:44:56 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:38 2009 -0800"
      },
      "message": "tty: Fix PPP hang under load\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc6f6238226e6d1248e1967eae2bf556eaf3ac17",
      "tree": "07cef0fafd30bd622dac1db4751e10734773c863",
      "parents": [
        "a47d545f5782cbde871b50bdf4a83379ed2da222"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:43:17 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:36 2009 -0800"
      },
      "message": "pty: simplify resize\n\nWe have special case logic for resizing pty/tty pairs. We also have a per\ndriver resize method so for the pty case we should use it.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a88a69c91256418c5907c2f1f8a0ec0a36f9e6cc",
      "tree": "cc595c2c67b1d070e6897bac4098702c164feb39",
      "parents": [
        "e482a2378f3d1aef7fa8942f8f163078f01bb456"
      ],
      "author": {
        "name": "Joe Peterson",
        "email": "joe@skyrush.com",
        "time": "Fri Jan 02 13:40:53 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:35 2009 -0800"
      },
      "message": "n_tty: Fix loss of echoed characters and remove bkl from n_tty\n\nFixes the loss of echoed (and other ldisc-generated characters) when\nthe tty is stopped or when the driver output buffer is full (happens\nfrequently for input during continuous program output, such as ^C)\nand removes the Big Kernel Lock from the N_TTY line discipline.\n\nAdds an \"echo buffer\" to the N_TTY line discipline that handles all\nldisc-generated output (including echoed characters).  Along with the\nloss of characters, this also fixes the associated loss of sync between\ntty output and the ldisc state when characters cannot be immediately\nwritten to the tty driver.\n\nThe echo buffer stores (in addition to characters) state operations that need\nto be done at the time of character output (like management of the column\nposition).  This allows echo to cooperate correctly with program output,\nsince the ldisc state remains consistent with actual characters written.\n\nSince the echo buffer code now isolates the tty column state code\nto the process_out* and process_echoes functions, we can remove the\nBig Kernel Lock (BKL) and replace it with mutex locks.\n\nHighlights are:\n\n* Handles echo (and other ldisc output) when tty driver buffer is full\n  - continuous program output can block echo\n* Saves echo when tty is in stopped state (e.g. ^S)\n  - (e.g.: ^Q will correctly cause held characters to be released for output)\n* Control character pairs (e.g. \"^C\") are treated atomically and not\n  split up by interleaved program output\n* Line discipline state is kept consistent with characters sent to\n  the tty driver\n* Remove the big kernel lock (BKL) from N_TTY line discipline\n\nSigned-off-by: Joe Peterson \u003cjoe@skyrush.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b0f4b285d7ed174804658539129a834270f4829a",
      "tree": "be7f8dca58075aba2c6a137fcfd4d44c5c333efc",
      "parents": [
        "be9c5ae4eeec2e85527e95647348b8ea4eb25128",
        "5250d329e38cdf7580faeb9c53c17d3588d7d19c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:21:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:21:10 2008 -0800"
      },
      "message": "Merge branch \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (241 commits)\n  sched, trace: update trace_sched_wakeup()\n  tracing/ftrace: don\u0027t trace on early stage of a secondary cpu boot, v3\n  Revert \"x86: disable X86_PTRACE_BTS\"\n  ring-buffer: prevent false positive warning\n  ring-buffer: fix dangling commit race\n  ftrace: enable format arguments checking\n  x86, bts: memory accounting\n  x86, bts: add fork and exit handling\n  ftrace: introduce tracing_reset_online_cpus() helper\n  tracing: fix warnings in kernel/trace/trace_sched_switch.c\n  tracing: fix warning in kernel/trace/trace.c\n  tracing/ring-buffer: remove unused ring_buffer size\n  trace: fix task state printout\n  ftrace: add not to regex on filtering functions\n  trace: better use of stack_trace_enabled for boot up code\n  trace: add a way to enable or disable the stack tracer\n  x86: entry_64 - introduce FTRACE_ frame macro v2\n  tracing/ftrace: add the printk-msg-only option\n  tracing/ftrace: use preempt_enable_no_resched_notrace in ring_buffer_time_stamp()\n  x86, bts: correctly report invalid bts records\n  ...\n\nFixed up trivial conflict in scripts/recordmcount.pl due to SH bits\nbeing already partly merged by the SH merge.\n"
    },
    {
      "commit": "1e641743f055f075ed9a4edd75f1fb1e05669ddc",
      "tree": "8016113a4965a344415e8bd6366f07c23eee7d5f",
      "parents": [
        "94d6a5f7341ebaff53d4e41cc81fab37f0d9fbed"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Tue Dec 09 09:23:33 2008 +0000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Dec 09 20:32:06 2008 +1100"
      },
      "message": "Audit: Log TIOCSTI\n\nAUDIT_TTY records currently log all data read by processes marked for\nTTY input auditing, even if the data was \"pushed back\" using the TIOCSTI\nioctl, not typed by the user.\n\nThis patch records all TIOCSTI calls to disambiguate the input.  It\ngenerates one audit message per character pushed back; considering\nTIOCSTI is used very rarely, this simple solution is probably good\nenough.  (The only program I could find that uses TIOCSTI is mailx/nail\nin \"header editing\" mode, e.g. using the ~h escape.  mailx is used very\nrarely, and the escapes are used even rarer.)\n\nSigned-Off-By: Miloslav Trmac \u003cmitr@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "14bfc987e395797dfe03e915e8b4c7fc9e5078e4",
      "tree": "660992b9d637e3055b0479ebabfdfdf0bd0cb004",
      "parents": [
        "0429149fb5e01edc410648591c19095d2074ee00"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 25 08:58:11 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 25 08:59:44 2008 +0100"
      },
      "message": "tracing, tty: fix warnings caused by branch tracing and tty_kref_get()\n\nStephen Rothwell reported tht this warning started triggering in\nlinux-next:\n\n  In file included from init/main.c:27:\n  include/linux/tty.h: In function ‘tty_kref_get’:\n  include/linux/tty.h:330: warning: ‘______f’ is static but declared in inline function ‘tty_kref_get’ which is not static\n\nWhich gcc emits for \u0027extern inline\u0027 functions that nevertheless define\nstatic variables. Change it to \u0027static inline\u0027, which is the norm\nin the kernel anyway.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "47afa7a5a8a8fb9e60cdb6a3bd612e07c37e9d90",
      "tree": "4f07d3aed0a08516162e529df75a014bd0798f8f",
      "parents": [
        "fe6e29fdb1a7b94891bbdd3c67358fe4ed14639d"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:44:17 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:44 2008 -0700"
      },
      "message": "tty: some ICANON magic is in the wrong places\n\nMove the set up on ldisc change into the ldisc\nMove the INQ/OUTQ cases into the driver not in shared ioctl code where it\ngives bogus answers for other ldisc values\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bf970ee46e0fb363c8df4393229121d54330a98e",
      "tree": "3beb09c369b3459e70689b5f9a35caacf063f116",
      "parents": [
        "73ec06fc5f5c8e1097a7a4a4ab2d7c6c3a007e81"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:42:39 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:43 2008 -0700"
      },
      "message": "tty: extract the pty init time special cases\n\nThe majority of the remaining init_dev code is pty special cases. We\nrefactor this code into the driver-\u003einstall method.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "73ec06fc5f5c8e1097a7a4a4ab2d7c6c3a007e81",
      "tree": "2c244c8b0d853f82e479eaf72ca64d6c9209c6a6",
      "parents": [
        "8b0a88d5912ab549d5adac2c8498ecdaae5319a5"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:42:29 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:43 2008 -0700"
      },
      "message": "tty: Finish fixing up the init_dev interface to use ERR_PTR\n\nOriginal suggestion and proposal from Sukadev Bhattiprolu.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d81ed10307027e1643a65ab5fe17cc01233d376d",
      "tree": "e46ac5735124308357f42214a8a26f75dcd3f412",
      "parents": [
        "feebed6515a113eeb33919e9557a8b9710ea627c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:41:42 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:42 2008 -0700"
      },
      "message": "tty: Remove more special casing and out of place code\n\nCarry on pushing code out of tty_io when it belongs to other drivers. I\u0027m\nnot 100% happy with some of this and it will be worth revisiting some of the\nexports later when the restructuring work is done.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "feebed6515a113eeb33919e9557a8b9710ea627c",
      "tree": "0461178ee0c5e16ea90023e4b6386cb5c57d3391",
      "parents": [
        "bf7a06bcce205705ea5c7675cbb8ea9239ea30a0"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:41:30 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:42 2008 -0700"
      },
      "message": "tty: shutdown method\n\nRight now there are various drivers that try to use tty-\u003ecount to know when\nthey get the final close. Aristeau Rozanski showed while debugging the vt\nsysfs race that this isn\u0027t entirely safe.\n\nInstead of driver side tricks to work around this introduce a shutdown which\nis called when the tty is being destructed. This also means that the shutdown\nmethod is tied into the refcounting.\n\nUse this to rework the console close/sysfs logic.\n\nRemove lots of special case code from the tty core code. The pty code can now\nhave a shutdown() method that replaces the special case hackery in the tree\nfree up paths.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2cb5998b5f0ccc886fdda3509059eef297b49577",
      "tree": "9113731d3f892c2e164bfd05a7cf1a4b1713a619",
      "parents": [
        "216ba023a96c04e8d3aabf83d5931c35b6e2dbbb"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:40:30 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:41 2008 -0700"
      },
      "message": "tty: the vhangup syscall is racy\n\nWe now have the infrastructure to sort this out but rather than teaching\nthe syscall tty lock rules we move the hard work into a tty helper\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4a90f09b20f4622dcbff1f0e1e6bae1704f8ad8c",
      "tree": "9b275f88f2705cb10121d5982741aef3a088a7c8",
      "parents": [
        "95f9bfc6b76e862265a2d70ae061eec18fe14140"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:39:46 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:41 2008 -0700"
      },
      "message": "tty: usb-serial krefs\n\nUse kref in the USB serial drivers so that we don\u0027t free tty structures\nfrom under the URB receive handlers as has historically been the case if\nyou were unlucky. This also gives us a framework for general tty drivers to\nuse tty_port objects and refcount.\n\nContains two err-\u003edev_err changes merged together to fix clashes in the\n-next tree.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d65b4a088de407e99714fdc27862449db04fb5c",
      "tree": "89f378767b9e0fe1a902d73bf43be382c6110f72",
      "parents": [
        "5aaa70a80f5bbfcc4d6a1f844bdd1c5d6b445b5f"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:38:18 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:40 2008 -0700"
      },
      "message": "tty: Add termiox\n\nWe need a way to describe the various additional modes and flow control\nfeatures that random weird hardware shows up and software such as wine\nwants to emulate as Windows supports them.\n\nTCGETX/TCSETX and the termiox ioctl are a SYS5 extension that we might as\nwell adopt. This patches adds the structures and the basic ioctl interfaces\nwhen the TCGETX etc defines are added for an architecture. Drivers wishing\nto use this stuff need to add new methods.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9c9f4ded90a59eee84e15f5fd38c03d60184e112",
      "tree": "925a7f7c30136477b3f8551123fd86b355fd60fb",
      "parents": [
        "348eb12e5598be97400c749d3d93a71856ae0b2b"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:37:26 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:40 2008 -0700"
      },
      "message": "tty: Add a kref count\n\nIntroduce a kref to the tty structure and use it to protect the tty-\u003esignal\ntty references. For now we don\u0027t introduce it for anything else.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "348eb12e5598be97400c749d3d93a71856ae0b2b",
      "tree": "770864c077d4cce1e17f6e139a30a0ba9add5742",
      "parents": [
        "9e48565d217a8a96cc7577308ad41e9e4b806a62"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:37:17 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:40 2008 -0700"
      },
      "message": "pps: Reserve a line discipline number for PPS\n\nAdd a new line discipline for \"pulse per second\" devices connected to\na serial port.\n\nSigned-off-by: Rodolfo Giometti \u003cgiometti@linux.it\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e04957365b21066285557e42ffe16d8330d46c02",
      "tree": "c359a59a0ac283d051736534d835df2cc0f8e17b",
      "parents": [
        "c564b6fda961bd999aac0b709b79288dd8f426cd"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 10:36:58 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 09:51:40 2008 -0700"
      },
      "message": "tty: split the buffering from tty_io\n\nThe two are basically independent chunks of code so lets split them up for\nreadability and sanity. It also makes the API boundaries much clearer.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8c9a9dd0fa3a269d380eaae2dc1bee39e865fae1",
      "tree": "c4617de83246eb6b7ed9c125c5777f05b445c975",
      "parents": [
        "21d3bdb1606311a2900eabccfcb5a887952e2c44"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Aug 15 10:39:38 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 10:34:07 2008 -0700"
      },
      "message": "tty: remove resize window special case\n\nThis moves it to being a tty operation. That removes special cases and now\nalso means that resize can be picked up by um and other non vt consoles\nwhich may have a resize operation.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "01e1abb2c27e43339b8829a2e3b1c6f53806b77a",
      "tree": "9020ed77e480731af30061e3e6072a75a7266f7c",
      "parents": [
        "d76f2f4462bbb2cf7bc83a35c5278177aa627e89"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Tue Jul 22 11:16:55 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 22 13:03:27 2008 -0700"
      },
      "message": "tty: Split ldisc code into its own file\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "44b7d1b37f786c61d0e382b6f72f605f73de284b",
      "tree": "2ac150e99311cde2e841bb6c80ac9d2800c8aff7",
      "parents": [
        "593573bc55c9e1999b9679da4e477c0220a6fbbd"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Wed Jul 16 21:57:18 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 17:12:38 2008 -0700"
      },
      "message": "tty: add more tty_port fields\n\nMove more bits into the tty_port structure\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7a4d29f426f17479395980ded8fa5e3bdd6d94e4",
      "tree": "1a5464e4633264f91045a0813f407dca88136523",
      "parents": [
        "a88487c79bfefb715030c5baa68fbedc1b8732e8"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Wed Jul 16 21:54:54 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 17:12:36 2008 -0700"
      },
      "message": "tty.h: clean up\n\nCoding style clean up and white space tidy\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6f67048cd010afe19d79d821f16055d9c704c6f0",
      "tree": "1fbd4717f97632a4753ea98555e285483e35cd45",
      "parents": [
        "d87a6d951c6c09d191d9c10903deb3cc353fcd2c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Wed Jul 16 21:53:41 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 17:12:35 2008 -0700"
      },
      "message": "tty: Introduce a tty_port common structure\n\nEvery tty driver has its own concept of a port structure and because\nthey all differ we cannot extract commonality.  Begin fixing this by\ncreating a structure drivers can elect to use so that over time we can\npush fields into this and create commonality and then introduce common\nmethods.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a352def21a642133758b868c71bee12ab34ad5c5",
      "tree": "95d0f7229f9e4afccdc6fbbf11f7f5c6dd83b0fd",
      "parents": [
        "e1e5770bb63fb9d71619a68f52cb0ba4b2ae58a6"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Wed Jul 16 21:53:12 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 17:12:34 2008 -0700"
      },
      "message": "tty: Ldisc revamp\n\nMove the line disciplines towards a conventional -\u003eops arrangement.  For\nthe moment the actual \u0027tty_ldisc\u0027 struct in the tty is kept as part of\nthe tty struct but this can then be changed if it turns out that when it\nall settles down we want to refcount ldiscs separately to the tty.\n\nPull the ldisc code out of /proc and put it with our ldisc code.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "44d1b980c72db0faf35adb082fb2208351803028",
      "tree": "d249cd0a7fc5944aab8e211dbe3b128ce3900438",
      "parents": [
        "b6d8adf477439e7086224bc9674c6b6638780783"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu Jun 05 22:46:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 06 11:29:10 2008 -0700"
      },
      "message": "Fix various old email addresses for dwmw2\n\nAlthough if people have questions about ARCnet, perhaps it\u0027s _better_\nfor them to be mailing dwmw2@cam.ac.uk about it...\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "39c2e60f8c584c1b29b5c4375dd49df7995386bb",
      "tree": "fcb7e742d38c6e4655660d89be01e61d58ceebc4",
      "parents": [
        "8cd64518a3d166a21f5c69ac7860b3add0369dd0"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:54:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:47 2008 -0700"
      },
      "message": "tty: add throttle/unthrottle helpers\n\nSomething Arjan suggested which allows us to clean up the code nicely\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f34d7a5b7010b82fe97da95496b9971435530062",
      "tree": "87e2abec1e33ed4fe5e63ee2fd000bc2ad745e57",
      "parents": [
        "251b8dd7eee30fda089a1dc088abf4fc9a0dee9c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:54:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:47 2008 -0700"
      },
      "message": "tty: The big operations rework\n\n- Operations are now a shared const function block as with most other Linux\n  objects\n\n- Introduce wrappers for some optional functions to get consistent behaviour\n\n- Wrap put_char which used to be patched by the tty layer\n\n- Document which functions are needed/optional\n\n- Make put_char report success/fail\n\n- Cache the driver-\u003eops pointer in the tty as tty-\u003eops\n\n- Remove various surplus lock calls we no longer need\n\n- Remove proc_write method as noted by Alexey Dobriyan\n\n- Introduce some missing sanity checks where certain driver/ldisc\n  combinations would oops as they didn\u0027t check needed methods were present\n\n[akpm@linux-foundation.org: fix fs/compat_ioctl.c build]\n[akpm@linux-foundation.org: fix isicom]\n[akpm@linux-foundation.org: fix arch/ia64/hp/sim/simserial.c build]\n[akpm@linux-foundation.org: fix kgdb]\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5d0fdf1e01899805b6c2c0b789a707dcb731b1ea",
      "tree": "19827c7b3cf365c0b403741ead6c7bc317cad51b",
      "parents": [
        "575537b3248ee9b7578a3bb3df33fcdda2bfc4d5"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:40 2008 -0700"
      },
      "message": "tty_io: fix remaining pid struct locking\n\nThis fixes the last couple of pid struct locking failures I know about.\n\n[oleg@tv-sign.ru: clean up do_task_stat()]\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "47f86834bbd4193139d61d659bebf9ab9d691e37",
      "tree": "6724b07e24929eba5c6df31f07871d9d6b4aa296",
      "parents": [
        "04f378b198da233ca0aca341b113dc6579d46123"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:40 2008 -0700"
      },
      "message": "redo locking of tty-\u003epgrp\n\nHistorically tty-\u003epgrp and friends were pid_t and the code \"knew\" they were\nsafe.  The change to pid structs opened up a few races and the removal of the\nBKL in places made them quite hittable.  We put tty-\u003epgrp under the ctrl_lock\nfor the tty.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04f378b198da233ca0aca341b113dc6579d46123",
      "tree": "696e7bd401125cee71ecaa2047c4273f38732554",
      "parents": [
        "e52384426064bca0669a954736206adca7595d48"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:40 2008 -0700"
      },
      "message": "tty: BKL pushdown\n\n- Push the BKL down into the line disciplines\n- Switch the tty layer to unlocked_ioctl\n- Introduce a new ctrl_lock spin lock for the control bits\n- Eliminate much of the lock_kernel use in n_tty\n- Prepare to (but don\u0027t yet) call the drivers with the lock dropped\n  on the paths that historically held the lock\n\nBKL now primarily protects open/close/ldisc change in the tty layer\n\n[jirislaby@gmail.com: a couple of fixes]\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "41126226e186d92a45ed664e546abb5204588359"
}
