1. 04 1月, 2009 1 次提交
  2. 23 11月, 2008 1 次提交
  3. 27 10月, 2008 1 次提交
  4. 15 10月, 2008 2 次提交
    • A
      HID: fix a lockup regression when using force feedback on a PID device · f129ea6d
      Anssi Hannula 提交于
      Commit 8006479c introduced a spinlock in
      input_dev->event_lock, which is locked when handling input events.
      However, the hid-pidff driver sleeps when handling events as it waits for
      reports being sent to the device before changing the report contents
      again.
      This causes a system lockup when trying to use force feedback with a PID
      device, a regression introduced in 2.6.24 and 2.6.23.15.
      
      Fix it by extracting the raw report data from struct hid_report
      immediately when hid_submit_report() is called, therefore allowing
      drivers to change the contents of struct hid_report immediately without
      affecting the already-queued transfer.
      
      In hid-pidff, re-add the removed usbhid_wait_io() to
      pidff_erase_effect() instead, to prevent a full report queue from causing
      the submission to fail, thus not freeing up device memory.
      pidff_erase_effect() is not called while dev->event_lock is held.
      Signed-off-by: NAnssi Hannula <anssi.hannula@gmail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      f129ea6d
    • J
      HID: make a bus from hid code · 85cdaf52
      Jiri Slaby 提交于
      Make a bus from hid core. This is the first step for converting all the
      quirks and separate almost-drivers into real drivers attached to this bus.
      
      It's implemented to change behaviour in very tiny manner, so that no driver
      needs to be changed this time.
      
      Also add generic drivers for both usb and bt into usbhid or hidp
      respectively which will bind all non-blacklisted device. Those blacklisted
      will be either grabbed by special drivers or by nobody if they are broken at
      the very rude base.
      Signed-off-by: NJiri Slaby <jslaby@suse.cz>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      85cdaf52
  5. 22 4月, 2008 1 次提交
  6. 11 4月, 2007 1 次提交
  7. 22 1月, 2007 1 次提交
    • A
      HID: put usb_interface instead of usb_device into hid->dev to fix udevinfo breakage · be820975
      Anssi Hannula 提交于
      The commit 4916b3a5 introduced a
      hid regression between 2.6.19 and 2.6.20-rc1. The device put in
      input_dev->cdev is now of type usb_device instead of usb_interface.
      
      Before:
      > # readlink -f /sys/class/input/input6/event4/device
      > /sys/devices/pci0000:00/0000:00:10.0/usb2/2-1/2-1:1.1
      After:
      > # readlink -f /sys/class/input/input3/event3/device
      > /sys/devices/pci0000:00/0000:00:10.0/usb1/1-1
      
      This causes breakage:
      > # udevinfo -q all -n /dev/input/event3
      > P: /class/input/input3/event3
      > N: input/event3
      > S: input/by-path/pci-1-1--event-
      > E: ID_SERIAL=noserial
      > E: ID_PATH=pci-1-1-
      
      No ID_MODEL, ID_VENDOR, ID_REVISION, ID_TYPE etc etc.
      
      Fix this by assigning the intf->dev into hid->dev, and fixing
      all the users.
      Signed-off-by: NAnssi Hannula <anssi.hannula@gmail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      be820975
  8. 09 12月, 2006 1 次提交
    • J
      [PATCH] Generic HID layer - USB API · 4916b3a5
      Jiri Kosina 提交于
      - 'dev' in struct hid_device changed from struct usb_device to
        struct device and fixed all the users
      - renamed functions which are part of USB HID API from 'hid_*' to
        'usbhid_*'
      - force feedback initialization moved from common part into USB-specific
        driver
      - added usbhid.h header for USB HID API users
      - removed USB-specific fields from struct hid_device and moved them
        to new usbhid_device, which is pointed to by hid_device->driver_data
      - fixed all USB users to use this new structure
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      4916b3a5