From: Greg Kroah-Hartman Date: Mon, 6 Jun 2022 15:45:02 +0000 (+0200) Subject: 4.14-stable patches X-Git-Tag: v5.10.121~70 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6cc2f06fbf3a55d1ec58c7dccb21884cfa837702;p=thirdparty%2Fkernel%2Fstable-queue.git 4.14-stable patches added patches: arm64-dts-qcom-ipq8074-fix-the-sleep-clock-frequency.patch docs-conf.py-cope-with-removal-of-language-none-in-sphinx-5.0.0.patch dt-bindings-gpio-altera-correct-interrupt-cells.patch gma500-fix-an-incorrect-null-check-on-list-iterator.patch phy-qcom-qmp-fix-reset-controller-leak-on-probe-errors.patch phy-qcom-qmp-fix-struct-clk-leak-on-probe-errors.patch --- diff --git a/queue-4.14/arm64-dts-qcom-ipq8074-fix-the-sleep-clock-frequency.patch b/queue-4.14/arm64-dts-qcom-ipq8074-fix-the-sleep-clock-frequency.patch new file mode 100644 index 00000000000..66e0d182a00 --- /dev/null +++ b/queue-4.14/arm64-dts-qcom-ipq8074-fix-the-sleep-clock-frequency.patch @@ -0,0 +1,33 @@ +From f607dd767f5d6800ffbdce5b99ba81763b023781 Mon Sep 17 00:00:00 2001 +From: Kathiravan T +Date: Fri, 11 Feb 2022 17:44:15 +0530 +Subject: arm64: dts: qcom: ipq8074: fix the sleep clock frequency + +From: Kathiravan T + +commit f607dd767f5d6800ffbdce5b99ba81763b023781 upstream. + +Sleep clock frequency should be 32768Hz. Lets fix it. + +Cc: stable@vger.kernel.org +Fixes: 41dac73e243d ("arm64: dts: Add ipq8074 SoC and HK01 board support") +Link: https://lore.kernel.org/all/e2a447f8-6024-0369-f698-2027b6edcf9e@codeaurora.org/ +Signed-off-by: Kathiravan T +Signed-off-by: Bjorn Andersson +Link: https://lore.kernel.org/r/1644581655-11568-1-git-send-email-quic_kathirav@quicinc.com +Signed-off-by: Greg Kroah-Hartman +--- + arch/arm64/boot/dts/qcom/ipq8074.dtsi | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi ++++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi +@@ -181,7 +181,7 @@ + clocks { + sleep_clk: sleep_clk { + compatible = "fixed-clock"; +- clock-frequency = <32000>; ++ clock-frequency = <32768>; + #clock-cells = <0>; + }; + diff --git a/queue-4.14/docs-conf.py-cope-with-removal-of-language-none-in-sphinx-5.0.0.patch b/queue-4.14/docs-conf.py-cope-with-removal-of-language-none-in-sphinx-5.0.0.patch new file mode 100644 index 00000000000..12aac3cd0e4 --- /dev/null +++ b/queue-4.14/docs-conf.py-cope-with-removal-of-language-none-in-sphinx-5.0.0.patch @@ -0,0 +1,48 @@ +From 627f01eab93d8671d4e4afee9b148f9998d20e7c Mon Sep 17 00:00:00 2001 +From: Akira Yokosawa +Date: Wed, 1 Jun 2022 23:34:06 +0900 +Subject: docs/conf.py: Cope with removal of language=None in Sphinx 5.0.0 + +From: Akira Yokosawa + +commit 627f01eab93d8671d4e4afee9b148f9998d20e7c upstream. + +One of the changes in Sphinx 5.0.0 [1] says [sic]: + + 5.0.0 final + + - #10474: language does not accept None as it value. + The default value of language becomes to 'en' now. + +[1]: https://www.sphinx-doc.org/en/master/changes.html#release-5-0-0-released-may-30-2022 + +It results in a new warning from Sphinx 5.0.0 [sic]: + + WARNING: Invalid configuration value found: 'language = None'. + Update your configuration to a valid langauge code. Falling + back to 'en' (English). + +Silence the warning by using 'en'. +It works with all the Sphinx versions required for building +kernel documentation (1.7.9 or later). + +Signed-off-by: Akira Yokosawa +Link: https://lore.kernel.org/r/bd0c2ddc-2401-03cb-4526-79ca664e1cbe@gmail.com +Cc: stable@vger.kernel.org +Signed-off-by: Jonathan Corbet +Signed-off-by: Greg Kroah-Hartman +--- + Documentation/conf.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/Documentation/conf.py ++++ b/Documentation/conf.py +@@ -96,7 +96,7 @@ finally: + # + # This is also used if you do content translation via gettext catalogs. + # Usually you set "language" from the command line for these cases. +-language = None ++language = 'en' + + # There are two options for replacing |today|: either, you set today to some + # non-false value, then it is used: diff --git a/queue-4.14/dt-bindings-gpio-altera-correct-interrupt-cells.patch b/queue-4.14/dt-bindings-gpio-altera-correct-interrupt-cells.patch new file mode 100644 index 00000000000..402c2aa7e56 --- /dev/null +++ b/queue-4.14/dt-bindings-gpio-altera-correct-interrupt-cells.patch @@ -0,0 +1,40 @@ +From 3a21c3ac93aff7b4522b152399df8f6a041df56d Mon Sep 17 00:00:00 2001 +From: Dinh Nguyen +Date: Wed, 11 May 2022 12:54:46 -0500 +Subject: dt-bindings: gpio: altera: correct interrupt-cells + +From: Dinh Nguyen + +commit 3a21c3ac93aff7b4522b152399df8f6a041df56d upstream. + +update documentation to correctly state the interrupt-cells to be 2. + +Cc: stable@vger.kernel.org +Fixes: 4fd9bbc6e071 ("drivers/gpio: Altera soft IP GPIO driver devicetree binding") +Signed-off-by: Dinh Nguyen +Signed-off-by: Greg Kroah-Hartman +--- + Documentation/devicetree/bindings/gpio/gpio-altera.txt | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +--- a/Documentation/devicetree/bindings/gpio/gpio-altera.txt ++++ b/Documentation/devicetree/bindings/gpio/gpio-altera.txt +@@ -9,8 +9,9 @@ Required properties: + - The second cell is reserved and is currently unused. + - gpio-controller : Marks the device node as a GPIO controller. + - interrupt-controller: Mark the device node as an interrupt controller +-- #interrupt-cells : Should be 1. The interrupt type is fixed in the hardware. ++- #interrupt-cells : Should be 2. The interrupt type is fixed in the hardware. + - The first cell is the GPIO offset number within the GPIO controller. ++ - The second cell is the interrupt trigger type and level flags. + - interrupts: Specify the interrupt. + - altr,interrupt-type: Specifies the interrupt trigger type the GPIO + hardware is synthesized. This field is required if the Altera GPIO controller +@@ -38,6 +39,6 @@ gpio_altr: gpio@0xff200000 { + altr,interrupt-type = ; + #gpio-cells = <2>; + gpio-controller; +- #interrupt-cells = <1>; ++ #interrupt-cells = <2>; + interrupt-controller; + }; diff --git a/queue-4.14/gma500-fix-an-incorrect-null-check-on-list-iterator.patch b/queue-4.14/gma500-fix-an-incorrect-null-check-on-list-iterator.patch new file mode 100644 index 00000000000..eb50c941e24 --- /dev/null +++ b/queue-4.14/gma500-fix-an-incorrect-null-check-on-list-iterator.patch @@ -0,0 +1,49 @@ +From bdef417d84536715145f6dc9cc3275c46f26295a Mon Sep 17 00:00:00 2001 +From: Xiaomeng Tong +Date: Sun, 27 Mar 2022 13:20:28 +0800 +Subject: gma500: fix an incorrect NULL check on list iterator + +From: Xiaomeng Tong + +commit bdef417d84536715145f6dc9cc3275c46f26295a upstream. + +The bug is here: + return crtc; + +The list iterator value 'crtc' will *always* be set and non-NULL by +list_for_each_entry(), so it is incorrect to assume that the iterator +value will be NULL if the list is empty or no element is found. + +To fix the bug, return 'crtc' when found, otherwise return NULL. + +Cc: stable@vger.kernel.org +fixes: 89c78134cc54d ("gma500: Add Poulsbo support") +Signed-off-by: Xiaomeng Tong +Signed-off-by: Patrik Jakobsson +Link: https://patchwork.freedesktop.org/patch/msgid/20220327052028.2013-1-xiam0nd.tong@gmail.com +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/gma500/psb_intel_display.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +--- a/drivers/gpu/drm/gma500/psb_intel_display.c ++++ b/drivers/gpu/drm/gma500/psb_intel_display.c +@@ -543,14 +543,15 @@ void psb_intel_crtc_init(struct drm_devi + + struct drm_crtc *psb_intel_get_crtc_from_pipe(struct drm_device *dev, int pipe) + { +- struct drm_crtc *crtc = NULL; ++ struct drm_crtc *crtc; + + list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { + struct gma_crtc *gma_crtc = to_gma_crtc(crtc); ++ + if (gma_crtc->pipe == pipe) +- break; ++ return crtc; + } +- return crtc; ++ return NULL; + } + + int gma_connector_clones(struct drm_device *dev, int type_mask) diff --git a/queue-4.14/phy-qcom-qmp-fix-reset-controller-leak-on-probe-errors.patch b/queue-4.14/phy-qcom-qmp-fix-reset-controller-leak-on-probe-errors.patch new file mode 100644 index 00000000000..a8a01203b06 --- /dev/null +++ b/queue-4.14/phy-qcom-qmp-fix-reset-controller-leak-on-probe-errors.patch @@ -0,0 +1,54 @@ +From 4d2900f20edfe541f75756a00deeb2ffe7c66bc1 Mon Sep 17 00:00:00 2001 +From: Johan Hovold +Date: Wed, 27 Apr 2022 08:32:42 +0200 +Subject: phy: qcom-qmp: fix reset-controller leak on probe errors + +From: Johan Hovold + +commit 4d2900f20edfe541f75756a00deeb2ffe7c66bc1 upstream. + +Make sure to release the lane reset controller in case of a late probe +error (e.g. probe deferral). + +Note that due to the reset controller being defined in devicetree in +"lane" child nodes, devm_reset_control_get_exclusive() cannot be used +directly. + +Fixes: e78f3d15e115 ("phy: qcom-qmp: new qmp phy driver for qcom-chipsets") +Cc: stable@vger.kernel.org # 4.12 +Cc: Vivek Gautam +Reviewed-by: Philipp Zabel +Signed-off-by: Johan Hovold +Reviewed-by: Bjorn Andersson +Link: https://lore.kernel.org/r/20220427063243.32576-3-johan+linaro@kernel.org +Signed-off-by: Vinod Koul +Signed-off-by: Greg Kroah-Hartman +--- + drivers/phy/qualcomm/phy-qcom-qmp.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +--- a/drivers/phy/qualcomm/phy-qcom-qmp.c ++++ b/drivers/phy/qualcomm/phy-qcom-qmp.c +@@ -1086,6 +1086,11 @@ static const struct phy_ops qcom_qmp_phy + .owner = THIS_MODULE, + }; + ++static void qcom_qmp_reset_control_put(void *data) ++{ ++ reset_control_put(data); ++} ++ + static + int qcom_qmp_phy_create(struct device *dev, struct device_node *np, int id) + { +@@ -1145,6 +1150,10 @@ int qcom_qmp_phy_create(struct device *d + dev_err(dev, "failed to get lane%d reset\n", id); + return PTR_ERR(qphy->lane_rst); + } ++ ret = devm_add_action_or_reset(dev, qcom_qmp_reset_control_put, ++ qphy->lane_rst); ++ if (ret) ++ return ret; + } + + generic_phy = devm_phy_create(dev, np, &qcom_qmp_phy_gen_ops); diff --git a/queue-4.14/phy-qcom-qmp-fix-struct-clk-leak-on-probe-errors.patch b/queue-4.14/phy-qcom-qmp-fix-struct-clk-leak-on-probe-errors.patch new file mode 100644 index 00000000000..ec186a12cc9 --- /dev/null +++ b/queue-4.14/phy-qcom-qmp-fix-struct-clk-leak-on-probe-errors.patch @@ -0,0 +1,35 @@ +From f0a4bc38a12f5a0cc5ad68670d9480e91e6a94df Mon Sep 17 00:00:00 2001 +From: Johan Hovold +Date: Wed, 27 Apr 2022 08:32:41 +0200 +Subject: phy: qcom-qmp: fix struct clk leak on probe errors + +From: Johan Hovold + +commit f0a4bc38a12f5a0cc5ad68670d9480e91e6a94df upstream. + +Make sure to release the pipe clock reference in case of a late probe +error (e.g. probe deferral). + +Fixes: e78f3d15e115 ("phy: qcom-qmp: new qmp phy driver for qcom-chipsets") +Cc: stable@vger.kernel.org # 4.12 +Cc: Vivek Gautam +Reviewed-by: Bjorn Andersson +Signed-off-by: Johan Hovold +Link: https://lore.kernel.org/r/20220427063243.32576-2-johan+linaro@kernel.org +Signed-off-by: Vinod Koul +Signed-off-by: Greg Kroah-Hartman +--- + drivers/phy/qualcomm/phy-qcom-qmp.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/phy/qualcomm/phy-qcom-qmp.c ++++ b/drivers/phy/qualcomm/phy-qcom-qmp.c +@@ -1123,7 +1123,7 @@ int qcom_qmp_phy_create(struct device *d + * all phys that don't need this. + */ + snprintf(prop_name, sizeof(prop_name), "pipe%d", id); +- qphy->pipe_clk = of_clk_get_by_name(np, prop_name); ++ qphy->pipe_clk = devm_get_clk_from_child(dev, np, prop_name); + if (IS_ERR(qphy->pipe_clk)) { + if (qmp->cfg->type == PHY_TYPE_PCIE || + qmp->cfg->type == PHY_TYPE_USB3) { diff --git a/queue-4.14/series b/queue-4.14/series index 643fcf020b0..95e892c7ad6 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -129,3 +129,9 @@ hugetlb-fix-huge_pmd_unshare-address-update.patch rtl818x-prevent-using-not-initialized-queues.patch asoc-rt5514-fix-event-generation-for-dsp-voice-wake-up-control.patch carl9170-tx-fix-an-incorrect-use-of-list-iterator.patch +gma500-fix-an-incorrect-null-check-on-list-iterator.patch +arm64-dts-qcom-ipq8074-fix-the-sleep-clock-frequency.patch +phy-qcom-qmp-fix-struct-clk-leak-on-probe-errors.patch +docs-conf.py-cope-with-removal-of-language-none-in-sphinx-5.0.0.patch +dt-bindings-gpio-altera-correct-interrupt-cells.patch +phy-qcom-qmp-fix-reset-controller-leak-on-probe-errors.patch