<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux.git/drivers/hid/hid-logitech-dj.h, branch master</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=master</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/'/>
<updated>2014-10-29T09:51:39+00:00</updated>
<entry>
<title>HID: logitech-dj: merge header file into the source</title>
<updated>2014-10-29T09:51:39+00:00</updated>
<author>
<name>Benjamin Tissoires</name>
<email>benjamin.tissoires@redhat.com</email>
</author>
<published>2014-09-30T17:18:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=8cb3746a6ee28c7b4d061689e13b8e5be80b14cc'/>
<id>urn:sha1:8cb3746a6ee28c7b4d061689e13b8e5be80b14cc</id>
<content type='text'>
There is no point in keeping the header in a separate file, nobody
but hid-logitech-dj should have access to its content.

Signed-off-by: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Tested-by: Andrew de los Reyes &lt;adlr@chromium.org&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: logitech-dj: rely on hid groups to separate receivers from dj devices</title>
<updated>2014-10-29T09:51:38+00:00</updated>
<author>
<name>Benjamin Tissoires</name>
<email>benjamin.tissoires@redhat.com</email>
</author>
<published>2014-09-30T17:18:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=d610274b0301e5ef35811fa736036d022f707564'/>
<id>urn:sha1:d610274b0301e5ef35811fa736036d022f707564</id>
<content type='text'>
Several benefits here:
- we can drop the macro is_dj_device: I never been really conviced by
  this macro as we could fall into a null pointer anytime. Anyway time
  showed that this never happened.
- we can simplify the hid driver logitech-djdevice, and make it aware
  of any new receiver VID/PID.
- we can use the Wireless PID of the DJ device as the product id of the
  hid device, this way the sysfs will differentiate between different
  DJ devices.

Signed-off-by: Benjamin Tisssoires &lt;benjamin.tissoires@redhat.com&gt;
Tested-by: Andrew de los Reyes &lt;adlr@chromium.org&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: logitech-dj: prevent false errors to be shown</title>
<updated>2014-08-25T07:59:51+00:00</updated>
<author>
<name>Benjamin Tissoires</name>
<email>benjamin.tissoires@redhat.com</email>
</author>
<published>2014-08-22T20:16:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=5abfe85c1d4694d5d4bbd13ecc166262b937adf0'/>
<id>urn:sha1:5abfe85c1d4694d5d4bbd13ecc166262b937adf0</id>
<content type='text'>
Commit "HID: logitech: perform bounds checking on device_id early
enough" unfortunately leaks some errors to dmesg which are not real
ones:
- if the report is not a DJ one, then there is not point in checking
  the device_id
- the receiver (index 0) can also receive some notifications which
  can be safely ignored given the current implementation

Move out the test regarding the report_id and also discards
printing errors when the receiver got notified.

Fixes: ad3e14d7c5268c2e24477c6ef54bbdf88add5d36

Cc: stable@vger.kernel.org
Reported-and-tested-by: Markus Trippelsdorf &lt;markus@trippelsdorf.de&gt;
Signed-off-by: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: Revert "Revert "HID: Fix logitech-dj: missing Unifying device issue""</title>
<updated>2013-07-22T14:32:24+00:00</updated>
<author>
<name>Nestor Lopez Casado</name>
<email>nlopezcasad@logitech.com</email>
</author>
<published>2013-07-18T13:21:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=c63e0e370028d7e4033bd40165f18499872b5183'/>
<id>urn:sha1:c63e0e370028d7e4033bd40165f18499872b5183</id>
<content type='text'>
This reverts commit 8af6c08830b1ae114d1a8b548b1f8b056e068887.

This patch re-adds the workaround introduced by 596264082f10dd4
which was reverted by 8af6c08830b1ae114.

The original patch 596264 was needed to overcome a situation where
the hid-core would drop incoming reports while probe() was being
executed.

This issue was solved by c849a6143bec520af which added
hid_device_io_start() and hid_device_io_stop() that enable a specific
hid driver to opt-in for input reports while its probe() is being
executed.

Commit a9dd22b730857347 modified hid-logitech-dj so as to use the
functionality added to hid-core. Having done that, workaround 596264
was no longer necessary and was reverted by 8af6c08.

