1. 30 Mar, 2009 3 commits
    • Oliver Neukum's avatar
      HID: fix race between usb_register_dev() and hiddev_open() · e43bd67d
      Oliver Neukum authored
      upon further thought this code is still racy.
      
      	retval = usb_register_dev(usbhid->intf, &hiddev_class);
      
      here you open a window during which open can happen
      
      	if (retval) {
      		err_hid("Not able to get a minor for this device.");
      		hid->hiddev = NULL;
      		kfree(hiddev);
      		return -1;
      	} else {
      		hid->minor = usbhid->intf->minor;
      		hiddev_table[usbhid->intf->minor - HIDDEV_MINOR_BASE] = hiddev;
      
      and will fail because hiddev_table hasn't been updated
      
      The obvious fix of using a mutex to guard hiddev_table doesn't work because
      usb_open() and usb_register_dev() take minor_rwsem and we'd have an AB-BA
      deadlock. We need a lock usb_open() also takes in the right order and that leaves
      only one option, BKL. I don't like it but I see no alternative.
      
      Once the usb_open() implements something better than lock_kernel(), we could also
      do so.
      Signed-off-by: default avatarOliver Neukum <oneukum@suse.de>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      e43bd67d
    • Jiri Kosina's avatar
      HID: bring back possibility to specify vid/pid ignore on module load · 6f4303fb
      Jiri Kosina authored
      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: default avatarJiri Kosina <jkosina@suse.cz>
      6f4303fb
    • Pavel Machek's avatar
      HID: make HID_DEBUG defaults consistent · 205adbec
      Pavel Machek authored
      Make defaults consistent with help text suggestions for HID_DEBUG.
      Signed-off-by: default avatarPavel Machek <pavel@suse.cz>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      205adbec
  2. 29 Mar, 2009 11 commits
  3. 28 Mar, 2009 26 commits