1. 05 5月, 2012 1 次提交
  2. 29 3月, 2012 1 次提交
  3. 09 3月, 2012 2 次提交
  4. 04 2月, 2012 1 次提交
  5. 31 3月, 2011 1 次提交
  6. 23 2月, 2011 1 次提交
  7. 18 2月, 2011 3 次提交
  8. 28 10月, 2010 3 次提交
  9. 23 10月, 2010 1 次提交
  10. 24 8月, 2010 1 次提交
  11. 11 8月, 2010 3 次提交
  12. 20 7月, 2010 1 次提交
  13. 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
  14. 01 9月, 2009 1 次提交
  15. 13 7月, 2009 1 次提交
  16. 25 6月, 2009 1 次提交
  17. 11 6月, 2009 2 次提交
  18. 03 4月, 2009 1 次提交
  19. 01 4月, 2009 1 次提交
  20. 22 1月, 2009 1 次提交
  21. 16 1月, 2009 1 次提交
  22. 03 1月, 2009 3 次提交
  23. 17 8月, 2008 1 次提交
  24. 24 7月, 2008 1 次提交
  25. 23 7月, 2008 6 次提交