From: Greg Kroah-Hartman Date: Sun, 13 Aug 2017 22:33:30 +0000 (-0700) Subject: 3.18-stable patches X-Git-Tag: v3.18.66~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3eb8e4d3a1bf1a586b4cea4d5a157c5d2ea00e62;p=thirdparty%2Fkernel%2Fstable-queue.git 3.18-stable patches added patches: iio-adc-vf610_adc-fix-valt-selection-value-for-refsel-bits.patch pinctrl-samsung-remove-bogus-irq_mask-from-resource-management.patch pinctrl-sunxi-add-a-missing-function-of-a10-a20-pinctrl-driver.patch pnfs-blocklayout-require-64-bit-sector_t.patch --- diff --git a/queue-3.18/iio-adc-vf610_adc-fix-valt-selection-value-for-refsel-bits.patch b/queue-3.18/iio-adc-vf610_adc-fix-valt-selection-value-for-refsel-bits.patch new file mode 100644 index 00000000000..3fe03e87549 --- /dev/null +++ b/queue-3.18/iio-adc-vf610_adc-fix-valt-selection-value-for-refsel-bits.patch @@ -0,0 +1,35 @@ +From d466d3c1217406b14b834335b5b4b33c0d45bd09 Mon Sep 17 00:00:00 2001 +From: Stefan-Gabriel Mirea +Date: Thu, 6 Jul 2017 10:06:41 +0100 +Subject: iio: adc: vf610_adc: Fix VALT selection value for REFSEL bits + +From: Stefan-Gabriel Mirea + +commit d466d3c1217406b14b834335b5b4b33c0d45bd09 upstream. + +In order to select the alternate voltage reference pair (VALTH/VALTL), the +right value for the REFSEL field in the ADCx_CFG register is "01", leading +to 0x800 as register mask. See section 8.2.6.4 in the reference manual[1]. + +[1] http://www.nxp.com/docs/en/reference-manual/VFXXXRM.pdf + +Fixes: a775427632fd ("iio:adc:imx: add Freescale Vybrid vf610 adc driver") +Signed-off-by: Stefan-Gabriel Mirea +Signed-off-by: Jonathan Cameron +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/iio/adc/vf610_adc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/iio/adc/vf610_adc.c ++++ b/drivers/iio/adc/vf610_adc.c +@@ -71,7 +71,7 @@ + #define VF610_ADC_ADSTS_MASK 0x300 + #define VF610_ADC_ADLPC_EN 0x80 + #define VF610_ADC_ADHSC_EN 0x400 +-#define VF610_ADC_REFSEL_VALT 0x100 ++#define VF610_ADC_REFSEL_VALT 0x800 + #define VF610_ADC_REFSEL_VBG 0x1000 + #define VF610_ADC_ADTRG_HARD 0x2000 + #define VF610_ADC_AVGS_8 0x4000 diff --git a/queue-3.18/pinctrl-samsung-remove-bogus-irq_mask-from-resource-management.patch b/queue-3.18/pinctrl-samsung-remove-bogus-irq_mask-from-resource-management.patch new file mode 100644 index 00000000000..079a4b20312 --- /dev/null +++ b/queue-3.18/pinctrl-samsung-remove-bogus-irq_mask-from-resource-management.patch @@ -0,0 +1,57 @@ +From 3fa53ec2ed885b0aec3f0472e3b4a8a6f1cd748c Mon Sep 17 00:00:00 2001 +From: Thomas Gleixner +Date: Thu, 29 Jun 2017 23:33:35 +0200 +Subject: pinctrl: samsung: Remove bogus irq_[un]mask from resource management + +From: Thomas Gleixner + +commit 3fa53ec2ed885b0aec3f0472e3b4a8a6f1cd748c upstream. + +The irq chip callbacks irq_request/release_resources() have absolutely no +business with masking and unmasking the irq. + +The core code unmasks the interrupt after complete setup and masks it +before invoking irq_release_resources(). + +The unmask is actually harmful as it happens before the interrupt is +completely initialized in __setup_irq(). + +Remove it. + +Fixes: f6a8249f9e55 ("pinctrl: exynos: Lock GPIOs as interrupts when used as EINTs") +Signed-off-by: Thomas Gleixner +Cc: Krzysztof Kozlowski +Cc: Sylwester Nawrocki +Cc: Linus Walleij +Cc: Kukjin Kim +Cc: linux-arm-kernel@lists.infradead.org +Cc: linux-samsung-soc@vger.kernel.org +Cc: linux-gpio@vger.kernel.org +Acked-by: Tomasz Figa +Signed-off-by: Linus Walleij +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/pinctrl/samsung/pinctrl-exynos.c | 4 ---- + 1 file changed, 4 deletions(-) + +--- a/drivers/pinctrl/samsung/pinctrl-exynos.c ++++ b/drivers/pinctrl/samsung/pinctrl-exynos.c +@@ -200,8 +200,6 @@ static int exynos_irq_request_resources( + + spin_unlock_irqrestore(&bank->slock, flags); + +- exynos_irq_unmask(irqd); +- + return 0; + } + +@@ -222,8 +220,6 @@ static void exynos_irq_release_resources + shift = irqd->hwirq * bank_type->fld_width[PINCFG_TYPE_FUNC]; + mask = (1 << bank_type->fld_width[PINCFG_TYPE_FUNC]) - 1; + +- exynos_irq_mask(irqd); +- + spin_lock_irqsave(&bank->slock, flags); + + con = readl(d->virt_base + reg_con); diff --git a/queue-3.18/pinctrl-sunxi-add-a-missing-function-of-a10-a20-pinctrl-driver.patch b/queue-3.18/pinctrl-sunxi-add-a-missing-function-of-a10-a20-pinctrl-driver.patch new file mode 100644 index 00000000000..6e47b98a72c --- /dev/null +++ b/queue-3.18/pinctrl-sunxi-add-a-missing-function-of-a10-a20-pinctrl-driver.patch @@ -0,0 +1,42 @@ +From d81ece747d8727bb8b1cfc9a20dbe62f09a4e35a Mon Sep 17 00:00:00 2001 +From: Icenowy Zheng +Date: Sat, 22 Jul 2017 10:50:53 +0800 +Subject: pinctrl: sunxi: add a missing function of A10/A20 pinctrl driver + +From: Icenowy Zheng + +commit d81ece747d8727bb8b1cfc9a20dbe62f09a4e35a upstream. + +The PH16 pin has a function with mux id 0x5, which is the DET pin of the +"sim" (smart card reader) IP block. + +This function is missing in old versions of A10/A20 SoCs' datasheets and +user manuals, so it's also missing in the old drivers. The newest A10 +Datasheet V1.70 and A20 Datasheet V1.41 contain this pin function, and +it's discovered during implementing R40 pinctrl driver. + +Add it to the driver. As we now merged A20 pinctrl driver to the A10 +one, we need to only fix the A10 driver now. + +Fixes: f2821b1ca3a2 ("pinctrl: sunxi: Move Allwinner A10 pinctrl +driver to a driver of its own") + +Signed-off-by: Icenowy Zheng +Reviewed-by: Chen-Yu Tsai +Signed-off-by: Linus Walleij +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/pinctrl/sunxi/pinctrl-sun4i-a10.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/pinctrl/sunxi/pinctrl-sun4i-a10.c ++++ b/drivers/pinctrl/sunxi/pinctrl-sun4i-a10.c +@@ -800,6 +800,7 @@ static const struct sunxi_desc_pin sun4i + SUNXI_FUNCTION(0x2, "lcd1"), /* D16 */ + SUNXI_FUNCTION(0x3, "pata"), /* ATAD12 */ + SUNXI_FUNCTION(0x4, "keypad"), /* IN6 */ ++ SUNXI_FUNCTION(0x5, "sim"), /* DET */ + SUNXI_FUNCTION_IRQ(0x6, 16), /* EINT16 */ + SUNXI_FUNCTION(0x7, "csi1")), /* D16 */ + SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 17), diff --git a/queue-3.18/pnfs-blocklayout-require-64-bit-sector_t.patch b/queue-3.18/pnfs-blocklayout-require-64-bit-sector_t.patch new file mode 100644 index 00000000000..b2805901d8a --- /dev/null +++ b/queue-3.18/pnfs-blocklayout-require-64-bit-sector_t.patch @@ -0,0 +1,33 @@ +From 8a9d6e964d318533ba3d2901ce153ba317c99a89 Mon Sep 17 00:00:00 2001 +From: Christoph Hellwig +Date: Sat, 5 Aug 2017 10:59:14 +0200 +Subject: pnfs/blocklayout: require 64-bit sector_t + +From: Christoph Hellwig + +commit 8a9d6e964d318533ba3d2901ce153ba317c99a89 upstream. + +The blocklayout code does not compile cleanly for a 32-bit sector_t, +and also has no reliable checks for devices sizes, which makes it +unsafe to use with a kernel that doesn't support large block devices. + +Signed-off-by: Christoph Hellwig +Reported-by: Arnd Bergmann +Fixes: 5c83746a0cf2 ("pnfs/blocklayout: in-kernel GETDEVICEINFO XDR parsing") +Signed-off-by: Anna Schumaker +Signed-off-by: Greg Kroah-Hartman + +--- + fs/nfs/Kconfig | 1 + + 1 file changed, 1 insertion(+) + +--- a/fs/nfs/Kconfig ++++ b/fs/nfs/Kconfig +@@ -121,6 +121,7 @@ config PNFS_FILE_LAYOUT + config PNFS_BLOCK + tristate + depends on NFS_V4_1 && BLK_DEV_DM ++ depends on 64BIT || LBDAF + default NFS_V4 + + config PNFS_OBJLAYOUT diff --git a/queue-3.18/series b/queue-3.18/series index 657947e314b..aab1985b79e 100644 --- a/queue-3.18/series +++ b/queue-3.18/series @@ -10,3 +10,7 @@ uas-add-us_fl_ignore_residue-for-initio-corporation-inic-3069.patch usb-check-for-dropped-connection-before-switching-to-full-speed.patch usb-quirks-add-no-lpm-quirk-for-moshi-usb-to-ethernet-adapter.patch usb-xhci-add-quirk-for-certain-failing-hp-keyboard-on-reset-after-resume.patch +iio-adc-vf610_adc-fix-valt-selection-value-for-refsel-bits.patch +pnfs-blocklayout-require-64-bit-sector_t.patch +pinctrl-sunxi-add-a-missing-function-of-a10-a20-pinctrl-driver.patch +pinctrl-samsung-remove-bogus-irq_mask-from-resource-management.patch