28 Nov, 2008

1 commit

  • While parsing 'hid_blacklist' in the apple alu wireless keyboard is not found.
    This happens because in the blacklist it is declared with HID_USB_DEVICE
    although the keyboards are really bluetooth devices. The same holds for
    'apple_devices' list.

    This patch fixes it by changing HID_USB_DEVICE to HID_BLUETOOTH_DEVICE in those
    two lists.

    Signed-off-by: Jan Scholz
    Signed-off-by: Jiri Kosina

    Jan Scholz
     

23 Nov, 2008

1 commit

  • It causes recursive locking warning and is unneeded after
    introduction of STARTED flag.

    * Resume vs. stop is effectively solved by DISCONNECT flag.
    * No problem in suspend vs. start -- urb is submitted even after open
    which is possible after connect which is called after start.
    * Resume vs. start solved by STARTED flag.
    * Suspend vs. stop -- no problem in killing urb and timer twice.

    Reported-by: Alan Stern
    Signed-off-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     

20 Nov, 2008

2 commits

  • 0x0810/0x0002 needs the very same handling as 0x0001.

    Reported-by: Steve Conklin
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • In commit a96d6ef34, the mouse interfaces on the unibody macbooks were
    put into hid mouse ignore list. This was a little bit too premature
    though, as the corresponding bcm5974 changes are scheduled for 2.6.29.

    Remove these devices from the ignore list for now, in order to provide at
    least basic functionality with the HID driver.

    Will be reintroduced in 2.6.29

    Reported-by: Henrik Rydberg
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     

17 Nov, 2008

1 commit


14 Nov, 2008

1 commit

  • Some devices have no input interrupt endpoint. These won't be handled
    by usbhid, but currently they are not refused and reside on hid bus.

    Perform this checking earlier so that we refuse to control such
    a device early enough (and not pass it to the hid bus at all).

    Signed-off-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     

13 Nov, 2008

