summaryrefslogtreecommitdiffstats
path: root/drivers/hid/hid-logitech-dj.h
diff options
context:
space:
mode:
authorNestor Lopez Casado <nlopezcasad@logitech.com>2012-09-21 12:21:34 +0200
committerJiri Kosina <jkosina@suse.cz>2012-09-22 10:58:48 +0200
commit596264082f10dd4a567c43d4526b2f54ac5520bc (patch)
treec579bba38c8a9d6f38b3b68661c4268396e477e5 /drivers/hid/hid-logitech-dj.h
parentHID: lenovo-tpkbd: Fix memory leak in tpkbd_remove_tp() (diff)
downloadlinux-596264082f10dd4a567c43d4526b2f54ac5520bc.tar.xz
linux-596264082f10dd4a567c43d4526b2f54ac5520bc.zip
HID: Fix logitech-dj: missing Unifying device issue
This patch fixes an issue introduced after commit 4ea5454203d991ec ("HID: Fix race condition between driver core and ll-driver"). After that commit, hid-core discards any incoming packet that arrives while hid driver's probe function is being executed. This broke the enumeration process of hid-logitech-dj, that must receive control packets in-band with the mouse and keyboard packets. Discarding mouse or keyboard data at the very begining is usually fine, but it is not the case for control packets. This patch forces a re-enumeration of the paired devices when a packet arrives that comes from an unknown device. Based on a patch originally written by Benjamin Tissoires. Cc: stable@vger.kernel.org # v3.2+ Signed-off-by: Nestor Lopez Casado <nlopezcasad@logitech.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/hid-logitech-dj.h')
-rw-r--r--drivers/hid/hid-logitech-dj.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/hid/hid-logitech-dj.h b/drivers/hid/hid-logitech-dj.h
index fd28a5e0ca3b..4a4000340ce1 100644
--- a/drivers/hid/hid-logitech-dj.h
+++ b/drivers/hid/hid-logitech-dj.h
@@ -101,6 +101,7 @@ struct dj_receiver_dev {
struct work_struct work;
struct kfifo notif_fifo;
spinlock_t lock;
+ bool querying_devices;
};
struct dj_device {