1. 13 7月, 2009 1 次提交
  2. 04 6月, 2009 1 次提交
  3. 11 5月, 2009 1 次提交
  4. 29 4月, 2009 1 次提交
  5. 30 3月, 2009 1 次提交
    • J
      HID: bring back possibility to specify vid/pid ignore on module load · 6f4303fb
      Jiri Kosina 提交于
      When hid quirks were converted to specialized driver, the HID_QUIRK_IGNORE
      has been moved completely, as the hid_ignore_list[] has been moved into the
      generic code.
      
      However userspace already got used to the possibility that modprobing
      usbhid with
      
      	'quirks=vid:pid:0x4'
      
      makes the device ignored by usbhid driver. So keep this quirk flag in place
      for backwards compatibility.
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      6f4303fb
  6. 26 3月, 2009 5 次提交
  7. 08 1月, 2009 1 次提交
    • A
      USB: change interface to usb_lock_device_for_reset() · 011b15df
      Alan Stern 提交于
      This patch (as1161) changes the interface to
      usb_lock_device_for_reset().  The existing interface is apparently not
      very clear, judging from the fact that several of its callers don't
      use it correctly.  The new interface always returns 0 for success and
      it always requires the caller to unlock the device afterward.
      
      The new routine will not return immediately if it is called while the
      driver's probe method is running.  Instead it will wait until the
      probe is over and the device has been unlocked.  This shouldn't cause
      any problems; I don't know of any cases where drivers call
      usb_lock_device_for_reset() during probe.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Cc: Pete Zaitcev <zaitcev@redhat.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      011b15df
  8. 04 1月, 2009 4 次提交
  9. 23 11月, 2008 1 次提交
  10. 14 11月, 2008 1 次提交
  11. 13 11月, 2008 1 次提交
    • J
      HID: fix start/stop cycle in usbhid driver · e3e14de5
      Jiri Slaby 提交于
      `stop' left out usbhid->urb* pointers and so the next `start' thought
      it needs to allocate nothing and used the memory pointers previously
      pointed to. This led to memory corruption and device malfunction.
      
      Also don't forget to clear disconnect flag on start which was left set
      by the previous `stop'.
      
      This fixes
      
      	echo DEVICE > /sys/bus/hid/drivers/DRIVER/unbind
      	echo DEVICE > /sys/bus/hid/drivers/DRIVER/bind
      
      failures.
      Signed-off-by: NJiri Slaby <jirislaby@gmail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      e3e14de5
  12. 27 10月, 2008 2 次提交
  13. 22 10月, 2008 1 次提交
  14. 18 10月, 2008 1 次提交
  15. 15 10月, 2008 14 次提交
  16. 22 7月, 2008 2 次提交
    • M
      USB: fix usb_reset_device and usb_reset_composite_device(take 3) · 742120c6
      Ming Lei 提交于
      This patch renames the existing usb_reset_device in hub.c to
      usb_reset_and_verify_device and renames the existing
      usb_reset_composite_device to usb_reset_device. Also the new
      usb_reset_and_verify_device does't need to be EXPORTED .
      
      The idea of the patch is that external interface driver
      should warn the other interfaces' driver of the same
      device before and after reseting the usb device. One interface
      driver shoud call _old_ usb_reset_composite_device instead of
      _old_ usb_reset_device since it can't assume the device contains
      only one interface. The _old_ usb_reset_composite_device
      is safe for single interface device also. we rename the two
      functions to make the change easily.
      
      This patch is under guideline from Alan Stern.
      Signed-off-by: NMing Lei <tom.leiming@gmail.com>
      742120c6
    • M
      USB: remove interface parameter of usb_reset_composite_device · 625f6949
      Ming Lei 提交于
      From the current implementation of usb_reset_composite_device
      function, the iface parameter is no longer useful. This function
      doesn't do something special for the iface usb_interface,compared
      with other interfaces in the usb_device. So remove the parameter
      and fix the related caller.
      Signed-off-by: NMing Lei <tom.leiming@gmail.com>
      Acked-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      625f6949
  17. 29 4月, 2008 1 次提交
  18. 22 4月, 2008 1 次提交
    • O
      HID: fix race between open() and disconnect() in usbhid · 69626f23
      Oliver Neukum 提交于
      There is a window:
      
      task A					task B
      spin_lock_irq(&usbhid->inlock);	/* Sync with error handler */
      usb_set_intfdata(intf, NULL);
      spin_unlock_irq(&usbhid->inlock);
      usb_kill_urb(usbhid->urbin);
      usb_kill_urb(usbhid->urbout);
      usb_kill_urb(usbhid->urbctrl);
      
      del_timer_sync(&usbhid->io_retry);
      cancel_work_sync(&usbhid->reset_work);
      
      						if (!hid->open++) {
      							res = usb_autopm_get_interface(usbhid->intf);
      							if (res < 0) {
      								hid->open--;
      								return -EIO;
      							}
      						}
      						if (hid_start_in(hid))
      
      if (hid->claimed & HID_CLAIMED_INPUT)
      	hidinput_disconnect(hid);
      
      in which an open() to an already disconnected device will submit an URB
      to an undead device. In case disconnect() was called by an ioctl, this'll
      oops. Fix by introducing a new flag and checking it in hid_start_in().
      Signed-off-by: NOliver Neukum <oneukum@suse.de>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      69626f23