mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Luis Henriques <luis.henriques@canonical.com>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	kernel-team@lists.ubuntu.com
Cc: David Herrmann <dh.herrmann@gmail.com>,
	Jiri Kosina <jkosina@suse.cz>,
	Luis Henriques <luis.henriques@canonical.com>
Subject: [PATCH 3.16.y-ckt 013/183] HID: input: fix confusion on conflicting mappings
Date: Fri,  6 Mar 2015 09:55:04 +0000	[thread overview]
Message-ID: <1425635874-19087-14-git-send-email-luis.henriques@canonical.com> (raw)
In-Reply-To: <1425635874-19087-1-git-send-email-luis.henriques@canonical.com>

3.16.7-ckt8 -stable review patch.  If anyone has any objections, please let me know.

------------------

From: David Herrmann <dh.herrmann@gmail.com>

commit 6ce901eb61aa30ba8565c62049ee80c90728ef14 upstream.

On an PC-101/103/104 keyboard (American layout) the 'Enter' key and its
neighbours look like this:

           +---+ +---+ +-------+
           | 1 | | 2 | |   5   |
           +---+ +---+ +-------+
             +---+ +-----------+
             | 3 | |     4     |
             +---+ +-----------+

On a PC-102/105 keyboard (European layout) it looks like this:

           +---+ +---+ +-------+
           | 1 | | 2 | |       |
           +---+ +---+ +-+  4  |
             +---+ +---+ |     |
             | 3 | | 5 | |     |
             +---+ +---+ +-----+

(Note that the number of keys is the same, but key '5' is moved down and
 the shape of key '4' is changed. Keys '1' to '3' are exactly the same.)

The keys 1-4 report the same scan-code in HID in both layouts, even though
the keysym they produce is usually different depending on the XKB-keymap
used by user-space.
However, key '5' (US 'backslash'/'pipe') reports 0x31 for the upper layout
and 0x32 for the lower layout, as defined by the HID spec. This is highly
confusing as the linux-input API uses a single keycode for both.

So far, this was never a problem as there never has been a keyboard with
both of those keys present at the same time. It would have to look
something like this:

           +---+ +---+ +-------+
           | 1 | | 2 | |  x31  |
           +---+ +---+ +-------+
             +---+ +---+ +-----+
             | 3 | |x32| |  4  |
             +---+ +---+ +-----+

HID can represent such a keyboard, but the linux-input API cannot.
Furthermore, any user-space mapping would be confused by this and,
luckily, no-one ever produced such hardware.

Now, the HID input layer fixed this mess by mapping both 0x31 and 0x32 to
the same keycode (KEY_BACKSLASH==0x2b). As only one of both physical keys
is present on a hardware, this works just fine.

Lets introduce hardware-vendors into this:
------------------------------------------

Unfortunately, it seems way to expensive to produce a different device for
American and European layouts. Therefore, hardware-vendors put both keys,
(0x31 and 0x32) on the same keyboard, but only one of them is hooked up
to the physical button, the other one is 'dead'.
This means, they can use the same hardware, with a different button-layout
and automatically produce the correct HID events for American *and*
European layouts. This is unproblematic for normal keyboards, as the
'dead' key will never report any KEY-DOWN events. But RollOver keyboards
send the whole matrix on each key-event, allowing n-key roll-over mode.
This means, we get a 0x31 and 0x32 event on each key-press. One of them
will always be 0, the other reports the real state. As we map both to the
same keycode, we will get spurious key-events, even though the real
key-state never changed.

The easiest way would be to blacklist 'dead' keys and never handle those.
We could simply read the 'country' tag of USB devices and blacklist either
key according to the layout. But... hardware vendors... want the same
device for all countries and thus many of them set 'country' to 0 for all
devices. Meh..

So we have to deal with this properly. As we cannot know which of the keys
is 'dead', we either need a heuristic and track those keys, or we simply
make use of our value-tracking for HID fields. We simply ignore HID events
for absolute data if the data didn't change. As HID tracks events on the
HID level, we haven't done the keycode translation, yet. Therefore, the
'dead' key is tracked independently of the real key, therefore, any events
on it will be ignored.

This patch simply discards any HID events for absolute data if it didn't
change compared to the last report. We need to ignore relative and
buffered-byte reports for obvious reasons. But those cannot be affected by
this bug, so we're fine.

