1. 16 1月, 2013 3 次提交
  2. 22 11月, 2012 3 次提交
  3. 16 11月, 2012 1 次提交
    • J
      TTY: call tty_port_destroy in the rest of drivers · 191c5f10
      Jiri Slaby 提交于
      After commit "TTY: move tty buffers to tty_port", the tty buffers are
      not freed in some drivers. This is because tty_port_destructor is not
      called whenever a tty_port is freed. This was an assumption I counted
      with but was unfortunately untrue. So fix the drivers to fulfil this
      assumption.
      
      To be sure, the TTY buffers (and later some stuff) are gone along with
      the tty_port, we have to call tty_port_destroy at tear-down places.
      This is mostly where the structure containing a tty_port is freed.
      This patch does exactly that -- put tty_port_destroy at those places.
      Signed-off-by: NJiri Slaby <jslaby@suse.cz>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      191c5f10
  4. 06 9月, 2012 1 次提交
  5. 14 8月, 2012 1 次提交
    • J
      TTY: use tty_port_register_device · 734cc178
      Jiri Slaby 提交于
      Currently we have no way to assign tty->port while performing tty
      installation. There are two ways to provide the link tty_struct =>
      tty_port. Either by calling tty_port_install from tty->ops->install or
      tty_port_register_device called instead of tty_register_device when
      the device is being set up after connected.
      
      In this patch we modify most of the drivers to do the latter. When the
      drivers use tty_register_device and we have tty_port already, we
      switch to tty_port_register_device. So we have the tty_struct =>
      tty_port link for free for those.
      Signed-off-by: NJiri Slaby <jslaby@suse.cz>
      Acked-by: NAlan Cox <alan@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      734cc178
  6. 11 8月, 2012 1 次提交
    • A
      tty: localise the lock · 89c8d91e
      Alan Cox 提交于
      The termios and other changes mean the other protections needed on the driver
      tty arrays should be adequate. Turn it all back on.
      
      This contains pieces folded in from the fixes made to the original patches
      
      | From: Geert Uytterhoeven <geert@linux-m68k.org>	(fix m68k)
      | From: Paul Gortmaker <paul.gortmaker@windriver.com>	(fix cris)
      | From: Jiri Kosina <jkosina@suze.cz>			(lockdep)
      | From: Eric Dumazet <eric.dumazet@gmail.com>		(lockdep)
      Signed-off-by: NAlan Cox <alan@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      89c8d91e
  7. 17 7月, 2012 2 次提交
  8. 07 7月, 2012 1 次提交
    • A
      tty: localise the lock · f5e3bcc5
      Alan Cox 提交于
      The termios and other changes mean the other protections needed on the driver
      tty arrays should be adequate. Turn it all back on.
      
      This contains pieces folded in from the fixes made to the original patches
      
      | From: Geert Uytterhoeven <geert@linux-m68k.org>	(fix m68k)
      | From: Paul Gortmaker <paul.gortmaker@windriver.com>	(fix cris)
      | From: Jiri Kosina <jkosina@suze.cz>			(lockdep)
      | From: Eric Dumazet <eric.dumazet@gmail.com>		(lockdep)
      Signed-off-by: NAlan Cox <alan@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      f5e3bcc5
  9. 03 6月, 2012 1 次提交
    • L
      tty: Revert the tty locking series, it needs more work · f309532b
      Linus Torvalds 提交于
      This reverts the tty layer change to use per-tty locking, because it's
      not correct yet, and fixing it will require some more deep surgery.
      
      The main revert is d29f3ef3 ("tty_lock: Localise the lock"), but
      there are several smaller commits that built upon it, they also get
      reverted here. The list of reverted commits is:
      
        fde86d31 - tty: add lockdep annotations
        8f6576ad - tty: fix ldisc lock inversion trace
        d3ca8b64 - pty: Fix lock inversion
        b1d679af - tty: drop the pty lock during hangup
        abcefe5f - tty/amiserial: Add missing argument for tty_unlock()
        fd11b42e - cris: fix missing tty arg in wait_event_interruptible_tty call
        d29f3ef3 - tty_lock: Localise the lock
      
      The revert had a trivial conflict in the 68360serial.c staging driver
      that got removed in the meantime.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f309532b
  10. 05 5月, 2012 1 次提交
  11. 29 3月, 2012 1 次提交
  12. 09 3月, 2012 2 次提交
  13. 04 2月, 2012 1 次提交
  14. 31 3月, 2011 1 次提交
  15. 23 2月, 2011 1 次提交
  16. 18 2月, 2011 3 次提交
  17. 28 10月, 2010 3 次提交
  18. 23 10月, 2010 1 次提交
  19. 24 8月, 2010 1 次提交
  20. 11 8月, 2010 3 次提交
  21. 20 7月, 2010 1 次提交
  22. 03 3月, 2010 1 次提交
    • P
      serial: synclink_gt: dropped transmit data bugfix · de538eb3
      Paul Fulghum 提交于
      Fix transmit bug that could drop send data if write() called close to
      serial transmitter going idle after sending previous data.  Bug is caused
      by incorrect use of device information member tx_count.
      
      Driver originally processed one data block (write call) at a time, waiting
      for transmit idle before sending more.  tx_count recorded how much data
      was loaded in DMA buffers on write(), and was cleared on send completion. 
      tx_count use was overloaded to record accumulated data from put_char()
      callback when transmitter was idle.
      
      A bug was introduced when transmit code was reworked to allow multiple
      blocks of data in the tx DMA buffers which keeps transmitter from going
      idle between blocks.  tx_count was set to size of last block loaded,
      cleared when tx went idle, and monitored to know when to restart
      transmitter without proper synchronization.  tx_count could be cleared
      when unsent data remained in DMA buffers and transmitter required
      restarting, effectively dropping unsent data.
      
      Solution:
      1. tx_count now used only to track accumulated data from put_char
      2. DMA buffer state tracked by direct inspection of descriptors
         with spinlock synchronization
      3. consolidate these tasks in tx_load() :
         a. check for available buffer space
         b. load buffers
         c. restart DMA and or serial transmitter as needed
         These steps were previously duplicated in multiple places,
         sometimes incompletely.
      4. fix use of tx_count as active transmit indicator,
         instead using tx_active which is meant for that purpose
      Signed-off-by: NPaul Fulghum <paulkf@microgate.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      de538eb3
  23. 01 9月, 2009 1 次提交
  24. 13 7月, 2009 1 次提交
  25. 25 6月, 2009 1 次提交
  26. 11 6月, 2009 2 次提交
  27. 03 4月, 2009 1 次提交