From: Greg Kroah-Hartman Date: Thu, 18 Aug 2016 09:09:52 +0000 (+0200) Subject: 3.14-stable patches X-Git-Tag: v3.14.77~36 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1d85d499b622dac9a9535653207290b9fd80ca60;p=thirdparty%2Fkernel%2Fstable-queue.git 3.14-stable patches 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 --- 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 index 00000000000..0cba80bca78 --- /dev/null +++ b/queue-3.14/bluetooth-fix-l2cap_sock_setsockopt-with-optname-bt_rcvmtu.patch @@ -0,0 +1,36 @@ +From 23bc6ab0a0912146fd674a0becc758c3162baabc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= + +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 + +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 +Signed-off-by: Marcel Holtmann +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..4ed44c8677b --- /dev/null +++ b/queue-3.14/hp-wmi-fix-wifi-cannot-be-hard-unblocked.patch @@ -0,0 +1,47 @@ +From fc8a601e1175ae351f662506030f9939cb7fdbfe Mon Sep 17 00:00:00 2001 +From: Alex Hung +Date: Mon, 13 Jun 2016 19:44:00 +0800 +Subject: hp-wmi: Fix wifi cannot be hard-unblocked + +From: Alex Hung + +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 +Tested-by: Evgenii Shatokhin +Signed-off-by: Darren Hart +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..2b3551253b4 --- /dev/null +++ b/queue-3.14/s5p-mfc-add-release-callback-for-memory-region-devs.patch @@ -0,0 +1,58 @@ +From 6311f1261f59ce5e51fbe5cc3b5e7737197316ac Mon Sep 17 00:00:00 2001 +From: Javier Martinez Canillas +Date: Tue, 3 May 2016 16:27:17 -0400 +Subject: s5p-mfc: Add release callback for memory region devs + +From: Javier Martinez Canillas + +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 +Tested-by: Marek Szyprowski +Signed-off-by: Sylwester Nawrocki +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..d31307e8c8b --- /dev/null +++ b/queue-3.14/s5p-mfc-set-device-name-for-reserved-memory-region-devs.patch @@ -0,0 +1,50 @@ +From 29debab0a94035a390801d1f177d171d014b7765 Mon Sep 17 00:00:00 2001 +From: Javier Martinez Canillas +Date: Tue, 3 May 2016 16:27:16 -0400 +Subject: s5p-mfc: Set device name for reserved memory region devs + +From: Javier Martinez Canillas + +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 +Tested-by: Marek Szyprowski +Signed-off-by: Sylwester Nawrocki +Signed-off-by: Greg Kroah-Hartman + +--- + 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); diff --git a/queue-3.14/series b/queue-3.14/series index fd2bcddc65c..c0e429ed013 100644 --- a/queue-3.14/series +++ b/queue-3.14/series @@ -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