1. 18 10月, 2010 6 次提交
  2. 13 10月, 2010 12 次提交
  3. 11 10月, 2010 1 次提交
  4. 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
  5. 30 9月, 2010 4 次提交
  6. 21 9月, 2010 1 次提交
  7. 20 9月, 2010 1 次提交
  8. 16 9月, 2010 1 次提交
  9. 14 9月, 2010 1 次提交
  10. 12 9月, 2010 5 次提交
  11. 10 9月, 2010 2 次提交
    • D
      Input: sparse-keymap - switch to using new keycode interface · 67127f30
      Dmitry Torokhov 提交于
      Switch sparse keymap library to use new style of getkeycode and
      setkeycode methods to allow retrieving and setting keycodes not
      only by their scancodes but also by index.
      Acked-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      67127f30
    • M
      Input: add support for large scancodes · 8613e4c2
      Mauro Carvalho Chehab 提交于
      Several devices use a high number of bits for scancodes. One important
      group is the Remote Controllers. Some new protocols like RC-6 define a
      scancode space of 64 bits.
      
      The current EVIO[CS]GKEYCODE ioctls allow replace the scancode/keycode
      translation tables, but it is limited to up to 32 bits for scancode.
      
      Also, if userspace wants to clean the existing table, replacing it by
      a new one, it needs to run a loop calling the ioctls over the entire
      sparse scancode space.
      
      To solve those problems, this patch extends the ioctls to allow drivers
      handle scancodes up to 32 bytes long (the length could be extended in
      the future should such need arise) and allow userspace to query and set
      scancode to keycode mappings not only by scancode but also by index.
      
      Compatibility code were also added to handle the old format of
      EVIO[CS]GKEYCODE ioctls.
      
      Folded fixes by:
      - Dan Carpenter: locking fixes for the original implementation
      - Jarod Wilson: fix crash when setting keycode and wiring up get/set
                      handlers in original implementation.
      - Dmitry Torokhov: rework to consolidate old and new scancode handling,
                         provide options to act either by index or scancode.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      Signed-off-by: NDan Carpenter <error27@gmail.com>
      Signed-off-by: NJarod Wilson <jarod@redhat.com>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      8613e4c2
  12. 07 9月, 2010 1 次提交
  13. 06 9月, 2010 4 次提交