]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.14-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Aug 2016 09:09:52 +0000 (11:09 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Aug 2016 09:09:52 +0000 (11:09 +0200)
added patches:
bluetooth-fix-l2cap_sock_setsockopt-with-optname-bt_rcvmtu.patch
hp-wmi-fix-wifi-cannot-be-hard-unblocked.patch
s5p-mfc-add-release-callback-for-memory-region-devs.patch
s5p-mfc-set-device-name-for-reserved-memory-region-devs.patch

queue-3.14/bluetooth-fix-l2cap_sock_setsockopt-with-optname-bt_rcvmtu.patch [new file with mode: 0644]
queue-3.14/hp-wmi-fix-wifi-cannot-be-hard-unblocked.patch [new file with mode: 0644]
queue-3.14/s5p-mfc-add-release-callback-for-memory-region-devs.patch [new file with mode: 0644]
queue-3.14/s5p-mfc-set-device-name-for-reserved-memory-region-devs.patch [new file with mode: 0644]
queue-3.14/series

diff --git a/queue-3.14/bluetooth-fix-l2cap_sock_setsockopt-with-optname-bt_rcvmtu.patch b/queue-3.14/bluetooth-fix-l2cap_sock_setsockopt-with-optname-bt_rcvmtu.patch
new file mode 100644 (file)
index 0000000..0cba80b
--- /dev/null
@@ -0,0 +1,36 @@
+From 23bc6ab0a0912146fd674a0becc758c3162baabc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?=
+ <amadeusz.slawinski@tieto.com>
+Date: Thu, 14 Jul 2016 10:50:23 +0200
+Subject: Bluetooth: Fix l2cap_sock_setsockopt() with optname BT_RCVMTU
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Amadeusz Sławiński <amadeusz.slawinski@tieto.com>
+
+commit 23bc6ab0a0912146fd674a0becc758c3162baabc upstream.
+
+When we retrieve imtu value from userspace we should use 16 bit pointer
+cast instead of 32 as it's defined that way in headers. Fixes setsockopt
+calls on big-endian platforms.
+
+Signed-off-by: Amadeusz Sławiński <amadeusz.slawinski@tieto.com>
+Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ net/bluetooth/l2cap_sock.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/net/bluetooth/l2cap_sock.c
++++ b/net/bluetooth/l2cap_sock.c
+@@ -922,7 +922,7 @@ static int l2cap_sock_setsockopt(struct
+                       break;
+               }
+-              if (get_user(opt, (u32 __user *) optval)) {
++              if (get_user(opt, (u16 __user *) optval)) {
+                       err = -EFAULT;
+                       break;
+               }
diff --git a/queue-3.14/hp-wmi-fix-wifi-cannot-be-hard-unblocked.patch b/queue-3.14/hp-wmi-fix-wifi-cannot-be-hard-unblocked.patch
new file mode 100644 (file)
index 0000000..4ed44c8
--- /dev/null
@@ -0,0 +1,47 @@
+From fc8a601e1175ae351f662506030f9939cb7fdbfe Mon Sep 17 00:00:00 2001
+From: Alex Hung <alex.hung@canonical.com>
+Date: Mon, 13 Jun 2016 19:44:00 +0800
+Subject: hp-wmi: Fix wifi cannot be hard-unblocked
+
+From: Alex Hung <alex.hung@canonical.com>
+
+commit fc8a601e1175ae351f662506030f9939cb7fdbfe upstream.
+
+Several users reported wifi cannot be unblocked as discussed in [1].
+This patch removes the use of the 2009 flag by BIOS but uses the actual
+WMI function calls - it will be skipped if WMI reports unsupported.
+
+[1] https://bugzilla.kernel.org/show_bug.cgi?id=69131
+
+Signed-off-by: Alex Hung <alex.hung@canonical.com>
+Tested-by: Evgenii Shatokhin <eugene.shatokhin@yandex.ru>
+Signed-off-by: Darren Hart <dvhart@linux.intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/platform/x86/hp-wmi.c |    7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+--- a/drivers/platform/x86/hp-wmi.c
++++ b/drivers/platform/x86/hp-wmi.c
+@@ -696,6 +696,11 @@ static int hp_wmi_rfkill_setup(struct pl
+       if (err)
+               return err;
++      err = hp_wmi_perform_query(HPWMI_WIRELESS_QUERY, 1, &wireless,
++                                 sizeof(wireless), 0);
++      if (err)
++              return err;
++
+       if (wireless & 0x1) {
+               wifi_rfkill = rfkill_alloc("hp-wifi", &device->dev,
+                                          RFKILL_TYPE_WLAN,
+@@ -883,7 +888,7 @@ static int __init hp_wmi_bios_setup(stru
+       gps_rfkill = NULL;
+       rfkill2_count = 0;
+-      if (hp_wmi_bios_2009_later() || hp_wmi_rfkill_setup(device))
++      if (hp_wmi_rfkill_setup(device))
+               hp_wmi_rfkill2_setup(device);
+       err = device_create_file(&device->dev, &dev_attr_display);
diff --git a/queue-3.14/s5p-mfc-add-release-callback-for-memory-region-devs.patch b/queue-3.14/s5p-mfc-add-release-callback-for-memory-region-devs.patch
new file mode 100644 (file)
index 0000000..2b35512
--- /dev/null
@@ -0,0 +1,58 @@
+From 6311f1261f59ce5e51fbe5cc3b5e7737197316ac Mon Sep 17 00:00:00 2001
+From: Javier Martinez Canillas <javier@osg.samsung.com>
+Date: Tue, 3 May 2016 16:27:17 -0400
+Subject: s5p-mfc: Add release callback for memory region devs
+
+From: Javier Martinez Canillas <javier@osg.samsung.com>
+
+commit 6311f1261f59ce5e51fbe5cc3b5e7737197316ac upstream.
+
+When s5p_mfc_remove() calls put_device() for the reserved memory region
+devs, the driver core warns that the dev doesn't have a release callback:
+
+WARNING: CPU: 0 PID: 591 at drivers/base/core.c:251 device_release+0x8c/0x90
+Device 's5p-mfc-l' does not have a release() function, it is broken and must be fixed.
+
+Also, the declared DMA memory using dma_declare_coherent_memory() isn't
+relased so add a dev .release that calls dma_release_declared_memory().
+
+Fixes: 6e83e6e25eb4 ("[media] s5p-mfc: Fix kernel warning on memory init")
+Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
+Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
+Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/media/platform/s5p-mfc/s5p_mfc.c |    7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/drivers/media/platform/s5p-mfc/s5p_mfc.c
++++ b/drivers/media/platform/s5p-mfc/s5p_mfc.c
+@@ -1004,6 +1004,11 @@ static int match_child(struct device *de
+       return !strcmp(dev_name(dev), (char *)data);
+ }
++static void s5p_mfc_memdev_release(struct device *dev)
++{
++      dma_release_declared_memory(dev);
++}
++
+ static void *mfc_get_drv_data(struct platform_device *pdev);
+ static int s5p_mfc_alloc_memdevs(struct s5p_mfc_dev *dev)
+@@ -1018,6 +1023,7 @@ static int s5p_mfc_alloc_memdevs(struct
+       }
+       dev_set_name(dev->mem_dev_l, "%s", "s5p-mfc-l");
++      dev->mem_dev_l->release = s5p_mfc_memdev_release;
+       device_initialize(dev->mem_dev_l);
+       of_property_read_u32_array(dev->plat_dev->dev.of_node,
+                       "samsung,mfc-l", mem_info, 2);
+@@ -1037,6 +1043,7 @@ static int s5p_mfc_alloc_memdevs(struct
+       }
+       dev_set_name(dev->mem_dev_r, "%s", "s5p-mfc-r");
++      dev->mem_dev_r->release = s5p_mfc_memdev_release;
+       device_initialize(dev->mem_dev_r);
+       of_property_read_u32_array(dev->plat_dev->dev.of_node,
+                       "samsung,mfc-r", mem_info, 2);
diff --git a/queue-3.14/s5p-mfc-set-device-name-for-reserved-memory-region-devs.patch b/queue-3.14/s5p-mfc-set-device-name-for-reserved-memory-region-devs.patch
new file mode 100644 (file)
index 0000000..d31307e
--- /dev/null
@@ -0,0 +1,50 @@
+From 29debab0a94035a390801d1f177d171d014b7765 Mon Sep 17 00:00:00 2001
+From: Javier Martinez Canillas <javier@osg.samsung.com>
+Date: Tue, 3 May 2016 16:27:16 -0400
+Subject: s5p-mfc: Set device name for reserved memory region devs
+
+From: Javier Martinez Canillas <javier@osg.samsung.com>
+
+commit 29debab0a94035a390801d1f177d171d014b7765 upstream.
+
+The devices don't have a name set, so makes dev_name() returns NULL which
+makes harder to identify the devices that are causing issues, for example:
+
+WARNING: CPU: 2 PID: 616 at drivers/base/core.c:251 device_release+0x8c/0x90
+Device '(null)' does not have a release() function, it is broken and must be fixed.
+
+And after setting the device name:
+
+WARNING: CPU: 0 PID: 591 at drivers/base/core.c:251 device_release+0x8c/0x90
+Device 's5p-mfc-l' does not have a release() function, it is broken and must be fixed.
+
+Fixes: 6e83e6e25eb4 ("[media] s5p-mfc: Fix kernel warning on memory init")
+Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
+Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
+Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/media/platform/s5p-mfc/s5p_mfc.c |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/drivers/media/platform/s5p-mfc/s5p_mfc.c
++++ b/drivers/media/platform/s5p-mfc/s5p_mfc.c
+@@ -1016,6 +1016,8 @@ static int s5p_mfc_alloc_memdevs(struct
+               mfc_err("Not enough memory\n");
+               return -ENOMEM;
+       }
++
++      dev_set_name(dev->mem_dev_l, "%s", "s5p-mfc-l");
+       device_initialize(dev->mem_dev_l);
+       of_property_read_u32_array(dev->plat_dev->dev.of_node,
+                       "samsung,mfc-l", mem_info, 2);
+@@ -1033,6 +1035,8 @@ static int s5p_mfc_alloc_memdevs(struct
+               mfc_err("Not enough memory\n");
+               return -ENOMEM;
+       }
++
++      dev_set_name(dev->mem_dev_r, "%s", "s5p-mfc-r");
+       device_initialize(dev->mem_dev_r);
+       of_property_read_u32_array(dev->plat_dev->dev.of_node,
+                       "samsung,mfc-r", mem_info, 2);
index fd2bcddc65c118c2e80151a2b90bf47c0fcf07df..c0e429ed01336d781fb672644d3c29c9a8e23819 100644 (file)
@@ -4,3 +4,7 @@ usb-serial-option-add-support-for-telit-le910-pid-0x1206.patch
 gpio-pca953x-fix-nbank-calculation-for-pca9536.patch
 gpio-intel-mid-remove-potentially-harmful-code.patch
 kvm-ppc-book3s-hv-save-restore-tm-state-in-h_cede.patch
+hp-wmi-fix-wifi-cannot-be-hard-unblocked.patch
+s5p-mfc-set-device-name-for-reserved-memory-region-devs.patch
+s5p-mfc-add-release-callback-for-memory-region-devs.patch
+bluetooth-fix-l2cap_sock_setsockopt-with-optname-bt_rcvmtu.patch