]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 30 Jan 2017 13:52:23 +0000 (14:52 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 30 Jan 2017 13:52:23 +0000 (14:52 +0100)
added patches:
ib-umem-release-pid-in-error-and-odp-flow.patch
mm-memcg-do-not-retry-precharge-charges.patch
pinctrl-broxton-use-correct-padcfglock-offset.patch
platform-x86-intel_mid_powerbtn-set-irq_oneshot.patch
s5k4ecgx-select-crc32-helper.patch

queue-4.4/ib-umem-release-pid-in-error-and-odp-flow.patch [new file with mode: 0644]
queue-4.4/mm-memcg-do-not-retry-precharge-charges.patch [new file with mode: 0644]
queue-4.4/pinctrl-broxton-use-correct-padcfglock-offset.patch [new file with mode: 0644]
queue-4.4/platform-x86-intel_mid_powerbtn-set-irq_oneshot.patch [new file with mode: 0644]
queue-4.4/s5k4ecgx-select-crc32-helper.patch [new file with mode: 0644]
queue-4.4/series

diff --git a/queue-4.4/ib-umem-release-pid-in-error-and-odp-flow.patch b/queue-4.4/ib-umem-release-pid-in-error-and-odp-flow.patch
new file mode 100644 (file)
index 0000000..6e99f9a
--- /dev/null
@@ -0,0 +1,42 @@
+From 828f6fa65ce7e80f77f5ab12942e44eb3d9d174e Mon Sep 17 00:00:00 2001
+From: Kenneth Lee <liguozhu@hisilicon.com>
+Date: Thu, 5 Jan 2017 15:00:05 +0800
+Subject: IB/umem: Release pid in error and ODP flow
+
+From: Kenneth Lee <liguozhu@hisilicon.com>
+
+commit 828f6fa65ce7e80f77f5ab12942e44eb3d9d174e upstream.
+
+1. Release pid before enter odp flow
+2. Release pid when fail to allocate memory
+
+Fixes: 87773dd56d54 ("IB: ib_umem_release() should decrement mm->pinned_vm from ib_umem_get")
+Fixes: 8ada2c1c0c1d ("IB/core: Add support for on demand paging regions")
+Signed-off-by: Kenneth Lee <liguozhu@hisilicon.com>
+Reviewed-by: Haggai Eran <haggaie@mellanox.com>
+Reviewed-by: Leon Romanovsky <leon@kernel.org>
+Signed-off-by: Doug Ledford <dledford@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/infiniband/core/umem.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/infiniband/core/umem.c
++++ b/drivers/infiniband/core/umem.c
+@@ -134,6 +134,7 @@ struct ib_umem *ib_umem_get(struct ib_uc
+                IB_ACCESS_REMOTE_ATOMIC | IB_ACCESS_MW_BIND));
+       if (access & IB_ACCESS_ON_DEMAND) {
++              put_pid(umem->pid);
+               ret = ib_umem_odp_get(context, umem);
+               if (ret) {
+                       kfree(umem);
+@@ -149,6 +150,7 @@ struct ib_umem *ib_umem_get(struct ib_uc
+       page_list = (struct page **) __get_free_page(GFP_KERNEL);
+       if (!page_list) {
++              put_pid(umem->pid);
+               kfree(umem);
+               return ERR_PTR(-ENOMEM);
+       }
diff --git a/queue-4.4/mm-memcg-do-not-retry-precharge-charges.patch b/queue-4.4/mm-memcg-do-not-retry-precharge-charges.patch
new file mode 100644 (file)
index 0000000..deec396
--- /dev/null
@@ -0,0 +1,45 @@
+From 3674534b775354516e5c148ea48f51d4d1909a78 Mon Sep 17 00:00:00 2001
+From: David Rientjes <rientjes@google.com>
+Date: Tue, 24 Jan 2017 15:18:10 -0800
+Subject: mm, memcg: do not retry precharge charges
+
+From: David Rientjes <rientjes@google.com>
+
+commit 3674534b775354516e5c148ea48f51d4d1909a78 upstream.
+
+When memory.move_charge_at_immigrate is enabled and precharges are
+depleted during move, mem_cgroup_move_charge_pte_range() will attempt to
+increase the size of the precharge.
+
+Prevent precharges from ever looping by setting __GFP_NORETRY.  This was
+probably the intention of the GFP_KERNEL & ~__GFP_NORETRY, which is
+pointless as written.
+
+Fixes: 0029e19ebf84 ("mm: memcontrol: remove explicit OOM parameter in charge path")
+Link: http://lkml.kernel.org/r/alpine.DEB.2.10.1701130208510.69402@chino.kir.corp.google.com
+Signed-off-by: David Rientjes <rientjes@google.com>
+Acked-by: Michal Hocko <mhocko@suse.com>
+Cc: Johannes Weiner <hannes@cmpxchg.org>
+Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ mm/memcontrol.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/mm/memcontrol.c
++++ b/mm/memcontrol.c
+@@ -4496,9 +4496,9 @@ static int mem_cgroup_do_precharge(unsig
+               return ret;
+       }
+-      /* Try charges one by one with reclaim */
++      /* Try charges one by one with reclaim, but do not retry */
+       while (count--) {
+-              ret = try_charge(mc.to, GFP_KERNEL & ~__GFP_NORETRY, 1);
++              ret = try_charge(mc.to, GFP_KERNEL | __GFP_NORETRY, 1);
+               if (ret)
+                       return ret;
+               mc.precharge++;
diff --git a/queue-4.4/pinctrl-broxton-use-correct-padcfglock-offset.patch b/queue-4.4/pinctrl-broxton-use-correct-padcfglock-offset.patch
new file mode 100644 (file)
index 0000000..e6467af
--- /dev/null
@@ -0,0 +1,32 @@
+From ecc8995363ee6231b32dad61c955b371b79cc4cf Mon Sep 17 00:00:00 2001
+From: Mika Westerberg <mika.westerberg@linux.intel.com>
+Date: Tue, 10 Jan 2017 17:31:56 +0300
+Subject: pinctrl: broxton: Use correct PADCFGLOCK offset
+
+From: Mika Westerberg <mika.westerberg@linux.intel.com>
+
+commit ecc8995363ee6231b32dad61c955b371b79cc4cf upstream.
+
+PADCFGLOCK (and PADCFGLOCK_TX) offset in Broxton actually starts at 0x060
+and not 0x090 as used in the driver. Fix it to use the correct offset.
+
+Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
+Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/pinctrl/intel/pinctrl-broxton.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/pinctrl/intel/pinctrl-broxton.c
++++ b/drivers/pinctrl/intel/pinctrl-broxton.c
+@@ -19,7 +19,7 @@
+ #define BXT_PAD_OWN   0x020
+ #define BXT_HOSTSW_OWN        0x080
+-#define BXT_PADCFGLOCK        0x090
++#define BXT_PADCFGLOCK        0x060
+ #define BXT_GPI_IE    0x110
+ #define BXT_COMMUNITY(s, e)                           \
diff --git a/queue-4.4/platform-x86-intel_mid_powerbtn-set-irq_oneshot.patch b/queue-4.4/platform-x86-intel_mid_powerbtn-set-irq_oneshot.patch
new file mode 100644 (file)
index 0000000..9062cac
--- /dev/null
@@ -0,0 +1,34 @@
+From 5a00b6c2438460b870a451f14593fc40d3c7edf6 Mon Sep 17 00:00:00 2001
+From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+Date: Thu, 19 Jan 2017 18:39:40 +0200
+Subject: platform/x86: intel_mid_powerbtn: Set IRQ_ONESHOT
+
+From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+
+commit 5a00b6c2438460b870a451f14593fc40d3c7edf6 upstream.
+
+The commit 1c6c69525b40 ("genirq: Reject bogus threaded irq requests")
+starts refusing misconfigured interrupt handlers. This makes
+intel_mid_powerbtn not working anymore.
+
+Add a mandatory flag to a threaded IRQ request in the driver.
+
+Fixes: 1c6c69525b40 ("genirq: Reject bogus threaded irq requests")
+Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/platform/x86/intel_mid_powerbtn.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/platform/x86/intel_mid_powerbtn.c
++++ b/drivers/platform/x86/intel_mid_powerbtn.c
+@@ -77,7 +77,7 @@ static int mfld_pb_probe(struct platform
+       input_set_capability(input, EV_KEY, KEY_POWER);
+-      error = request_threaded_irq(irq, NULL, mfld_pb_isr, 0,
++      error = request_threaded_irq(irq, NULL, mfld_pb_isr, IRQF_ONESHOT,
+                                    DRIVER_NAME, input);
+       if (error) {
+               dev_err(&pdev->dev, "Unable to request irq %d for mfld power"
diff --git a/queue-4.4/s5k4ecgx-select-crc32-helper.patch b/queue-4.4/s5k4ecgx-select-crc32-helper.patch
new file mode 100644 (file)
index 0000000..7e76c6f
--- /dev/null
@@ -0,0 +1,37 @@
+From c739c0a7c3c2472d7562b8f802cdce44d2597c8b Mon Sep 17 00:00:00 2001
+From: Arnd Bergmann <arnd@arndb.de>
+Date: Fri, 9 Dec 2016 09:41:29 -0200
+Subject: [media] s5k4ecgx: select CRC32 helper
+
+From: Arnd Bergmann <arnd@arndb.de>
+
+commit c739c0a7c3c2472d7562b8f802cdce44d2597c8b upstream.
+
+A rare randconfig build failure shows up in this driver when
+the CRC32 helper is not there:
+
+drivers/media/built-in.o: In function `s5k4ecgx_s_power':
+s5k4ecgx.c:(.text+0x9eb4): undefined reference to `crc32_le'
+
+This adds the 'select' that all other users of this function have.
+
+Fixes: 8b99312b7214 ("[media] Add v4l2 subdev driver for S5K4ECGX sensor")
+
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/media/i2c/Kconfig |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/media/i2c/Kconfig
++++ b/drivers/media/i2c/Kconfig
+@@ -607,6 +607,7 @@ config VIDEO_S5K6A3
+ config VIDEO_S5K4ECGX
+         tristate "Samsung S5K4ECGX sensor support"
+         depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
++      select CRC32
+         ---help---
+           This is a V4L2 sensor-level driver for Samsung S5K4ECGX 5M
+           camera sensor with an embedded SoC image signal processor.
index 794d361e67aaf30f889f72fb29ce48eb69e513c0..12f670ad4efdd11575cfeb6b149169d68aaa3c4a 100644 (file)
@@ -16,3 +16,8 @@ nfsv4.0-always-send-mode-in-setattr-after-exclusive4.patch
 sunrpc-cleanup-ida-information-when-removing-sunrpc-module.patch
 drm-i915-don-t-leak-edid-in-intel_crt_detect_ddc.patch
 ib-ipoib-move-back-ib-ll-address-into-the-hard-header.patch
+ib-umem-release-pid-in-error-and-odp-flow.patch
+s5k4ecgx-select-crc32-helper.patch
+pinctrl-broxton-use-correct-padcfglock-offset.patch
+platform-x86-intel_mid_powerbtn-set-irq_oneshot.patch
+mm-memcg-do-not-retry-precharge-charges.patch