7 commits

  • This patch fixes radio-mr800 hidqurks. Removes it from blacklist entry
    and places it in ignore entry in hid/hid-core.c

    Signed-off-by: Alexey Klimov
    Signed-off-by: Jiri Kosina

    Alexey Klimov
     
  • This patch fixes kworld fm700 usb-radio hidqurks that handled by
    radio-si470x. Removes it from blacklist entry and places it in ignore
    entry in hid/hid-core.c

    The bug went in through the V4L/DVB tree by commit 6a13378a without
    HID maintainer being involved at all.

    Signed-off-by: Alexey Klimov
    Signed-off-by: Jiri Kosina

    Alexey Klimov
     
  • `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: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     
  • Use single threaded work queue for hid_compat

    I doubt HID really needs to scale over multiple CPUs. So only use a
    single threaded workqueue for HID_COMPAT. This avoids some excessive
    thread use on systems with a larger number of CPUs.

    Signed-off-by: Andi Kleen
    Signed-off-by: Jiri Kosina

    Andi Kleen
     
  • On macbooks there are specific keys for the user-space functions Expose
    and Dashboard, which currently has no counterpart in input.h. This patch
    adds KEY_SCALE and KEY_DASHBOARD, and maps the keyboard accordingly.

    Acked-by: Dmitry Torokhov
    Signed-off-by: Henrik Rydberg
    Signed-off-by: Jiri Kosina

    Henrik Rydberg
     
  • The unibody MacBook 5 and MacBook Pro 5 come with a new version of
    the bcm5974 trackpad. This patch adds the USB device ids and all
    the appropriate quirks, including hid_blacklist.

    Signed-off-by: Henrik Rydberg
    Signed-off-by: Jiri Kosina

    Henrik Rydberg
     
  • As open needs to sleep hidraw was wrong to call it with a spinlock held.
    Furthermore, open can of course fail which needs to be handled.

    Signed-off-by: Oliver Neukum
    Signed-off-by: Jiri Kosina

    Oliver Neukum
     

11 Nov, 2008

1 commit


02 Nov, 2008

1 commit

  • As it is, all instances of ->release() for files that have ->fasync()
    need to remember to evict file from fasync lists; forgetting that
    creates a hole and we actually have a bunch that *does* forget.

    So let's keep our lives simple - let __fput() check FASYNC in
    file->f_flags and call ->fasync() there if it's been set. And lose that
    crap in ->release() instances - leaving it there is still valid, but we
    don't have to bother anymore.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     

30 Oct, 2008

1 commit

  • This patch (as1157) adds a no-name PS/2-to-USB keyboard+mouse adapter
    to the hid-dell driver. (The device shows up with a Product string
    saying "Generic USB K/B", nothing more.) This will force an initial
    "Set-LEDs" report to be sent to the device, without which it won't
    send any keystroke information. Several bug reports mentioning this
    device have been filed in various forums; the patch should resolve
    them.

    This is just a temporary stop-gap for 2.6.28. A later patch for
    2.6.29 will introduce a more generic mechanism for "Set-LEDs", making
    this change (and the entire hid-dell driver) unnecessary.

    Signed-off-by: Alan Stern
    Signed-off-by: Jiri Kosina

    Alan Stern
     

27 Oct, 2008

3 commits

  • When suspending, make sure that the timer is not running
    any more.

    Signed-off-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     
  • Usbhid structure is allocated on start invoked only from probe
    of some driver. When there is no driver, the structure is null
    and causes null-dereference oopses.

    Fix it by allocating the structure on probe and disconnect of
    the device itself. Also make sure we won't race between start
    and resume or stop and suspend respectively.

    References: http://bugzilla.kernel.org/show_bug.cgi?id=11827

    Signed-off-by: Jiri Slaby
    Cc: Johannes Berg
    Cc: Andreas Schwab
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
    HID: Add support for Sony Vaio VGX-TP1E
    HID: fix lock imbalance in hiddev
    HID: fix lock imbalance in hidraw
    HID: fix hidbus/appletouch device binding regression
    HID: add hid_type to general hid struct
    HID: quirk for OLED devices present in ASUS G50/G70/G71
    HID: Remove "default m" for Thrustmaster and Zeroplus
    HID: fix hidraw_exit section mismatch
    HID: add support for another Gyration remote control
    Revert "HID: Invert HWHEEL mappings for some Logitech mice"

    Linus Torvalds
     

23 Oct, 2008

3 commits

  • The Sony Vaio VGX-TP1E multimedia PC has a wireless keyboard with
    a touchpad.

    The mouse pointer is wrongly declared as constant non-data variable, which make
    HID code to completely ignore all the "Pointer" usages.
    Fix the report descriptor before it enters the parser to contain touchpad
    pointer description that is correctly parsable (declaring data rather than
    constant).

    Reported-by: Stefan Hundhammer
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • Don't forget to unlock_kernel() in hiddev_ioctl_usage().
    Added in 7961df16819085b8a357720d89d0239036e6af2a
    (HID: Switch hiddev to unlocked_ioctl).

    Corresponing sparse warning:
    drivers/hid/usbhid/hiddev.c:515:10: warning: context imbalance in 'hiddev_ioctl_usage': wrong count at exit
    drivers/hid/usbhid/hiddev.c:515:10: context 'kernel_lock': wanted 0, got 1

    Signed-off-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     
  • Add omitted unlock_kernel() to hidraw_ioctl().
    Added in 979c407e3b89b606e810fa494ef316896eadbfad
    (HID: Push down BKL into ioctl handler in hidraw).

    Corresponing sparse warning:
    drivers/hid/hidraw.c:267:9: warning: context imbalance in 'hidraw_ioctl': wrong count at exit
    drivers/hid/hidraw.c:267:9: context 'kernel_lock': wanted 0, got 1

    Signed-off-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     

22 Oct, 2008

2 commits

  • The appletouch mouse devices are grabbed by the hid bus and not
    released even if apple driver says ENODEV (as expected) -- these
    are composite USB devices, for which we only ignore the mouse
    interface. This is currently not handled by hidbus code properly.

    Move the ignoring one level upper to forbid the hid layer to grab the
    device.

    Reported-by: Justin Mattock
    Reported-by: Steven Noonan
    Signed-off-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     
  • Add type to the hid structure to distinguish to which device type
    (now only mouse) we are talking to. Needed for per device type ignore
    list support.

    Note: this patch leaves the type as unknown for bluetooth devices,
    there is not support for this in the hidp code.

    Signed-off-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     

20 Oct, 2008

2 commits


18 Oct, 2008

2 commits


17 Oct, 2008

4 commits

  • There is a slightly different Gyration remote control, which
    requires the quirks we already have in place for the 0x0002 PID,
    plus KEY_MEDIA mapping is different.

    Reported-by: Marc Randolph
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • This reverts commit 740f370dc61dc478d891d7d47660bb3ae39ddb4f.

    It turned out to be correct in the first place: a positive value should
    be sent when the wheel is moved to the right, and a negative value when
    moved to the left. This is the behavior expected by the Xorg evdev
    driver. I must have had a remapping somewhere else in my system when
    originally testing this. Testing on another system shows that the
    unpatched kernel is correct.

    Here is a bug report from Mandriva that brought the problem to my
    attention:

    https://qa.mandriva.com/show_bug.cgi?id=44309#c19

    Signed-off-by: Dan Nicholson
    Signed-off-by: Jiri Kosina

    Dan Nicholson
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (46 commits)
    UIO: Fix mapping of logical and virtual memory
    UIO: add automata sercos3 pci card support
    UIO: Change driver name of uio_pdrv
    UIO: Add alignment warnings for uio-mem
    Driver core: add bus_sort_breadthfirst() function
    NET: convert the phy_device file to use bus_find_device_by_name
    kobject: Cleanup kobject_rename and !CONFIG_SYSFS
    kobject: Fix kobject_rename and !CONFIG_SYSFS
    sysfs: Make dir and name args to sysfs_notify() const
    platform: add new device registration helper
    sysfs: use ilookup5() instead of ilookup5_nowait()
    PNP: create device attributes via default device attributes
    Driver core: make bus_find_device_by_name() more robust
    usb: turn dev_warn+WARN_ON combos into dev_WARN
    debug: use dev_WARN() rather than WARN_ON() in device_pm_add()
    debug: Introduce a dev_WARN() function
    sysfs: fix deadlock
    device model: Do a quickcheck for driver binding before doing an expensive check
    Driver core: Fix cleanup in device_create_vargs().
    Driver core: Clarify device cleanup.
    ...

    Linus Torvalds
     
  • Now that device_create() has been audited, rename things back to the
    original call to be sane.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

16 Oct, 2008

3 commits


15 Oct, 2008

5 commits