1. 08 3月, 2011 2 次提交
    • M
      serial: msm_serial_hs: Add MSM high speed UART driver · 55046237
      Mayank Rana 提交于
      This driver supports UART-DM HW on MSM platforms. It uses the on
      chip DMA to drive data transfers and has optional support for UART
      power management independent of Linux suspend/resume and wakeup
      from Rx.
      
      The driver was originally developed by Google. It is functionally
      equivalent to the version available at:
      http://android.git.kernel.org/?p=kernel/experimental.git
      the differences being:
      1) Remove wakelocks and change unsupported DMA API.
      2) Replace clock selection register codes by macros.
      3) Fix checkpatch errors and add inline documentation.
      4) Add runtime PM hooks for active power state transitions.
      5) Handle error path and cleanup resources if required.
      
      CC: Nick Pelly <npelly@google.com>
      Signed-off-by: NSankalp Bose <sankalpb@codeaurora.org>
      Signed-off-by: NMayank Rana <mrana@codeaurora.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      55046237
    • X
      tty_audit: fix tty_audit_add_data live lock on audit disabled · 00bff392
      Xiaotian Feng 提交于
      The current tty_audit_add_data code:
      
              do {
                      size_t run;
      
                      run = N_TTY_BUF_SIZE - buf->valid;
                      if (run > size)
                              run = size;
                      memcpy(buf->data + buf->valid, data, run);
                      buf->valid += run;
                      data += run;
                      size -= run;
                      if (buf->valid == N_TTY_BUF_SIZE)
                              tty_audit_buf_push_current(buf);
              } while (size != 0);
      
      If the current buffer is full, kernel will then call tty_audit_buf_push_current
      to empty the buffer. But if we disabled audit at the same time, tty_audit_buf_push()
      returns immediately if audit_enabled is zero.  Without emptying the buffer.
      With obvious effect on tty_audit_add_data() that ends up spinning in that loop,
      copying 0 bytes at each iteration and attempting to push each time without any effect.
      Holding the lock all along.
      Suggested-by: NAlexander Viro <aviro@redhat.com>
      Signed-off-by: NXiaotian Feng <dfeng@redhat.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      00bff392
  2. 26 2月, 2011 2 次提交
  3. 23 2月, 2011 17 次提交
  4. 18 2月, 2011 19 次提交