]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.18-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Nov 2017 09:48:12 +0000 (10:48 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Nov 2017 09:48:12 +0000 (10:48 +0100)
added patches:
arm-dts-imx53-qsb-common-fix-fec-pinmux-config.patch
arm-omap2plus_defconfig-fix-probe-errors-on-uarts-5-and-6.patch
drm-drm_minor_register-clean-up-debugfs-on-failure.patch
dt-bindings-add-lego-mindstorms-ev3-compatible-specification.patch
dt-bindings-add-vendor-prefix-for-lego.patch
ib-ipoib-change-list_del-to-list_del_init-in-the-tx-object.patch
iio-trigger-free-trigger-resource-correctly.patch
input-mpr121-handle-multiple-bits-change-of-status-register.patch
input-mpr121-set-missing-event-capability.patch
ipsec-do-not-ignore-crypto-err-in-ah4-input.patch
phy-increase-size-of-mii_bus_id_size-and-bus_id.patch
serial-sh-sci-fix-register-offsets-for-the-irda-serial-port.patch
usb-hcd-initialize-hcd-flags-to-0-when-rm-hcd.patch
video-fbdev-pmag-ba-fb-remove-bad-__init-annotation.patch
xen-netback-set-default-upper-limit-of-tx-rx-queues-to-8.patch

16 files changed:
queue-3.18/arm-dts-imx53-qsb-common-fix-fec-pinmux-config.patch [new file with mode: 0644]
queue-3.18/arm-omap2plus_defconfig-fix-probe-errors-on-uarts-5-and-6.patch [new file with mode: 0644]
queue-3.18/drm-drm_minor_register-clean-up-debugfs-on-failure.patch [new file with mode: 0644]
queue-3.18/dt-bindings-add-lego-mindstorms-ev3-compatible-specification.patch [new file with mode: 0644]
queue-3.18/dt-bindings-add-vendor-prefix-for-lego.patch [new file with mode: 0644]
queue-3.18/ib-ipoib-change-list_del-to-list_del_init-in-the-tx-object.patch [new file with mode: 0644]
queue-3.18/iio-trigger-free-trigger-resource-correctly.patch [new file with mode: 0644]
queue-3.18/input-mpr121-handle-multiple-bits-change-of-status-register.patch [new file with mode: 0644]
queue-3.18/input-mpr121-set-missing-event-capability.patch [new file with mode: 0644]
queue-3.18/ipsec-do-not-ignore-crypto-err-in-ah4-input.patch [new file with mode: 0644]
queue-3.18/phy-increase-size-of-mii_bus_id_size-and-bus_id.patch [new file with mode: 0644]
queue-3.18/serial-sh-sci-fix-register-offsets-for-the-irda-serial-port.patch [new file with mode: 0644]
queue-3.18/series [new file with mode: 0644]
queue-3.18/usb-hcd-initialize-hcd-flags-to-0-when-rm-hcd.patch [new file with mode: 0644]
queue-3.18/video-fbdev-pmag-ba-fb-remove-bad-__init-annotation.patch [new file with mode: 0644]
queue-3.18/xen-netback-set-default-upper-limit-of-tx-rx-queues-to-8.patch [new file with mode: 0644]

diff --git a/queue-3.18/arm-dts-imx53-qsb-common-fix-fec-pinmux-config.patch b/queue-3.18/arm-dts-imx53-qsb-common-fix-fec-pinmux-config.patch
new file mode 100644 (file)
index 0000000..a666fa3
--- /dev/null
@@ -0,0 +1,55 @@
+From foo@baz Thu Nov  9 10:19:57 CET 2017
+From: Patrick Bruenn <p.bruenn@beckhoff.com>
+Date: Wed, 25 Jan 2017 06:25:48 +0100
+Subject: ARM: dts: imx53-qsb-common: fix FEC pinmux config
+
+From: Patrick Bruenn <p.bruenn@beckhoff.com>
+
+
+[ Upstream commit 8b649e426336d7d4800ff9c82858328f4215ba01 ]
+
+The pinmux configuration in device tree was different from manual
+muxing in <u-boot>/board/freescale/mx53loco/mx53loco.c
+All pins were configured as NO_PAD_CTL(1 << 31), which was fine as the
+bootloader already did the correct pinmuxing for us.
+But recently u-boot is migrating to reuse device tree files from the
+kernel tree, so it seems to be better to have the correct pinmuxing in
+our files, too.
+
+Signed-off-by: Patrick Bruenn <p.bruenn@beckhoff.com>
+Signed-off-by: Shawn Guo <shawnguo@kernel.org>
+Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/arm/boot/dts/imx53-qsb-common.dtsi |   20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+--- a/arch/arm/boot/dts/imx53-qsb-common.dtsi
++++ b/arch/arm/boot/dts/imx53-qsb-common.dtsi
+@@ -215,16 +215,16 @@
+               pinctrl_fec: fecgrp {
+                       fsl,pins = <
+-                              MX53_PAD_FEC_MDC__FEC_MDC               0x80000000
+-                              MX53_PAD_FEC_MDIO__FEC_MDIO             0x80000000
+-                              MX53_PAD_FEC_REF_CLK__FEC_TX_CLK        0x80000000
+-                              MX53_PAD_FEC_RX_ER__FEC_RX_ER           0x80000000
+-                              MX53_PAD_FEC_CRS_DV__FEC_RX_DV          0x80000000
+-                              MX53_PAD_FEC_RXD1__FEC_RDATA_1          0x80000000
+-                              MX53_PAD_FEC_RXD0__FEC_RDATA_0          0x80000000
+-                              MX53_PAD_FEC_TX_EN__FEC_TX_EN           0x80000000
+-                              MX53_PAD_FEC_TXD1__FEC_TDATA_1          0x80000000
+-                              MX53_PAD_FEC_TXD0__FEC_TDATA_0          0x80000000
++                              MX53_PAD_FEC_MDC__FEC_MDC               0x4
++                              MX53_PAD_FEC_MDIO__FEC_MDIO             0x1fc
++                              MX53_PAD_FEC_REF_CLK__FEC_TX_CLK        0x180
++                              MX53_PAD_FEC_RX_ER__FEC_RX_ER           0x180
++                              MX53_PAD_FEC_CRS_DV__FEC_RX_DV          0x180
++                              MX53_PAD_FEC_RXD1__FEC_RDATA_1          0x180
++                              MX53_PAD_FEC_RXD0__FEC_RDATA_0          0x180
++                              MX53_PAD_FEC_TX_EN__FEC_TX_EN           0x4
++                              MX53_PAD_FEC_TXD1__FEC_TDATA_1          0x4
++                              MX53_PAD_FEC_TXD0__FEC_TDATA_0          0x4
+                       >;
+               };
diff --git a/queue-3.18/arm-omap2plus_defconfig-fix-probe-errors-on-uarts-5-and-6.patch b/queue-3.18/arm-omap2plus_defconfig-fix-probe-errors-on-uarts-5-and-6.patch
new file mode 100644 (file)
index 0000000..8d50909
--- /dev/null
@@ -0,0 +1,30 @@
+From foo@baz Thu Nov  9 10:19:57 CET 2017
+From: Tony Lindgren <tony@atomide.com>
+Date: Fri, 20 Jan 2017 12:13:19 -0800
+Subject: ARM: omap2plus_defconfig: Fix probe errors on UARTs 5 and 6
+
+From: Tony Lindgren <tony@atomide.com>
+
+
+[ Upstream commit 4cd6a59f5c1a9b0cca0da09fbba42b9450ffc899 ]
+
+We have more than four uarts on some SoCs and that can cause
+noise with errors while booting.
+
+Signed-off-by: Tony Lindgren <tony@atomide.com>
+Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/arm/configs/omap2plus_defconfig |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/arm/configs/omap2plus_defconfig
++++ b/arch/arm/configs/omap2plus_defconfig
+@@ -169,6 +169,7 @@ CONFIG_INPUT_TWL4030_PWRBUTTON=y
+ CONFIG_SERIAL_8250=y
+ CONFIG_SERIAL_8250_CONSOLE=y
+ CONFIG_SERIAL_8250_NR_UARTS=32
++CONFIG_SERIAL_8250_RUNTIME_UARTS=6
+ CONFIG_SERIAL_8250_EXTENDED=y
+ CONFIG_SERIAL_8250_MANY_PORTS=y
+ CONFIG_SERIAL_8250_SHARE_IRQ=y
diff --git a/queue-3.18/drm-drm_minor_register-clean-up-debugfs-on-failure.patch b/queue-3.18/drm-drm_minor_register-clean-up-debugfs-on-failure.patch
new file mode 100644 (file)
index 0000000..b7bd98a
--- /dev/null
@@ -0,0 +1,33 @@
+From foo@baz Thu Nov  9 10:19:57 CET 2017
+From: Noralf Trønnes <noralf@tronnes.org>
+Date: Thu, 26 Jan 2017 23:56:04 +0100
+Subject: drm: drm_minor_register(): Clean up debugfs on failure
+
+From: Noralf Trønnes <noralf@tronnes.org>
+
+
+[ Upstream commit a67834f8bfa1e2f48bb27d07b9a552ba7c3af82a ]
+
+Call drm_debugfs_cleanup() in case drm_debugfs_init() fails to
+cover for failure in the drm_driver.debugfs_init callback.
+
+Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
+Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Link: http://patchwork.freedesktop.org/patch/msgid/20170126225621.12314-3-noralf@tronnes.org
+Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/gpu/drm/drm_drv.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/drm_drv.c
++++ b/drivers/gpu/drm/drm_drv.c
+@@ -320,7 +320,7 @@ static int drm_minor_register(struct drm
+       ret = drm_debugfs_init(minor, minor->index, drm_debugfs_root);
+       if (ret) {
+               DRM_ERROR("DRM: Failed to initialize /sys/kernel/debug/dri.\n");
+-              return ret;
++              goto err_debugfs;
+       }
+       ret = device_add(minor->kdev);
diff --git a/queue-3.18/dt-bindings-add-lego-mindstorms-ev3-compatible-specification.patch b/queue-3.18/dt-bindings-add-lego-mindstorms-ev3-compatible-specification.patch
new file mode 100644 (file)
index 0000000..281e3c1
--- /dev/null
@@ -0,0 +1,34 @@
+From foo@baz Thu Nov  9 10:19:57 CET 2017
+From: David Lechner <david@lechnology.com>
+Date: Fri, 13 Jan 2017 13:03:40 -0600
+Subject: dt-bindings: Add LEGO MINDSTORMS EV3 compatible specification
+
+From: David Lechner <david@lechnology.com>
+
+
+[ Upstream commit 21078ab174c99885ca83a5c32db0d33b1617745e ]
+
+This adds the board level device tree specification for LEGO MINDSTORMS EV3
+
+Acked-by: Rob Herring <robh@kernel.org>
+Signed-off-by: David Lechner <david@lechnology.com>
+Signed-off-by: Sekhar Nori <nsekhar@ti.com>
+Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ Documentation/devicetree/bindings/arm/davinci.txt |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/Documentation/devicetree/bindings/arm/davinci.txt
++++ b/Documentation/devicetree/bindings/arm/davinci.txt
+@@ -9,6 +9,10 @@ EnBW AM1808 based CMC board
+ Required root node properties:
+     - compatible = "enbw,cmc", "ti,da850;
++LEGO MINDSTORMS EV3 (AM1808 based)
++Required root node properties:
++    - compatible = "lego,ev3", "ti,da850";
++
+ Generic DaVinci Boards
+ ----------------------
diff --git a/queue-3.18/dt-bindings-add-vendor-prefix-for-lego.patch b/queue-3.18/dt-bindings-add-vendor-prefix-for-lego.patch
new file mode 100644 (file)
index 0000000..a05e632
--- /dev/null
@@ -0,0 +1,31 @@
+From foo@baz Thu Nov  9 10:19:57 CET 2017
+From: David Lechner <david@lechnology.com>
+Date: Fri, 13 Jan 2017 13:03:39 -0600
+Subject: dt-bindings: Add vendor prefix for LEGO
+
+From: David Lechner <david@lechnology.com>
+
+
+[ Upstream commit 7dcc31e2e68a386a29070384b51683ece80982bf ]
+
+Add a vendor prefix for LEGO Systems A/S
+
+Acked-by: Rob Herring <robh@kernel.org>
+Signed-off-by: David Lechner <david@lechnology.com>
+Signed-off-by: Sekhar Nori <nsekhar@ti.com>
+Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ Documentation/devicetree/bindings/vendor-prefixes.txt |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
++++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
+@@ -83,6 +83,7 @@ karo Ka-Ro electronics GmbH
+ keymile       Keymile GmbH
+ lacie LaCie
+ lantiq        Lantiq Semiconductor
++lego  LEGO Systems A/S
+ lenovo        Lenovo Group Ltd.
+ lg    LG Corporation
+ linux Linux-specific binding
diff --git a/queue-3.18/ib-ipoib-change-list_del-to-list_del_init-in-the-tx-object.patch b/queue-3.18/ib-ipoib-change-list_del-to-list_del_init-in-the-tx-object.patch
new file mode 100644 (file)
index 0000000..6315aaa
--- /dev/null
@@ -0,0 +1,41 @@
+From foo@baz Thu Nov  9 10:19:57 CET 2017
+From: Feras Daoud <ferasda@mellanox.com>
+Date: Wed, 28 Dec 2016 14:47:28 +0200
+Subject: IB/ipoib: Change list_del to list_del_init in the tx object
+
+From: Feras Daoud <ferasda@mellanox.com>
+
+
+[ Upstream commit 27d41d29c7f093f6f77843624fbb080c1b4a8b9c ]
+
+Since ipoib_cm_tx_start function and ipoib_cm_tx_reap function
+belong to different work queues, they can run in parallel.
+In this case if ipoib_cm_tx_reap calls list_del and release the
+lock, ipoib_cm_tx_start may acquire it and call list_del_init
+on the already deleted object.
+Changing list_del to list_del_init in ipoib_cm_tx_reap fixes the problem.
+
+Fixes: 839fcaba355a ("IPoIB: Connected mode experimental support")
+Signed-off-by: Feras Daoud <ferasda@mellanox.com>
+Signed-off-by: Erez Shitrit <erezsh@mellanox.com>
+Reviewed-by: Alex Vesker <valex@mellanox.com>
+Signed-off-by: Leon Romanovsky <leon@kernel.org>
+Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
+Signed-off-by: Doug Ledford <dledford@redhat.com>
+Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/infiniband/ulp/ipoib/ipoib_cm.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/infiniband/ulp/ipoib/ipoib_cm.c
++++ b/drivers/infiniband/ulp/ipoib/ipoib_cm.c
+@@ -1362,7 +1362,7 @@ static void ipoib_cm_tx_reap(struct work
+       while (!list_empty(&priv->cm.reap_list)) {
+               p = list_entry(priv->cm.reap_list.next, typeof(*p), list);
+-              list_del(&p->list);
++              list_del_init(&p->list);
+               spin_unlock_irqrestore(&priv->lock, flags);
+               netif_tx_unlock_bh(dev);
+               ipoib_cm_tx_destroy(p);
diff --git a/queue-3.18/iio-trigger-free-trigger-resource-correctly.patch b/queue-3.18/iio-trigger-free-trigger-resource-correctly.patch
new file mode 100644 (file)
index 0000000..8578989
--- /dev/null
@@ -0,0 +1,99 @@
+From foo@baz Thu Nov  9 10:19:57 CET 2017
+From: Alison Schofield <amsfield22@gmail.com>
+Date: Thu, 19 Jan 2017 19:47:38 -0800
+Subject: iio: trigger: free trigger resource correctly
+
+From: Alison Schofield <amsfield22@gmail.com>
+
+
+[ Upstream commit 10e840dfb0b7fc345082dd9e5fff3c1c02e7690e ]
+
+These stand-alone trigger drivers were using iio_trigger_put()
+where they should have been using iio_trigger_free().  The
+iio_trigger_put() adds a module_put which is bad since they
+never did a module_get.
+
+In the sysfs driver, module_get/put's are used as triggers are
+added & removed. This extra module_put() occurs on an error path
+in the probe routine (probably rare).
+
+In the bfin-timer & interrupt trigger drivers, the module resources
+are not explicitly managed, so it's doing a put on something that
+was never get'd.  It occurs on the probe error path and on the
+remove path (not so rare).
+
+Tested with the sysfs trigger driver.
+The bfin & interrupt drivers were build tested & inspected only.
+
+Signed-off-by: Alison Schofield <amsfield22@gmail.com>
+Signed-off-by: Jonathan Cameron <jic23@kernel.org>
+Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/iio/trigger/iio-trig-interrupt.c          |    8 ++++----
+ drivers/iio/trigger/iio-trig-sysfs.c              |    2 +-
+ drivers/staging/iio/trigger/iio-trig-bfin-timer.c |    4 ++--
+ 3 files changed, 7 insertions(+), 7 deletions(-)
+
+--- a/drivers/iio/trigger/iio-trig-interrupt.c
++++ b/drivers/iio/trigger/iio-trig-interrupt.c
+@@ -58,7 +58,7 @@ static int iio_interrupt_trigger_probe(s
+       trig_info = kzalloc(sizeof(*trig_info), GFP_KERNEL);
+       if (!trig_info) {
+               ret = -ENOMEM;
+-              goto error_put_trigger;
++              goto error_free_trigger;
+       }
+       iio_trigger_set_drvdata(trig, trig_info);
+       trig_info->irq = irq;
+@@ -83,8 +83,8 @@ error_release_irq:
+       free_irq(irq, trig);
+ error_free_trig_info:
+       kfree(trig_info);
+-error_put_trigger:
+-      iio_trigger_put(trig);
++error_free_trigger:
++      iio_trigger_free(trig);
+ error_ret:
+       return ret;
+ }
+@@ -99,7 +99,7 @@ static int iio_interrupt_trigger_remove(
+       iio_trigger_unregister(trig);
+       free_irq(trig_info->irq, trig);
+       kfree(trig_info);
+-      iio_trigger_put(trig);
++      iio_trigger_free(trig);
+       return 0;
+ }
+--- a/drivers/iio/trigger/iio-trig-sysfs.c
++++ b/drivers/iio/trigger/iio-trig-sysfs.c
+@@ -173,7 +173,7 @@ static int iio_sysfs_trigger_probe(int i
+       return 0;
+ out2:
+-      iio_trigger_put(t->trig);
++      iio_trigger_free(t->trig);
+ free_t:
+       kfree(t);
+ out1:
+--- a/drivers/staging/iio/trigger/iio-trig-bfin-timer.c
++++ b/drivers/staging/iio/trigger/iio-trig-bfin-timer.c
+@@ -258,7 +258,7 @@ out_free_irq:
+ out1:
+       iio_trigger_unregister(st->trig);
+ out:
+-      iio_trigger_put(st->trig);
++      iio_trigger_free(st->trig);
+       return ret;
+ }
+@@ -271,7 +271,7 @@ static int iio_bfin_tmr_trigger_remove(s
+               peripheral_free(st->t->pin);
+       free_irq(st->irq, st);
+       iio_trigger_unregister(st->trig);
+-      iio_trigger_put(st->trig);
++      iio_trigger_free(st->trig);
+       return 0;
+ }
diff --git a/queue-3.18/input-mpr121-handle-multiple-bits-change-of-status-register.patch b/queue-3.18/input-mpr121-handle-multiple-bits-change-of-status-register.patch
new file mode 100644 (file)
index 0000000..f4b17cc
--- /dev/null
@@ -0,0 +1,68 @@
+From foo@baz Thu Nov  9 10:19:57 CET 2017
+From: Akinobu Mita <akinobu.mita@gmail.com>
+Date: Sun, 15 Jan 2017 14:44:30 -0800
+Subject: Input: mpr121 - handle multiple bits change of status register
+
+From: Akinobu Mita <akinobu.mita@gmail.com>
+
+
+[ Upstream commit 08fea55e37f58371bffc5336a59e55d1f155955a ]
+
+This driver reports input events on their interrupts which are triggered
+by the sensor's status register changes.  But only single bit change is
+reported in the interrupt handler.  So if there are multiple bits are
+changed at almost the same time, other press or release events are ignored.
+
+This fixes it by detecting all changed bits in the status register.
+
+Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
+Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/input/keyboard/mpr121_touchkey.c |   23 ++++++++++++++---------
+ 1 file changed, 14 insertions(+), 9 deletions(-)
+
+--- a/drivers/input/keyboard/mpr121_touchkey.c
++++ b/drivers/input/keyboard/mpr121_touchkey.c
+@@ -87,7 +87,8 @@ static irqreturn_t mpr_touchkey_interrup
+       struct mpr121_touchkey *mpr121 = dev_id;
+       struct i2c_client *client = mpr121->client;
+       struct input_dev *input = mpr121->input_dev;
+-      unsigned int key_num, key_val, pressed;
++      unsigned long bit_changed;
++      unsigned int key_num;
+       int reg;
+       reg = i2c_smbus_read_byte_data(client, ELE_TOUCH_STATUS_1_ADDR);
+@@ -105,18 +106,22 @@ static irqreturn_t mpr_touchkey_interrup
+       reg &= TOUCH_STATUS_MASK;
+       /* use old press bit to figure out which bit changed */
+-      key_num = ffs(reg ^ mpr121->statusbits) - 1;
+-      pressed = reg & (1 << key_num);
++      bit_changed = reg ^ mpr121->statusbits;
+       mpr121->statusbits = reg;
++      for_each_set_bit(key_num, &bit_changed, mpr121->keycount) {
++              unsigned int key_val, pressed;
+-      key_val = mpr121->keycodes[key_num];
++              pressed = reg & BIT(key_num);
++              key_val = mpr121->keycodes[key_num];
+-      input_event(input, EV_MSC, MSC_SCAN, key_num);
+-      input_report_key(input, key_val, pressed);
+-      input_sync(input);
++              input_event(input, EV_MSC, MSC_SCAN, key_num);
++              input_report_key(input, key_val, pressed);
++
++              dev_dbg(&client->dev, "key %d %d %s\n", key_num, key_val,
++                      pressed ? "pressed" : "released");
+-      dev_dbg(&client->dev, "key %d %d %s\n", key_num, key_val,
+-              pressed ? "pressed" : "released");
++      }
++      input_sync(input);
+ out:
+       return IRQ_HANDLED;
diff --git a/queue-3.18/input-mpr121-set-missing-event-capability.patch b/queue-3.18/input-mpr121-set-missing-event-capability.patch
new file mode 100644 (file)
index 0000000..abddcbf
--- /dev/null
@@ -0,0 +1,34 @@
+From foo@baz Thu Nov  9 10:19:57 CET 2017
+From: Akinobu Mita <akinobu.mita@gmail.com>
+Date: Sun, 15 Jan 2017 14:44:05 -0800
+Subject: Input: mpr121 - set missing event capability
+
+From: Akinobu Mita <akinobu.mita@gmail.com>
+
+
+[ Upstream commit 9723ddc8fe0d76ce41fe0dc16afb241ec7d0a29d ]
+
+This driver reports misc scan input events on the sensor's status
+register changes.  But the event capability for them was not set in the
+device initialization, so these events were ignored.
+
+This change adds the missing event capability.
+
+Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
+Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/input/keyboard/mpr121_touchkey.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/input/keyboard/mpr121_touchkey.c
++++ b/drivers/input/keyboard/mpr121_touchkey.c
+@@ -235,6 +235,7 @@ static int mpr_touchkey_probe(struct i2c
+       input_dev->id.bustype = BUS_I2C;
+       input_dev->dev.parent = &client->dev;
+       input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REP);
++      input_set_capability(input_dev, EV_MSC, MSC_SCAN);
+       input_dev->keycode = mpr121->keycodes;
+       input_dev->keycodesize = sizeof(mpr121->keycodes[0]);
diff --git a/queue-3.18/ipsec-do-not-ignore-crypto-err-in-ah4-input.patch b/queue-3.18/ipsec-do-not-ignore-crypto-err-in-ah4-input.patch
new file mode 100644 (file)
index 0000000..9e092e8
--- /dev/null
@@ -0,0 +1,41 @@
+From foo@baz Thu Nov  9 10:19:57 CET 2017
+From: Gilad Ben-Yossef <gilad@benyossef.com>
+Date: Mon, 16 Jan 2017 13:17:55 +0200
+Subject: IPsec: do not ignore crypto err in ah4 input
+
+From: Gilad Ben-Yossef <gilad@benyossef.com>
+
+
+[ Upstream commit ebd89a2d0675f1325c2be5b7576fd8cb7e8defd0 ]
+
+ah4 input processing uses the asynchronous hash crypto API which
+supplies an error code as part of the operation completion but
+the error code was being ignored.
+
+Treat a crypto API error indication as a verification failure.
+
+While a crypto API reported error would almost certainly result
+in a memcpy of the digest failing anyway and thus the security
+risk seems minor, performing a memory compare on what might be
+uninitialized memory is wrong.
+
+Signed-off-by: Gilad Ben-Yossef <gilad@benyossef.com>
+Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
+Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ net/ipv4/ah4.c |    3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/net/ipv4/ah4.c
++++ b/net/ipv4/ah4.c
+@@ -270,6 +270,9 @@ static void ah_input_done(struct crypto_
+       int ihl = ip_hdrlen(skb);
+       int ah_hlen = (ah->hdrlen + 2) << 2;
++      if (err)
++              goto out;
++
+       work_iph = AH_SKB_CB(skb)->tmp;
+       auth_data = ah_tmp_auth(work_iph, ihl);
+       icv = ah_tmp_icv(ahp->ahash, auth_data, ahp->icv_trunc_len);
diff --git a/queue-3.18/phy-increase-size-of-mii_bus_id_size-and-bus_id.patch b/queue-3.18/phy-increase-size-of-mii_bus_id_size-and-bus_id.patch
new file mode 100644 (file)
index 0000000..b18174f
--- /dev/null
@@ -0,0 +1,49 @@
+From foo@baz Thu Nov  9 10:19:57 CET 2017
+From: Volodymyr Bendiuga <volodymyr.bendiuga@gmail.com>
+Date: Thu, 19 Jan 2017 17:05:04 +0100
+Subject: phy: increase size of MII_BUS_ID_SIZE and bus_id
+
+From: Volodymyr Bendiuga <volodymyr.bendiuga@gmail.com>
+
+
+[ Upstream commit 4567d686f5c6d955e57a3afa1741944c1e7f4033 ]
+
+Some bus names are pretty long and do not fit into
+17 chars. Increase therefore MII_BUS_ID_SIZE and
+phy_fixup.bus_id to larger number. Now mii_bus.id
+can host larger name.
+
+Signed-off-by: Volodymyr Bendiuga <volodymyr.bendiuga@gmail.com>
+Signed-off-by: Magnus Öberg <magnus.oberg@westermo.se>
+Reviewed-by: Andrew Lunn <andrew@lunn.ch>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ include/linux/phy.h |    8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+--- a/include/linux/phy.h
++++ b/include/linux/phy.h
+@@ -135,11 +135,7 @@ static inline const char *phy_modes(phy_
+ /* Used when trying to connect to a specific phy (mii bus id:phy device id) */
+ #define PHY_ID_FMT "%s:%02x"
+-/*
+- * Need to be a little smaller than phydev->dev.bus_id to leave room
+- * for the ":%02x"
+- */
+-#define MII_BUS_ID_SIZE       (20 - 3)
++#define MII_BUS_ID_SIZE       61
+ /* Or MII_ADDR_C45 into regnum for read/write on mii_bus to enable the 21 bit
+    IEEE 802.3ae clause 45 addressing mode used by 10GIGE phy chips. */
+@@ -573,7 +569,7 @@ struct phy_driver {
+ /* A Structure for boards to register fixups with the PHY Lib */
+ struct phy_fixup {
+       struct list_head list;
+-      char bus_id[20];
++      char bus_id[MII_BUS_ID_SIZE + 3];
+       u32 phy_uid;
+       u32 phy_uid_mask;
+       int (*run)(struct phy_device *phydev);
diff --git a/queue-3.18/serial-sh-sci-fix-register-offsets-for-the-irda-serial-port.patch b/queue-3.18/serial-sh-sci-fix-register-offsets-for-the-irda-serial-port.patch
new file mode 100644 (file)
index 0000000..6be42e0
--- /dev/null
@@ -0,0 +1,64 @@
+From foo@baz Thu Nov  9 10:19:57 CET 2017
+From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
+Date: Wed, 11 Jan 2017 16:43:32 +0200
+Subject: serial: sh-sci: Fix register offsets for the IRDA serial port
+
+From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
+
+
+[ Upstream commit a752ba18af8285e3eeda572f40dddaebff0c3621 ]
+
+Even though most of its registers are 8-bit wide, the IRDA has two
+16-bit registers that make it a 16-bit peripheral and not a 8-bit
+peripheral with addresses shifted by one. Fix the registers offset in
+the driver and the platform data regshift value.
+
+Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
+Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/sh/kernel/cpu/sh3/setup-sh770x.c |    1 -
+ drivers/tty/serial/sh-sci.c           |   17 ++++++++---------
+ 2 files changed, 8 insertions(+), 10 deletions(-)
+
+--- a/arch/sh/kernel/cpu/sh3/setup-sh770x.c
++++ b/arch/sh/kernel/cpu/sh3/setup-sh770x.c
+@@ -165,7 +165,6 @@ static struct plat_sci_port scif2_platfo
+       .scscr          = SCSCR_TE | SCSCR_RE,
+       .type           = PORT_IRDA,
+       .ops            = &sh770x_sci_port_ops,
+-      .regshift       = 1,
+ };
+ static struct resource scif2_resources[] = {
+--- a/drivers/tty/serial/sh-sci.c
++++ b/drivers/tty/serial/sh-sci.c
+@@ -171,18 +171,17 @@ static struct plat_sci_reg sci_regmap[SC
+       },
+       /*
+-       * Common definitions for legacy IrDA ports, dependent on
+-       * regshift value.
++       * Common definitions for legacy IrDA ports.
+        */
+       [SCIx_IRDA_REGTYPE] = {
+               [SCSMR]         = { 0x00,  8 },
+-              [SCBRR]         = { 0x01,  8 },
+-              [SCSCR]         = { 0x02,  8 },
+-              [SCxTDR]        = { 0x03,  8 },
+-              [SCxSR]         = { 0x04,  8 },
+-              [SCxRDR]        = { 0x05,  8 },
+-              [SCFCR]         = { 0x06,  8 },
+-              [SCFDR]         = { 0x07, 16 },
++              [SCBRR]         = { 0x02,  8 },
++              [SCSCR]         = { 0x04,  8 },
++              [SCxTDR]        = { 0x06,  8 },
++              [SCxSR]         = { 0x08, 16 },
++              [SCxRDR]        = { 0x0a,  8 },
++              [SCFCR]         = { 0x0c,  8 },
++              [SCFDR]         = { 0x0e, 16 },
+               [SCTFDR]        = sci_reg_invalid,
+               [SCRFDR]        = sci_reg_invalid,
+               [SCSPTR]        = sci_reg_invalid,
diff --git a/queue-3.18/series b/queue-3.18/series
new file mode 100644 (file)
index 0000000..7ac5db6
--- /dev/null
@@ -0,0 +1,15 @@
+video-fbdev-pmag-ba-fb-remove-bad-__init-annotation.patch
+xen-netback-set-default-upper-limit-of-tx-rx-queues-to-8.patch
+arm-dts-imx53-qsb-common-fix-fec-pinmux-config.patch
+drm-drm_minor_register-clean-up-debugfs-on-failure.patch
+arm-omap2plus_defconfig-fix-probe-errors-on-uarts-5-and-6.patch
+iio-trigger-free-trigger-resource-correctly.patch
+dt-bindings-add-lego-mindstorms-ev3-compatible-specification.patch
+dt-bindings-add-vendor-prefix-for-lego.patch
+phy-increase-size-of-mii_bus_id_size-and-bus_id.patch
+serial-sh-sci-fix-register-offsets-for-the-irda-serial-port.patch
+usb-hcd-initialize-hcd-flags-to-0-when-rm-hcd.patch
+ipsec-do-not-ignore-crypto-err-in-ah4-input.patch
+input-mpr121-handle-multiple-bits-change-of-status-register.patch
+input-mpr121-set-missing-event-capability.patch
+ib-ipoib-change-list_del-to-list_del_init-in-the-tx-object.patch
diff --git a/queue-3.18/usb-hcd-initialize-hcd-flags-to-0-when-rm-hcd.patch b/queue-3.18/usb-hcd-initialize-hcd-flags-to-0-when-rm-hcd.patch
new file mode 100644 (file)
index 0000000..f71036f
--- /dev/null
@@ -0,0 +1,74 @@
+From foo@baz Thu Nov  9 10:19:57 CET 2017
+From: William wu <wulf@rock-chips.com>
+Date: Fri, 13 Jan 2017 11:04:22 +0800
+Subject: usb: hcd: initialize hcd->flags to 0 when rm hcd
+
+From: William wu <wulf@rock-chips.com>
+
+
+[ Upstream commit 76b8db0d480e8045e1a1902fc9ab143b3b9ef115 ]
+
+On some platforms(e.g. rk3399 board), we can call hcd_add/remove
+consecutively without calling usb_put_hcd/usb_create_hcd in between,
+so hcd->flags can be stale.
+
+If the HC dies due to whatever reason then without this patch we get
+the below error on next hcd_add.
+
+[173.296154] xhci-hcd xhci-hcd.2.auto: HC died; cleaning up
+[173.296209] xhci-hcd xhci-hcd.2.auto: xHCI Host Controller
+[173.296762] xhci-hcd xhci-hcd.2.auto: new USB bus registered, assigned bus number 6
+[173.296931] usb usb6: We don't know the algorithms for LPM for this host, disabling LPM.
+[173.297179] usb usb6: New USB device found, idVendor=1d6b, idProduct=0003
+[173.297203] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
+[173.297222] usb usb6: Product: xHCI Host Controller
+[173.297240] usb usb6: Manufacturer: Linux 4.4.21 xhci-hcd
+[173.297257] usb usb6: SerialNumber: xhci-hcd.2.auto
+[173.298680] hub 6-0:1.0: USB hub found
+[173.298749] hub 6-0:1.0: 1 port detected
+[173.299382] rockchip-dwc3 usb@fe800000: USB HOST connected
+[173.395418] hub 5-0:1.0: activate --> -19
+[173.603447] irq 228: nobody cared (try booting with the "irqpoll" option)
+[173.603493] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.21 #9
+[173.603513] Hardware name: Google Kevin (DT)
+[173.603531] Call trace:
+[173.603568] [<ffffffc0002087dc>] dump_backtrace+0x0/0x160
+[173.603596] [<ffffffc00020895c>] show_stack+0x20/0x28
+[173.603623] [<ffffffc0004b28a8>] dump_stack+0x90/0xb0
+[173.603650] [<ffffffc00027347c>] __report_bad_irq+0x48/0xe8
+[173.603674] [<ffffffc0002737cc>] note_interrupt+0x1e8/0x28c
+[173.603698] [<ffffffc000270a38>] handle_irq_event_percpu+0x1d4/0x25c
+[173.603722] [<ffffffc000270b0c>] handle_irq_event+0x4c/0x7c
+[173.603748] [<ffffffc00027456c>] handle_fasteoi_irq+0xb4/0x124
+[173.603777] [<ffffffc00026fe3c>] generic_handle_irq+0x30/0x44
+[173.603804] [<ffffffc0002701a8>] __handle_domain_irq+0x90/0xbc
+[173.603827] [<ffffffc0002006f4>] gic_handle_irq+0xcc/0x188
+...
+[173.604500] [<ffffffc000203700>] el1_irq+0x80/0xf8
+[173.604530] [<ffffffc000261388>] cpu_startup_entry+0x38/0x3cc
+[173.604558] [<ffffffc00090f7d8>] rest_init+0x8c/0x94
+[173.604585] [<ffffffc000e009ac>] start_kernel+0x3d0/0x3fc
+[173.604607] [<0000000000b16000>] 0xb16000
+[173.604622] handlers:
+[173.604648] [<ffffffc000642084>] usb_hcd_irq
+[173.604673] Disabling IRQ #228
+
+Signed-off-by: William wu <wulf@rock-chips.com>
+Acked-by: Roger Quadros <rogerq@ti.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/usb/core/hcd.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/usb/core/hcd.c
++++ b/drivers/usb/core/hcd.c
+@@ -2927,6 +2927,7 @@ void usb_remove_hcd(struct usb_hcd *hcd)
+       }
+       usb_put_invalidate_rhdev(hcd);
++      hcd->flags = 0;
+ }
+ EXPORT_SYMBOL_GPL(usb_remove_hcd);
diff --git a/queue-3.18/video-fbdev-pmag-ba-fb-remove-bad-__init-annotation.patch b/queue-3.18/video-fbdev-pmag-ba-fb-remove-bad-__init-annotation.patch
new file mode 100644 (file)
index 0000000..3d1e340
--- /dev/null
@@ -0,0 +1,41 @@
+From foo@baz Thu Nov  9 10:19:57 CET 2017
+From: "Maciej W. Rozycki" <macro@linux-mips.org>
+Date: Mon, 30 Jan 2017 17:39:48 +0100
+Subject: video: fbdev: pmag-ba-fb: Remove bad `__init' annotation
+
+From: "Maciej W. Rozycki" <macro@linux-mips.org>
+
+
+[ Upstream commit 879e5a0df626f39cbb3c61bb90373e56d67012c4 ]
+
+Fix:
+
+WARNING: drivers/video/fbdev/pmag-ba-fb.o(.text+0x308): Section mismatch in reference from the function pmagbafb_probe() to the function .init.text:pmagbafb_erase_cursor()
+The function pmagbafb_probe()
+references the function __init pmagbafb_erase_cursor().
+This is often because pmagbafb_probe lacks a __init
+annotation or the annotation of pmagbafb_erase_cursor is wrong.
+
+-- a fallout from a missed update from commit 9625b51350cc ("VIDEO:
+PMAG-BA: Fix section mismatch") and then commit 48c68c4f1b54 ("Drivers:
+video: remove __dev* attributes.")
+
+Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
+Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
+Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/video/fbdev/pmag-ba-fb.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/video/fbdev/pmag-ba-fb.c
++++ b/drivers/video/fbdev/pmag-ba-fb.c
+@@ -129,7 +129,7 @@ static struct fb_ops pmagbafb_ops = {
+ /*
+  * Turn the hardware cursor off.
+  */
+-static void __init pmagbafb_erase_cursor(struct fb_info *info)
++static void pmagbafb_erase_cursor(struct fb_info *info)
+ {
+       struct pmagbafb_par *par = info->par;
diff --git a/queue-3.18/xen-netback-set-default-upper-limit-of-tx-rx-queues-to-8.patch b/queue-3.18/xen-netback-set-default-upper-limit-of-tx-rx-queues-to-8.patch
new file mode 100644 (file)
index 0000000..46a6b7c
--- /dev/null
@@ -0,0 +1,52 @@
+From foo@baz Thu Nov  9 10:19:57 CET 2017
+From: Juergen Gross <jgross@suse.com>
+Date: Tue, 10 Jan 2017 14:32:52 +0100
+Subject: xen/netback: set default upper limit of tx/rx queues to 8
+
+From: Juergen Gross <jgross@suse.com>
+
+
+[ Upstream commit 56dd5af9bc23d0d5d23bb207c477715b4c2216c5 ]
+
+The default for the maximum number of tx/rx queues of one interface is
+the number of cpus of the system today. As each queue pair reserves 512
+grant pages this default consumes a ridiculous number of grants for
+large guests.
+
+Limit the queue number to 8 as default. This value can be modified
+via a module parameter if required.
+
+Signed-off-by: Juergen Gross <jgross@suse.com>
+Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
+Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
+Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/net/xen-netback/netback.c |    6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+--- a/drivers/net/xen-netback/netback.c
++++ b/drivers/net/xen-netback/netback.c
+@@ -67,6 +67,7 @@ module_param(rx_drain_timeout_msecs, uin
+ unsigned int rx_stall_timeout_msecs = 60000;
+ module_param(rx_stall_timeout_msecs, uint, 0444);
++#define MAX_QUEUES_DEFAULT 8
+ unsigned int xenvif_max_queues;
+ module_param_named(max_queues, xenvif_max_queues, uint, 0644);
+ MODULE_PARM_DESC(max_queues,
+@@ -2189,11 +2190,12 @@ static int __init netback_init(void)
+       if (!xen_domain())
+               return -ENODEV;
+-      /* Allow as many queues as there are CPUs if user has not
++      /* Allow as many queues as there are CPUs but max. 8 if user has not
+        * specified a value.
+        */
+       if (xenvif_max_queues == 0)
+-              xenvif_max_queues = num_online_cpus();
++              xenvif_max_queues = min_t(unsigned int, MAX_QUEUES_DEFAULT,
++                                        num_online_cpus());
+       if (fatal_skb_slots < XEN_NETBK_LEGACY_SLOTS_MAX) {
+               pr_info("fatal_skb_slots too small (%d), bump it to XEN_NETBK_LEGACY_SLOTS_MAX (%d)\n",