We now encounter a different problem that ends up 'again' thwarting
the Unifying receiver enumeration. The problem is time and usb controller
dependent. Ocasionally the reports sent to the usb receiver to start
the paired devices enumeration fail with -EPIPE and the receiver never
gets to enumerate the paired devices.

With dcd9006b1b053c7b1c the problem was "hidden" as the call to the usb
driver became asynchronous and none was catching the error from the
failing URB.

As the root cause for this failing SET_REPORT is not understood yet,
-possibly a race on the usb controller drivers or a problem with the
Unifying receiver- reintroducing this workaround solves the problem.

Overall what this workaround does is: If an input report from an
unknown device is received, then a (re)enumeration is performed.

related bug:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1194649

Signed-off-by: Nestor Lopez Casado &lt;nlopezcasad@logitech.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>Revert "HID: Fix logitech-dj: missing Unifying device issue"</title>
<updated>2013-03-01T13:14:59+00:00</updated>
<author>
<name>Andrew de los Reyes</name>
<email>adlr@chromium.org</email>
</author>
<published>2013-02-18T17:20:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=8af6c08830b1ae114d1a8b548b1f8b056e068887'/>
<id>urn:sha1:8af6c08830b1ae114d1a8b548b1f8b056e068887</id>
<content type='text'>
This reverts commit 596264082f10dd4a567c43d4526b2f54ac5520bc.

The reverted commit was a workaround needed when drivers became unable
to communicate with devices during probe(). Now that such
communication is possible, the workaround is not needed.

Signed-off-by: Andrew de los Reyes &lt;adlr@chromium.org&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: Fix logitech-dj: missing Unifying device issue</title>
<updated>2012-09-22T08:58:48+00:00</updated>
<author>
<name>Nestor Lopez Casado</name>
<email>nlopezcasad@logitech.com</email>
</author>
<published>2012-09-21T10:21:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=596264082f10dd4a567c43d4526b2f54ac5520bc'/>
<id>urn:sha1:596264082f10dd4a567c43d4526b2f54ac5520bc</id>
<content type='text'>
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 &lt;nlopezcasad@logitech.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: hid-logitech-dj: fix off by one</title>
<updated>2011-09-20T14:09:22+00:00</updated>
<author>
<name>Nestor Lopez Casado</name>
<email>nlopezcasad@logitech.com</email>
</author>
<published>2011-09-20T13:59:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=844580ff63ef4eb19eec4cfd8cd6e0b62d81279f'/>
<id>urn:sha1:844580ff63ef4eb19eec4cfd8cd6e0b62d81279f</id>
<content type='text'>
There is a bug where a device with index 6 would write out of bounds in
the array of paired devices.
This patch fixes that problem.

Reported-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Reviewed-by: Benjamin Tissoires &lt;benjamin.tissoires@gmail.com&gt;
Reviewed-by: Olivier Gay &lt;ogay@logitech.com&gt;
Signed-off-by: Nestor Lopez Casado &lt;nlopezcasad@logitech.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: Add full support for Logitech Unifying receivers</title>
<updated>2011-09-15T09:34:49+00:00</updated>
<author>
<name>Nestor Lopez Casado</name>
<email>nlopezcasad@logitech.com</email>
</author>
<published>2011-09-15T09:34:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=534a7b8e10ec55d9f521e68c20dbb3634c25b98a'/>
<id>urn:sha1:534a7b8e10ec55d9f521e68c20dbb3634c25b98a</id>
<content type='text'>
With this driver, all the devices paired to a single Unifying
receiver are exposed to user processes in separated /input/dev
nodes.

Keyboards with different layouts can be treated differently,
Multiplayer games on single PC (like home theater PC) can
differentiate input coming from different kbds paired to the
same receiver.

Up to now, when Logitech Unifying receivers are connected to a
Linux based system, a single keyboard and a single mouse are
presented to the HID Layer, even if the Unifying receiver can
pair up to six compatible devices. The Unifying receiver by default
multiplexes all incoming events (from multiple keyboards/mice)
into these two.

Signed-off-by: Nestor Lopez Casado &lt;nlopezcasad@logitech.com&gt;
Signed-off-by: Benjamin Tissoires &lt;benjamin.tissoires@gmail.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
</feed>