Preferably, we'd do this filtering on the HID-core level. But this might
break a lot of custom drivers, if they do not follow the HID specs.
Therefore, we do this late in hid-input just before we inject it into the
input layer (which does the exact same filtering, but on the keycode
level).

If this turns out to break some devices, we might have to limit filtering
to EV_KEY events. But lets try to do the Right Thing first, and properly
filter any absolute data that didn't change.

This patch is tagged for 'stable' as it fixes a lot of n-key RollOver
hardware. We might wanna wait with backporting for a while, before we know
it doesn't break anything else, though.

Reported-by: Adam Goode <adam@spicenitz.org>
Reported-by: Fredrik Hallenberg <megahallon@gmail.com>
Tested-by: Fredrik Hallenberg <megahallon@gmail.com>
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 drivers/hid/hid-input.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index 89ce91883eba..323c3ba85a5d 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -1098,6 +1098,22 @@ void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct
 		return;
 	}
 
+	/*
+	 * Ignore reports for absolute data if the data didn't change. This is
+	 * not only an optimization but also fixes 'dead' key reports. Some
+	 * RollOver implementations for localized keys (like BACKSLASH/PIPE; HID
+	 * 0x31 and 0x32) report multiple keys, even though a localized keyboard
+	 * can only have one of them physically available. The 'dead' keys
+	 * report constant 0. As all map to the same keycode, they'd confuse
+	 * the input layer. If we filter the 'dead' keys on the HID level, we
+	 * skip the keycode translation and only forward real events.
+	 */
+	if (!(field->flags & (HID_MAIN_ITEM_RELATIVE |
+	                      HID_MAIN_ITEM_BUFFERED_BYTE)) &&
+	    usage->usage_index < field->maxusage &&
+	    value == field->value[usage->usage_index])
+		return;
+
 	/* report the usage code as scancode if the key status has changed */
 	if (usage->type == EV_KEY && !!test_bit(usage->code, input->key) != value)
 		input_event(input, EV_MSC, MSC_SCAN, usage->hid);

  parent reply	other threads:[~2015-03-06 11:25 UTC|newest]

