- 20 5月, 2014 1 次提交
-
-
由 Kees Cook 提交于
Some drivers use the first HID report in the list instead of using an index. In these cases, validation uses ID 0, which was supposed to mean "first known report". This fixes the problem, which was causing at least the lgff family of devices to stop working since hid_validate_values was being called with ID 0, but the devices used single numbered IDs for their reports: 0x05, 0x01, /* Usage Page (Desktop), */ 0x09, 0x05, /* Usage (Gamepad), */ 0xA1, 0x01, /* Collection (Application), */ 0xA1, 0x02, /* Collection (Logical), */ 0x85, 0x01, /* Report ID (1), */ ... Cc: stable@vger.kernel.org Reported-by: NSimon Wood <simon@mungewell.org> Signed-off-by: NKees Cook <keescook@chromium.org> Reviewed-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 05 5月, 2014 1 次提交
-
-
由 Benjamin Tissoires 提交于
The extra seven bits are only required when allocating the report buffer. We can not use those extra bytes for the length of the report in the generic implementation of .request because the device might (will) refuse the set_report command. This has been verified on the Atmel touchpad found on the Samsung Ativ 9 plus, which uses hid-multitouch and HID over I2C. Without this fix, the device refuses to switch to the multitouch mode, and it becomes unresponsive from the user point of view. Actually, this has been discussed during the initial submission of the commit 4fa5a7f7, see https://patchwork.kernel.org/patch/3621751/ Unfortunately, I completely forgot about it later. Reported-by: NMatthias Bayer <thematthiasbayer@gmail.com> Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 07 4月, 2014 2 次提交
-
-
由 Benjamin Tissoires 提交于
The Microsoft Surface Type/Touch Cover 2 is a fancy device which advertised itself as a multitouch device but with constant input reports. This way, hid_scan_report() gives the group MULTITOUCH to it, but hid-multitouch can not handle it due to the constant collection ignored by hid-input. To prevent such crap in the future, and while we do not fix this particular device, make the scan_report coherent with hid-input.c, and ignore constant input reports. CC: stable@vger.kernel.org # 3.12+ Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Derya 提交于
This reverts commit 117309c5. The MS Surface Pro 2 has an USB composite device with 3 interfaces - interface 0 - sensor hub - interface 1 - wacom digitizer - interface 2 - the keyboard cover, if one is attached This USB composite device changes it product id dependent on if and which keyboard cover is attached. Adding the covers to hid_have_special_driver prevents loading the right hid drivers for the other two interfaces, all 3 get loaded with hid-microsoft. We don't even need hid-microsoft for the keyboards. We have to revert this to load the right hid modules for each interface. CC: stable@vger.kernel.org # kernel 3.14 only Signed-off-by: NDerya <derya.kiran@yahoo.de> Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 25 2月, 2014 1 次提交
-
-
由 Benjamin Tissoires 提交于
SET_REPORT and GET_REPORT are mandatory in the HID specification. Make the corresponding API in hid-core mandatory too, which removes the need to test against it in some various places. Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Reviewed-by: NDavid Herrmann <dh.herrmann@gmail.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 18 2月, 2014 1 次提交
-
-
由 David Barksdale 提交于
This patch adds support for the Silicon Labs CP2112 "Single-Chip HID USB to SMBus Master Bridge." This is a HID device driver which registers as an i2c adapter and gpiochip to expose these functions of the CP2112. The customizable USB descriptor fields are exposed as sysfs attributes. The SMBus byte-read, byte-data-read/write, and word-data-read transfer modes have been tested by talking to an i2c sensor. The GPIO functions and USB descriptor field programming have also been tested. Signed-off-by: NDavid Barksdale <dbarksdale@uplogix.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 17 2月, 2014 1 次提交
-
-
由 Benjamin Tissoires 提交于
.request() can be emulated through .raw_request() we can implement this emulation in hid-core, and make .request not mandatory for transport layer drivers. Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Reviewed-by: NDavid Herrmann <dh.herrmann@gmail.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 16 2月, 2014 1 次提交
-
-
由 Christian Vogel 提交于
The "Webmail Notifier" is a USB controlled LED that appears as a HID device. When trying to change the LED via hidraw it returns malformed reports. As "usbled" supports it, we blacklist it in usbhid. Signed-off-by: NChristian Vogel <vogelchr@vogel.cx> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 06 2月, 2014 1 次提交
-
-
由 Huei-Horng Yo 提交于
Add Apple wireless keyboard 2011 JIS model (05ac:0257). Signed-off-by: NHuei-Horng Yo <hiroshi@ghostsinthelab.org> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 03 2月, 2014 1 次提交
-
-
由 Hans de Goede 提交于
The Microsoft Office keyboard has a scrollwheel as well as some special keys above the keypad which are handled through the custom MS usage page, this commit adds support for these. Signed-off-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 28 1月, 2014 1 次提交
-
-
由 Reyad Attiyat 提交于
The Microsoft Surface Type/Touch cover 2 devices have the flag HID_DG_CONTACTID in their reports.This causes the device to bind to the hid-multitouch driver, which doesn't handle generic keyboard/mouse input events. The patch adds the hardware id's of the device to hid-microsoft and to the HID special driver array, which makes the device get handled by hid-generic/hid-input properly. Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=64811Singed-off-by: NReyad Attiyat <reyad.attiyat@gmail.com> Reviewed-by: Benjamin Tissoires<benjamin.tissoires@redhat.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 17 1月, 2014 2 次提交
-
-
由 Kharlamov Alexey 提交于
Added support of RITMIX ROM-316 mouse to hid-holtek-mouse workaround module Signed-off-by: NAlexey Kharlamov <derlafff@ya.ru> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Frank Praznik 提交于
Adds the Dualshock 4 to the HID device list and enables force-feedback. Adds a Dualshock 4 specific worker function since the Dualshock 4 needs a different report than the Sixaxis. The right motor in the Dualshock 4 is variable so the full rumble value is now passed to the worker function and clamped there if necessary. Signed-off-by: NFrank Praznik <frank.praznik@oh.rr.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 18 12月, 2013 1 次提交
-
-
由 Dinesh Ram 提交于
The Si4713 development board contains a Si4713 FM transmitter chip and is handled by the radio-usb-si4713 driver. The board reports itself as (10c4:8244) Cygnal Integrated Products, Inc. and misidentifies itself as a HID device in its USB interface descriptor. This patch ignores this device as an HID device and hence loads the custom driver. Signed-off-by: NDinesh Ram <dinesh.ram@cern.ch> Signed-off-by: NJiri Kosina <jkosina@suse.cz> Acked-by: NJiri Kosina <jkosina@suse.cz> Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com> Tested-by: NEduardo Valentin <edubezval@gmail.com> Acked-by: NEduardo Valentin <edubezval@gmail.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
- 16 12月, 2013 1 次提交
-
-
由 Jiri Kosina 提交于
The entries are not needed, as hid-multitouch gets bound correctly automatically by contact ID. Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 13 12月, 2013 1 次提交
-
-
由 Emanuel Krenz 提交于
[jkosina@suse.cz: refresh to apply after SIS quirk merging] Signed-off-by: NEmanuel Krenz <emanuelkrenz@web.de> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 02 12月, 2013 1 次提交
-
-
由 Wanlong Gao 提交于
Since commit 765e5fbd merged the sis quirk, then USB_VENDOR_ID_SIS2_TOUCH remains undefined. Reported-by: NFengguang Wu <fengguang.wu@intel.com> Signed-off-by: NWanlong Gao <gaowanlong@cn.fujitsu.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 21 11月, 2013 1 次提交
-
-
由 Benjamin Tissoires 提交于
Genius Manticore Keyboard presents the same problem in its report descriptors than Genius Gila Gaming Mouse and Genius Imperator Keyboard. Use the same fixup. Reported-and-tested-by: NAdam Kulagowski <fidor@fidor.org> Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 19 11月, 2013 1 次提交
-
-
由 Jiri Kosina 提交于
This reverts commit 86b84167 as it introduced a VID/PID conflict with its original owner: hid-wiimote got hid:b0005g*v0000054Cp00000306 added but hid-sony already has this id for the PS3 Remote (and the ID is oficically assigned to Sony). Revert the commit to avoid hid-sony regression. David is working on a bluez patch to force proper ID on the wiimote. Reported-by: NDavid Herrmann <dh.herrmann@gmail.com> Reported-by: NMichel Kraus <mksolpa@gmail.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 13 11月, 2013 1 次提交
-
-
由 Tristan Rice 提交于
This is a patch that adds the new Mayflash Gamecube Controller to USB adapter (ID 1a34:f705 ACRUX) to the ACRUX driver (drivers/hid/hid-axff.c) with full force feedback support. Signed-off-by: NTristan Rice <rice@outerearth.net> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 11 11月, 2013 1 次提交
-
-
由 Forest Bond 提交于
Certain devices with class HID, protocol None did not work with the HID driver at one point, and as a result were bound to usbtouchscreen instead as of commit 139ebe8d ("Input: usbtouchscreen - fix eGalax HID ignoring"). This change was prompted by the following report: https://lkml.org/lkml/2009/1/25/127 Unfortunately, the device mentioned in this report is no longer available for testing. We've recently discovered that some devices with class HID, protocol None do not work with usbtouchscreen, but do work with usbhid. Here is the report that made this evident: http://comments.gmane.org/gmane.linux.kernel.input/31710 Driver binding for these devices has flip-flopped a few times, so both of the above reports were regressions. This situation would appear to leave us with no easy way to bind every device to the right driver. However, in my own testing with several devices I have not found a device with class HID that does not work with the current HID driver. It is my belief that changes to the HID driver since the original report have likely fixed the issue(s) that made it unsuitable at the time, and that we should prefer it over usbtouchscreen for these devices. In particular, HID quirks affecting these devices were added/removed in the following commits since then: fe6065dc HID: add multi-input quirk for eGalax Touchcontroller 77933c35 Merge branch 'egalax' into for-linus ebd11fec HID: Add quirk for eGalax touch controler. d34c4aa4 HID: add no-get quirk for eGalax touch controller This patch makes the HID driver no longer ignore eGalax/D-Wav/EETI devices with class HID. If there are in fact devices with class HID that still do not work with the HID driver, we will see another round of regressions. In that case I propose we investigate why the device is not working with the HID driver rather than re-introduce regressions for functioning HID devices by again binding them to usbtouchscreen. The corresponding change to usbtouchscreen will be made separately. Signed-off-by: NForest Bond <forest.bond@rapidrollout.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 08 11月, 2013 1 次提交
-
-
由 Stefan Achatz 提交于
Forgot two special driver declarations and sorted the list. Signed-off-by: NStefan Achatz <erazor_de@users.sourceforge.net> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 30 10月, 2013 2 次提交
-
-
由 Felix Rueegg 提交于
The ternary expression will always result in a self-assignment, which is pointless. Signed-off-by: NFelix Rueegg <felix.rueegg@gmail.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Stefan Achatz 提交于
Added support for 3 keyboards with increasing illumination capabilities Signed-off-by: NStefan Achatz <erazor_de@users.sourceforge.net> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 25 10月, 2013 2 次提交
-
-
由 Anders F. U. Kiær 提交于
Added id, bindings and comments for Holtek USB ID 04d9:a072 LEETGION Hellion Gaming mouse to use the same corrections of the report descriptor as Holtek 04d9:a067. As the mouse exceed HID_MAX_USAGES at the same offsets in the reported descriptor. Tested on the hardware. Signed-off-by: NAnders F. U. Kiær <ablacksheep@gmail.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Forest Bond 提交于
Add support for SiS multitouch panels. Signed-off-by: NForest Bond <forest.bond@rapidrollout.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 21 10月, 2013 1 次提交
-
-
由 David Herrmann 提交于
The LEGO-wiimote uses a different VID than the Nintendo ID. The device is technically the same so add the ID. Cc: <stable@vger.kernel.org> # 3.11+ Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 18 10月, 2013 1 次提交
-
-
由 Nikolai Kondrashov 提交于
Revert some changes done in 77463838. Revert all changes done in hidinput_calc_abs_res as it mistakingly used "Unit" item exponent nibbles to affect resolution value. This wasn't breaking resolution calculation of relevant axes of any existing devices, though, as they have only one dimension to their units and thus 1 in the corresponding nible. Revert to reading "Unit Exponent" item value as a signed integer in hid_parser_global to fix reading specification-complying values. This fixes resolution calculation of devices complying to the HID standard, including Huion, KYE, Waltop and UC-Logic graphics tablets which have their report descriptors fixed by the drivers. Explanations follow. There are two "unit exponents" in HID specification and it is important not to mix them. One is the global "Unit Exponent" item and another is nibble values in the global "Unit" item. See 6.2.2.7 Global Items. The "Unit Exponent" value is just a signed integer and is used to scale the integer resolution unit values, so fractions can be expressed. The nibbles of "Unit" value are used to select the unit system (nibble 0), and presence of a particular basic unit type in the unit formula and its *exponent* (or power, nibbles 1-6). And yes, the latter is in two complement and zero means absence of the unit type. Taking the representation example of (integer) joules from the specification: [mass(grams)][length(centimeters)^2][time(seconds)^-2] * 10^-7 the "Unit Exponent" would be -7 (or 0xF9, if stored as a byte) and the "Unit" value would be 0xE121, signifying: Nibble Part Value Meaning ----- ---- ----- ------- 0 System 1 SI Linear 1 Length 2 Centimeters^2 2 Mass 1 Grams 3 Time -2 Seconds^-2 To give the resolution in e.g. hundredth of joules the "Unit Exponent" item value should have been -9. See also the examples of "Unit" values for some common units in the same chapter. However, there is a common misunderstanding about the "Unit Exponent" value encoding, where it is assumed to be stored the same as nibbles in "Unit" item. This is most likely due to the specification being a bit vague and overloading the term "unit exponent". This also was and still is proliferated by the official "HID Descriptor Tool", which makes this mistake and stores "Unit Exponent" as such. This format is also mentioned in books such as "USB Complete" and in Microsoft's hardware design guides. As a result many devices currently on the market use this encoding and so the driver should support them. Signed-off-by: NNikolai Kondrashov <spbnick@gmail.com> Acked-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 09 10月, 2013 1 次提交
-
-
由 Elias Vanderstuyft 提交于
Add USB IDs for Logitech Formula Vibration Feedback Wheel (046d:ca04). The lg2ff force feedback subdriver is used for vibration and HID_GD_MULTIAXIS is set to avoid deadzone like other Logitech wheels. Kconfig description etc are also updated accordingly. Signed-off-by: NElias Vanderstuyft <Elias.vds@gmail.com> [anssi.hannula@iki.fi: added description and CCs] Signed-off-by: NAnssi Hannula <anssi.hannula@iki.fi> Signed-off-by: NSimon Wood <simon@mungewell.org> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 02 10月, 2013 1 次提交
-
-
由 Anders F. U. Kiær 提交于
Added id, bindings and comments for Holtek USB ID 04d9:a081 SHARKOON DarkGlider Gaming mouse to use the same corrections of the report descriptor as Holtek 04d9:a04a. As the mouse exceed HID_MAX_USAGES at the same offsets in the reported descriptor. Tested on the hardware. Signed-off-by: NAnders F. U. Kiær <ablacksheep@gmail.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 13 9月, 2013 2 次提交
-
-
由 Benjamin Tissoires 提交于
When dealing with usage_index, be sure to properly use unsigned instead of int to avoid overflows. When working on report fields, always validate that their report_counts are in bounds. Without this, a HID device could report a malicious feature report that could trick the driver into a heap overflow: [ 634.885003] usb 1-1: New USB device found, idVendor=0596, idProduct=0500 ... [ 676.469629] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten CVE-2013-2897 Cc: stable@vger.kernel.org Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Acked-by: NKees Cook <keescook@chromium.org> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Kees Cook 提交于
Many drivers need to validate the characteristics of their HID report during initialization to avoid misusing the reports. This adds a common helper to perform validation of the report exisitng, the field existing, and the expected number of values within the field. Signed-off-by: NKees Cook <keescook@chromium.org> Cc: stable@vger.kernel.org Reviewed-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 04 9月, 2013 1 次提交
-
-
由 Kees Cook 提交于
Defensively check that the field to be worked on is not NULL. Signed-off-by: NKees Cook <keescook@chromium.org> Cc: stable@kernel.org Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 02 9月, 2013 1 次提交
-
-
由 Stefan Achatz 提交于
KonePureOptical is a KonePure with different sensor. Signed-off-by: NStefan Achatz <erazor_de@users.sourceforge.net> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 29 8月, 2013 1 次提交
-
-
由 Kees Cook 提交于
The "Report ID" field of a HID report is used to build indexes of reports. The kernel's index of these is limited to 256 entries, so any malicious device that sets a Report ID greater than 255 will trigger memory corruption on the host: [ 1347.156239] BUG: unable to handle kernel paging request at ffff88094958a878 [ 1347.156261] IP: [<ffffffff813e4da0>] hid_register_report+0x2a/0x8b CVE-2013-2888 Signed-off-by: NKees Cook <keescook@chromium.org> Cc: stable@kernel.org Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 27 8月, 2013 2 次提交
-
-
由 Benjamin Tissoires 提交于
Detecting Win 8 multitouch devices in core allows us to set quirks before the device is parsed through hid_hw_start(). It also simplifies the detection of those devices in hid-multitouch and makes the handling of those devices cleaner. As Win 8 multitouch panels are in the group multitouch and rely on a special feature to be detected, this patch adds a bitfield in the parser. Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Reviewed-by: NHenrik Rydberg <rydberg@euromail.se> Tested-by: Srinivas Pandruvada<srinivas.pandruvada@linux.intel.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Benjamin Tissoires 提交于
The Win 8 detection is sufficiently complex to warrant use of the full parser code, in spite of the inferred memory usage. Therefore, we can use the existing HID parser in hid-core for hid_scan_report() by re-using the code from hid_open_report(). hid_parser_global, hid_parser_local and hid_parser_reserved does not have any side effects. We just need to reimplement the MAIN_ITEM callback to have a proper parsing without side effects. Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Reviewed-by: NHenrik Rydberg <rydberg@euromail.se> Tested-by: Srinivas Pandruvada<srinivas.pandruvada@linux.intel.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 26 8月, 2013 1 次提交
-
-
由 Greg Kroah-Hartman 提交于
The dev_attrs field of struct bus_type is going away soon, dev_groups should be used instead. This converts the HID bus code to use the correct field. Acked-by: NJiri Kosina <jkosina@suse.cz> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 29 7月, 2013 1 次提交
-
-
由 Olivier Scherler 提交于
The driver currently only supports the Dual Arcade controller. It fixes the negative axis event values (the devices sends -2) to match the logical axis minimum of the HID report descriptor (the report announces -1). It is needed because hid-input discards out of bounds values. Signed-off-by: NOlivier Scherler <oscherler@ithink.ch> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 22 7月, 2013 1 次提交
-
-
由 Jiri Kosina 提交于
implement() is setting bytes in LE data stream. In case the data is not aligned to 64bits, it reads past the allocated buffer. It doesn't really change any value there (it's properly bitmasked), but in case that this read past the boundary hits a page boundary, pagefault happens when accessing 64bits of 'x' in implement(), and kernel oopses. This happens much more often when numbered reports are in use, as the initial 8bit skip in the buffer makes the whole process work on values which are not aligned to 64bits. This problem dates back to attempts in 2005 and 2006 to make implement() and extract() as generic as possible, and even back then the problem was realized by Adam Kroperlin, but falsely assumed to be impossible to cause any harm: http://www.mail-archive.com/linux-usb-devel@lists.sourceforge.net/msg47690.html I have made several attempts at fixing it "on the spot" directly in implement(), but the results were horrible; the special casing for processing last 64bit chunk and switching to different math makes it unreadable mess. I therefore took a path to allocate a few bytes more which will never make it into final report, but are there as a cushion for all the 64bit math operations happening in implement() and extract(). All callers of hid_output_report() are converted at the same time to allocate the buffer by newly introduced hid_alloc_report_buf() helper. Bruno noticed that the whole raw_size test can be dropped as well, as hid_alloc_report_buf() makes sure that the buffer is always of a proper size. Reviewed-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Acked-by: NGustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-