1. 31 10月, 2010 1 次提交
  2. 29 10月, 2010 2 次提交
    • D
      Input: bu21013_ts - fix null dereference in error handling · bac64d0f
      Dan Carpenter 提交于
      bu21013_data could be NULL so better not reference it.
      Signed-off-by: NDan Carpenter <error27@gmail.com>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      bac64d0f
    • M
      Input: ad7879 - prevent invalid finger data reports · b584efc9
      Michael Hennerich 提交于
      Considering following scenario - the touch is present on the screen
      at the beginning of the last conversion sequence, but by the time
      the last sequence is finished, the finger is lift off. The AD7879 data
      available interrupt signals (DAV) completion, however some X,Y values
      are not valid because the screen inputs were floating during the
      acquisition.
      
      The AD7877 acts differently here, since it only asserts DAV if the
      touch is still present when the conversion sequence finished.
      
      Based on the fact that this can only happen in the last sample of the
      repeated conversion sequence, we simply skip the last (short glitches
      are filtered by the AD7879 internal median and average filters).
      This doesn't cause noticeable side effects, since the minimum conversion
      interval is 9.44ms. We receive ~100 waypoint samples per second, so we
      simply delay the result by 9.44ms.
      
      We also reject samples where pressure is greater than pressure_max.
      Signed-off-by: NMichael Hennerich <michael.hennerich@analog.com>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      b584efc9
  3. 25 10月, 2010 3 次提交
  4. 19 10月, 2010 4 次提交
  5. 18 10月, 2010 10 次提交
  6. 13 10月, 2010 13 次提交
  7. 11 10月, 2010 1 次提交
  8. 05 10月, 2010 1 次提交
    • D
      Input: wacom - fix runtime PM related deadlock · f6cd3783
      Dmitry Torokhov 提交于
      When runtime PM is enabled by default for input devices, X hangs in
      wacom open:
      [<ffffffff814a00ea>] mutex_lock+0x1a/0x40
      [<ffffffffa02bc94b>] wacom_resume+0x3b/0x90 [wacom]
      [<ffffffff81327a32>] usb_resume_interface+0xd2/0x190
      [<ffffffff81327b5d>] usb_resume_both+0x6d/0x110
      [<ffffffff81327c24>] usb_runtime_resume+0x24/0x40
      [<ffffffff8130a2cf>] __pm_runtime_resume+0x26f/0x450
      [<ffffffff8130a23a>] __pm_runtime_resume+0x1da/0x450
      [<ffffffff8130a53a>] pm_runtime_resume+0x2a/0x50
      [<ffffffff81328176>] usb_autopm_get_interface+0x26/0x60
      [<ffffffffa02bc626>] wacom_open+0x36/0x90 [wacom]
      
      wacom_open() takes wacom->lock and calls usb_autopm_get_interface(),
      which in turn calls wacom_resume() which tries to acquire the lock
      again.
      
      The fix is to call usb_autopm_get_interface() first, before we take
      the lock.
      
      Since we do not do usb_autopm_put_interface() until wacom_close()
      is called runtime PM is effectively disabled for the driver, however
      changing it now would risk regressions so the complete fix will
      have to wait till the next merge window.
      Reported-by: NJiri Slaby <jslaby@suse.cz>
      Acked-by: NOliver Neukum <oneukum@suse.de>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      f6cd3783
  9. 30 9月, 2010 5 次提交