Thread overview: 184+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-06  9:54 [3.16.y-ckt stable] Linux 3.16.7-ckt8 stable review Luis Henriques
2015-03-06  9:54 ` [PATCH 3.16.y-ckt 001/183] [media] em28xx: fix em28xx-input removal Luis Henriques
2015-03-06  9:54 ` [PATCH 3.16.y-ckt 002/183] [media] em28xx: ensure "closing" messages terminate with a newline Luis Henriques
2015-03-06  9:54 ` [PATCH 3.16.y-ckt 003/183] [media] em28xx-input: fix missing newlines Luis Henriques
2015-03-06  9:54 ` [PATCH 3.16.y-ckt 004/183] [media] em28xx-core: " Luis Henriques
2015-03-06  9:54 ` [PATCH 3.16.y-ckt 005/183] [media] em28xx-audio: " Luis Henriques
2015-03-06  9:54 ` [PATCH 3.16.y-ckt 006/183] " Luis Henriques
2015-03-06  9:54 ` [PATCH 3.16.y-ckt 007/183] [media] em28xx-dvb: " Luis Henriques
2015-03-06  9:54 ` [PATCH 3.16.y-ckt 008/183] [media] em28xx-video: " Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 009/183] ARM: pxa: add regulator_has_full_constraints to corgi board file Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 010/183] ARM: pxa: add regulator_has_full_constraints to poodle " Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 011/183] ARM: pxa: add regulator_has_full_constraints to spitz " Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 012/183] hx4700: regulator: declare full constraints Luis Henriques
2015-03-06  9:55 ` Luis Henriques [this message]
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 014/183] HID: fixup the conflicting keyboard mappings quirk Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 015/183] ARM: dts: tegra20: fix GR3D, DSI unit and reg base addresses Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 016/183] megaraid_sas: disable interrupt_mask before enabling hardware interrupts Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 017/183] PCI: Generate uppercase hex for modalias var in uevent Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 018/183] usb: core: buffer: smallest buffer should start at ARCH_DMA_MINALIGN Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 019/183] tty/serial: at91: enable peripheral clock before accessing I/O registers Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 020/183] tty/serial: at91: fix error handling in atmel_serial_probe() Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 021/183] axonram: Fix bug in direct_access Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 022/183] btrfs: fix leak of path in btrfs_find_item Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 023/183] ksoftirqd: Enable IRQs and call cond_resched() before poking RCU Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 024/183] TPM: Add new TPMs to the tail of the list to prevent inadvertent change of dev Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 025/183] char: tpm: Add missing error check for devm_kzalloc Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 026/183] tpm_tis: verify interrupt during init Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 027/183] tpm: Fix NULL return in tpm_ibmvtpm_get_desired_dma Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 028/183] tpm/tpm_i2c_stm_st33: Fix potential bug in tpm_stm_i2c_send Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 029/183] tpm/tpm_i2c_stm_st33: Add status check when reading data on the FIFO Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 030/183] mmc: sdhci-pxav3: fix unbalanced clock issues during probe Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 031/183] iwlwifi: mvm: validate tid and sta_id in ba_notif Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 032/183] power: gpio-charger: balance enable/disable_irq_wake calls Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 033/183] power: bq24190: Fix ignored supplicants Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 034/183] ARM: DRA7: hwmod: Fix boot crash with DEBUG_LL enabled on UART3 Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 035/183] Bluetooth: ath3k: Add support of AR3012 bluetooth 13d3:3423 device Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 036/183] Bluetooth: btusb: Add Broadcom patchram support for ASUSTek devices Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 037/183] cfq-iosched: fix incorrect filing of rt async cfqq Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 038/183] smack: fix possible use after frees in task_security() callers Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 039/183] xfs: ensure buffer types are set correctly Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 040/183] xfs: inode unlink does not set AGI buffer type Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 041/183] xfs: set buf types when converting extent formats Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 042/183] xfs: set superblock buffer type correctly Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 043/183] btrfs: set proper message level for skinny metadata Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 044/183] KVM: s390: base hrtimer on a monotonic clock Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 045/183] KVM: s390: avoid memory leaks if __inject_vm() fails Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 046/183] samsung-laptop: Add use_native_backlight quirk, and enable it on some models Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 047/183] PCI: Fix infinite loop with ROM image of size 0 Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 048/183] USB: cp210x: add ID for RUGGEDCOM USB Serial Console Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 049/183] Bluetooth: Add support for Broadcom BCM20702A1 variant Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 050/183] Bluetooth: Add support for Broadcom BCM20702A0 variants firmware download Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 051/183] Bluetooth: btusb: Add support for Dynex/Insignia USB dongles Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 052/183] clk: zynq: Force CPU_2X clock to be ungated Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 053/183] mmc: sdhci-pxav3: Remove checks for mandatory host clock Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 054/183] mmc: sdhci-pxav3: fix race between runtime pm and irq Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 055/183] power_supply: 88pm860x: Fix leaked power supply on probe fail Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 056/183] staging: comedi: comedi_compat32.c: fix COMEDI_CMD copy back Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 057/183] mmc: sdhci-pxav3: fix setting of pdata->clk_delay_cycles Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 058/183] mmc: sdhci-pxav3: Fix SDR50 and DDR50 capabilities for the Armada 38x flavor Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 059/183] mmc: sdhci-pxav3: Fix Armada 38x controller's caps according to erratum ERR-7878951 Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 060/183] ARM: 8284/1: sa1100: clear RCSR_SMR on resume Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 061/183] [media] si2168: define symbol rate limits Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 062/183] nfs: don't call blocking operations while !TASK_RUNNING Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 063/183] cdc-acm: add sanity checks Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 064/183] USB: add flag for HCDs that can't receive wakeup requests (isp1760-hcd) Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 065/183] USB: fix use-after-free bug in usb_hcd_unlink_urb() Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 066/183] iwlwifi: mvm: always use mac color zero Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 067/183] iwlwifi: pcie: disable the SCD_BASE_ADDR when we resume from WoWLAN Luis Henriques
2015-03-06  9:55 ` [PATCH 3.16.y-ckt 068/183] iwlwifi: mvm: fix failure path when power_update fails in add_interface Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 069/183] vt: provide notifications on selection changes Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 070/183] tty: Prevent untrappable signals from malicious program Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 071/183] serial: fsl_lpuart: delete timer on shutdown Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 072/183] serial: fsl_lpuart: avoid new transfer while DMA is running Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 073/183] cpufreq: Set cpufreq_cpu_data to NULL before putting kobject Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 074/183] Bluetooth: btusb: Add support for Lite-On (04ca) Broadcom based, BCM43142 Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 075/183] nfs41: .init_read and .init_write can be called with valid pg_lseg Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 076/183] [media] lmedm04: Fix usb_submit_urb BOGUS urb xfer, pipe 1 != type 3 in interrupt urb Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 077/183] mei: mask interrupt set bit on clean reset bit Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 078/183] mei: me: release hw from reset only during the reset flow Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 079/183] KVM: MIPS: Don't leak FPU/DSP to guest Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 080/183] ALSA: hda - Add the pin fixup for HP Envy TS bass speaker Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 081/183] ALSA: hda - Set up GPIO for Toshiba Satellite S50D Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 082/183] xen/manage: Fix USB interaction issues when resuming Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 083/183] ACPI / video: Add some Samsung models to disable_native_backlight list Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 084/183] ACPI / video: Add disable_native_backlight quirk for Dell XPS15 L521X Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 085/183] ACPI / video: Add disable_native_backlight quirk for Samsung 730U3E/740U3E Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 086/183] ACPI / video: Add disable_native_backlight quirk for Samsung 510R Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 087/183] KVM: s390: floating irqs: fix user triggerable endless loop Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 088/183] drm/i915: Correct the IOSF Dev_FN field for IOSF transfers Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 089/183] cfq-iosched: handle failure of cfq group allocation Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 090/183] tracing: Fix unmapping loop in tracing_mark_write Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 091/183] fsnotify: fix handling of renames in audit Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 092/183] ring-buffer: Do not wake up a splice waiter when page is not full Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 093/183] blk-mq: fix double-free in error path Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 094/183] drm/radeon: workaround for CP HW bug on CIK Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 095/183] drm/radeon: only enable kv/kb dpm interrupts once v3 Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 096/183] NFSv4.1: Fix a kfree() of uninitialised pointers in decode_cb_sequence_args Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 097/183] cpufreq: speedstep-smi: enable interrupts when waiting Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 098/183] mm/hugetlb: pmd_huge() returns true for non-present hugepage Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 099/183] mm/hugetlb: take page table lock in follow_huge_pmd() Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 100/183] mm/hugetlb: fix getting refcount 0 page in hugetlb_fault() Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 101/183] mm/hugetlb: add migration/hwpoisoned entry check in hugetlb_change_protection Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 102/183] mm/hugetlb: add migration entry check in __unmap_hugepage_range Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 103/183] mm: when stealing freepages, also take pages created by splitting buddy page Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 104/183] mm/mmap.c: fix arithmetic overflow in __vm_enough_memory() Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 105/183] mm/nommu.c: " Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 106/183] iscsi-target: Drop problematic active_ts_list usage Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 107/183] target: Fix PR_APTPL_BUF_LEN buffer size limitation Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 108/183] mm/compaction: fix wrong order check in compact_finished() Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 109/183] mm/memory.c: actually remap enough memory Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 110/183] mm: hwpoison: drop lru_add_drain_all() in __soft_offline_page() Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 111/183] ALSA: hda - enable mute led quirk for one more hp machine Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 112/183] ARC: fix page address calculation if PAGE_OFFSET != LINUX_LINK_BASE Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 113/183] drm/radeon/dp: Set EDP_CONFIGURATION_SET for bridge chips if necessary Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 114/183] drm/radeon: fix voltage setup on hawaii Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 115/183] ALSA: hdspm - Constrain periods to 2 on older cards Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 116/183] jffs2: fix handling of corrupted summary length Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 117/183] dm mirror: do not degrade the mirror on discard error Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 118/183] dm io: reject unsupported DISCARD requests with EOPNOTSUPP Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 119/183] NFS: struct nfs_commit_info.lock must always point to inode->i_lock Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 120/183] target: Add missing WRITE_SAME end-of-device sanity check Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 121/183] target: Check for LBA + sectors wrap-around in sbc_parse_cdb Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 122/183] Btrfs: fix fsync data loss after adding hard link to inode Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 123/183] Added Little Endian support to vtpm module Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 124/183] fixed invalid assignment of 64bit mask to host dma_boundary for scatter gather segment boundary limit Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 125/183] sg: fix read() error reporting Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 126/183] IB/qib: Do not write EEPROM Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 127/183] EDAC, amd64_edac: Prevent OOPS with >16 memory controllers Luis Henriques
2015-03-06  9:56 ` [PATCH 3.16.y-ckt 128/183] MIPS: asm: asmmacro: Replace "add" instructions with "addu" Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 129/183] MIPS: kernel: cps-vec: Replace "addi" with "addiu" Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 130/183] md/raid5: Fix livelock when array is both resyncing and degraded Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 131/183] locking/rtmutex: Avoid a NULL pointer dereference on deadlock Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 132/183] time: adjtimex: Validate the ADJ_FREQUENCY values Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 133/183] ntp: Fixup adjtimex freq validation on 32-bit systems Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 134/183] dm: fix a race condition in dm_get_md Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 135/183] dm snapshot: fix a possible invalid memory access on unload Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 136/183] cpufreq: s3c: remove incorrect __init annotations Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 137/183] x86, mm/ASLR: Fix stack randomization on 64-bit systems Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 138/183] libceph: assert both regular and lingering lists in __remove_osd() Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 139/183] libceph: change from BUG to WARN for __remove_osd() asserts Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 140/183] libceph: fix double __remove_osd() problem Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 141/183] MIPS: Export FP functions used by lose_fpu(1) for KVM Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 142/183] MIPS: Export MSA " Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 143/183] kdb: fix incorrect counts in KDB summary command output Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 144/183] blk-throttle: check stats_cpu before reading it from sysfs Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 145/183] debugfs: leave freeing a symlink body until inode eviction Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 146/183] procfs: fix race between symlink removals and traversals Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 147/183] autofs4 copy_dev_ioctl(): keep the value of ->size we'd used for allocation Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 148/183] ASoC: mioa701_wm9713: Fix speaker event Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 149/183] gpio: rcar: Fix error path for devm_kzalloc() failure Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 150/183] efi: Small leak on error in runtime map code Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 151/183] clk-gate: fix bit # check in clk_register_gate() Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 152/183] powerpc/kernel: Avoid memory corruption at early stage Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 153/183] pinctrl: pinctrl-imx: don't use invalid value of conf_reg Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 154/183] ALSA: off by one bug in snd_riptide_joystick_probe() Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 155/183] GFS2: Fix crash during ACL deletion in acl max entry check in gfs2_set_acl() Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 156/183] net: llc: use correct size for sysctl timeout entries Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 157/183] net: rds: use correct size for max unacked packets and bytes Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 158/183] HID: i2c-hid: Limit reads to wMaxInputLength bytes for input events Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 159/183] fib_trie: Fix /proc/net/fib_trie when CONFIG_IP_MULTIPLE_TABLES is not defined Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 160/183] net: sctp: fix race for one-to-many sockets in sendmsg's auto associate Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 161/183] gpio: sysfs: fix gpio attribute-creation race Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 162/183] ipv6: mld: fix add_grhead skb_over_panic for devs with large MTUs Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 163/183] ideapad-laptop: Change Lenovo Yoga 2 series rfkill handling Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 164/183] IB/core: When marshaling ucma path from user-space, clear unused fields Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 165/183] IB/core: Fix deadlock on uverbs modify_qp error flow Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 166/183] IB/mlx4: Fix wrong usage of IPv4 protocol for multicast attach/detach Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 167/183] IB/iser: Use correct dma direction when unmapping SGs Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 168/183] [media] Si2168: increase timeout to fix firmware loading Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 169/183] staging: comedi: cb_pcidas64: fix incorrect AI range code handling Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 170/183] target: Fix R_HOLDER bit usage for AllRegistrants Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 171/183] target: Avoid dropping AllRegistrants reservation during unregister Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 172/183] target: Allow AllRegistrants to re-RESERVE existing reservation Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 173/183] target: Allow Write Exclusive non-reservation holders to READ Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 174/183] vhost/scsi: potential memory corruption Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 175/183] clk: sunxi: Support factor clocks with N factor starting not from 0 Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 176/183] sunxi: clk: Set sun6i-pll1 n_start = 1 Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 177/183] HID: wacom: Report ABS_MISC event for Cintiq Companion Hybrid Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 178/183] mm: softdirty: unmapped addresses between VMAs are clean Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 179/183] proc/pagemap: walk page tables under pte lock Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 180/183] ARM: dts: am335x-bone*: usb0 is hardwired for peripheral Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 181/183] sched/rt: Reduce rq lock contention by eliminating locking of non-feasible target Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 182/183] caif: remove wrong dev_net_set() call Luis Henriques
2015-03-06  9:57 ` [PATCH 3.16.y-ckt 183/183] quota: Store maximum space limit in bytes Luis Henriques

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1425635874-19087-14-git-send-email-luis.henriques@canonical.com \
    --to=luis.henriques@canonical.com \
    --cc=dh.herrmann@gmail.com \
    --cc=jkosina@suse.cz \
    --cc=kernel-team@lists.ubuntu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®