Comment 3 for bug 746860

Revision history for this message
Thilo-Alexander Ginkel (thilo.ginkel) wrote :

I identified the faulty commit (using a git bisect):

bd25f4dd6972755579d0ea50d1a5ace2e9b00d1a is the first bad commit
commit bd25f4dd6972755579d0ea50d1a5ace2e9b00d1a
Author: Arnd Bergmann <email address hidden>
Date: Sun Jul 11 15:34:05 2010 +0200

    HID: hiddev: use usb_find_interface, get rid of BKL

    This removes the private hiddev_table in the usbhid
    driver and changes it to use usb_find_interface
    instead.

    The advantage is that we can avoid the race between
    usb_register_dev and usb_open and no longer need the
    big kernel lock.

    This doesn't introduce race condition -- the intf pointer could be
    invalidated only in hiddev_disconnect() through usb_deregister_dev(),
    but that will block on minor_rwsem and not actually remove the device
    until usb_open().

    Signed-off-by: Arnd Bergmann <email address hidden>
    Cc: Jiri Kosina <email address hidden>
    Cc: "Greg Kroah-Hartman" <email address hidden>
    Signed-off-by: Jiri Kosina <email address hidden>

:040000 040000 4ae14b3ba486373d7a354874e9ad334858f094e3
8041ffda20ca3020a6b60d64235ae179f8186bf0 M drivers

Further details in the referenced upstream bug report.