* [PATCH 1/3] ARM: dts: qcom: sdx55: fix pdc '#interrupt-cells'
2023-12-13 17:31 [PATCH 0/3] ARM: dts: qcom: sdx55: fix USB wakeup interrupts Johan Hovold
@ 2023-12-13 17:31 ` Johan Hovold
2023-12-13 18:47 ` Konrad Dybcio
2023-12-18 15:40 ` Manivannan Sadhasivam
2023-12-13 17:31 ` [PATCH 2/3] ARM: dts: qcom: sdx55: fix USB DP/DM HS PHY interrupts Johan Hovold
` (2 subsequent siblings)
3 siblings, 2 replies; 11+ messages in thread
From: Johan Hovold @ 2023-12-13 17:31 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Andy Gross, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Krishna Kurapati PSSNV, linux-arm-msm, devicetree,
linux-kernel, Johan Hovold, stable, Manivannan Sadhasivam
The Qualcomm PDC interrupt controller binding expects two cells in
interrupt specifiers.
Fixes: 9d038b2e62de ("ARM: dts: qcom: Add SDX55 platform and MTP board support")
Cc: stable@vger.kernel.org # 5.12
Cc: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
arch/arm/boot/dts/qcom/qcom-sdx55.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi b/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi
index e30dbf12990a..0864c99a3da1 100644
--- a/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi
+++ b/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi
@@ -612,7 +612,7 @@ pdc: interrupt-controller@b210000 {
compatible = "qcom,sdx55-pdc", "qcom,pdc";
reg = <0x0b210000 0x30000>;
qcom,pdc-ranges = <0 179 52>;
- #interrupt-cells = <3>;
+ #interrupt-cells = <2>;
interrupt-parent = <&intc>;
interrupt-controller;
};
--
2.41.0
^ permalink raw reply related [flat|nested] 11+ messages in thread* Re: [PATCH 1/3] ARM: dts: qcom: sdx55: fix pdc '#interrupt-cells'
2023-12-13 17:31 ` [PATCH 1/3] ARM: dts: qcom: sdx55: fix pdc '#interrupt-cells' Johan Hovold
@ 2023-12-13 18:47 ` Konrad Dybcio
2023-12-18 15:40 ` Manivannan Sadhasivam
1 sibling, 0 replies; 11+ messages in thread
From: Konrad Dybcio @ 2023-12-13 18:47 UTC (permalink / raw)
To: Johan Hovold, Bjorn Andersson
Cc: Andy Gross, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Krishna Kurapati PSSNV, linux-arm-msm, devicetree, linux-kernel,
stable, Manivannan Sadhasivam
On 12/13/23 18:31, Johan Hovold wrote:
> The Qualcomm PDC interrupt controller binding expects two cells in
> interrupt specifiers.
>
> Fixes: 9d038b2e62de ("ARM: dts: qcom: Add SDX55 platform and MTP board support")
> Cc: stable@vger.kernel.org # 5.12
> Cc: Manivannan Sadhasivam <mani@kernel.org>
> Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Konrad
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: [PATCH 1/3] ARM: dts: qcom: sdx55: fix pdc '#interrupt-cells'
2023-12-13 17:31 ` [PATCH 1/3] ARM: dts: qcom: sdx55: fix pdc '#interrupt-cells' Johan Hovold
2023-12-13 18:47 ` Konrad Dybcio
@ 2023-12-18 15:40 ` Manivannan Sadhasivam
1 sibling, 0 replies; 11+ messages in thread
From: Manivannan Sadhasivam @ 2023-12-18 15:40 UTC (permalink / raw)
To: Johan Hovold
Cc: Bjorn Andersson, Andy Gross, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Krishna Kurapati PSSNV,
linux-arm-msm, devicetree, linux-kernel, stable,
Manivannan Sadhasivam
On Wed, Dec 13, 2023 at 06:31:29PM +0100, Johan Hovold wrote:
> The Qualcomm PDC interrupt controller binding expects two cells in
> interrupt specifiers.
>
> Fixes: 9d038b2e62de ("ARM: dts: qcom: Add SDX55 platform and MTP board support")
> Cc: stable@vger.kernel.org # 5.12
> Cc: Manivannan Sadhasivam <mani@kernel.org>
> Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
- Mani
> ---
> arch/arm/boot/dts/qcom/qcom-sdx55.dtsi | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi b/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi
> index e30dbf12990a..0864c99a3da1 100644
> --- a/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi
> +++ b/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi
> @@ -612,7 +612,7 @@ pdc: interrupt-controller@b210000 {
> compatible = "qcom,sdx55-pdc", "qcom,pdc";
> reg = <0x0b210000 0x30000>;
> qcom,pdc-ranges = <0 179 52>;
> - #interrupt-cells = <3>;
> + #interrupt-cells = <2>;
> interrupt-parent = <&intc>;
> interrupt-controller;
> };
> --
> 2.41.0
>
--
மணிவண்ணன் சதாசிவம்
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 2/3] ARM: dts: qcom: sdx55: fix USB DP/DM HS PHY interrupts
2023-12-13 17:31 [PATCH 0/3] ARM: dts: qcom: sdx55: fix USB wakeup interrupts Johan Hovold
2023-12-13 17:31 ` [PATCH 1/3] ARM: dts: qcom: sdx55: fix pdc '#interrupt-cells' Johan Hovold
@ 2023-12-13 17:31 ` Johan Hovold
2023-12-13 18:46 ` Konrad Dybcio
2023-12-18 16:13 ` Manivannan Sadhasivam
2023-12-13 17:31 ` [PATCH 3/3] ARM: dts: qcom: sdx55: fix USB SS wakeup Johan Hovold
2023-12-19 19:33 ` [PATCH 0/3] ARM: dts: qcom: sdx55: fix USB wakeup interrupts Bjorn Andersson
3 siblings, 2 replies; 11+ messages in thread
From: Johan Hovold @ 2023-12-13 17:31 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Andy Gross, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Krishna Kurapati PSSNV, linux-arm-msm, devicetree,
linux-kernel, Johan Hovold, stable, Manivannan Sadhasivam
The USB DP/DM HS PHY interrupts need to be provided by the PDC interrupt
controller in order to be able to wake the system up from low-power
states and to be able to detect disconnect events, which requires
triggering on falling edges.
A recent commit updated the trigger type but failed to change the
interrupt provider as required. This leads to the current Linux driver
failing to probe instead of printing an error during suspend and USB
wakeup not working as intended.
Fixes: d0ec3c4c11c3 ("ARM: dts: qcom: sdx55: fix USB wakeup interrupt types")
Fixes: fea4b41022f3 ("ARM: dts: qcom: sdx55: Add USB3 and PHY support")
Cc: stable@vger.kernel.org # 5.12
Cc: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
arch/arm/boot/dts/qcom/qcom-sdx55.dtsi | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi b/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi
index 0864c99a3da1..49910279cb71 100644
--- a/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi
+++ b/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi
@@ -585,10 +585,10 @@ usb: usb@a6f8800 {
<&gcc GCC_USB30_MASTER_CLK>;
assigned-clock-rates = <19200000>, <200000000>;
- interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
- <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
- <GIC_SPI 158 IRQ_TYPE_EDGE_BOTH>,
- <GIC_SPI 157 IRQ_TYPE_EDGE_BOTH>;
+ interrupts-extended = <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
+ <&intc GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
+ <&pdc 11 IRQ_TYPE_EDGE_BOTH>,
+ <&pdc 10 IRQ_TYPE_EDGE_BOTH>;
interrupt-names = "hs_phy_irq", "ss_phy_irq",
"dm_hs_phy_irq", "dp_hs_phy_irq";
--
2.41.0
^ permalink raw reply related [flat|nested] 11+ messages in thread* Re: [PATCH 2/3] ARM: dts: qcom: sdx55: fix USB DP/DM HS PHY interrupts
2023-12-13 17:31 ` [PATCH 2/3] ARM: dts: qcom: sdx55: fix USB DP/DM HS PHY interrupts Johan Hovold
@ 2023-12-13 18:46 ` Konrad Dybcio
2023-12-18 16:13 ` Manivannan Sadhasivam
1 sibling, 0 replies; 11+ messages in thread
From: Konrad Dybcio @ 2023-12-13 18:46 UTC (permalink / raw)
To: Johan Hovold, Bjorn Andersson
Cc: Andy Gross, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Krishna Kurapati PSSNV, linux-arm-msm, devicetree, linux-kernel,
stable, Manivannan Sadhasivam
On 12/13/23 18:31, Johan Hovold wrote:
> The USB DP/DM HS PHY interrupts need to be provided by the PDC interrupt
> controller in order to be able to wake the system up from low-power
> states and to be able to detect disconnect events, which requires
> triggering on falling edges.
>
> A recent commit updated the trigger type but failed to change the
> interrupt provider as required. This leads to the current Linux driver
> failing to probe instead of printing an error during suspend and USB
> wakeup not working as intended.
>
> Fixes: d0ec3c4c11c3 ("ARM: dts: qcom: sdx55: fix USB wakeup interrupt types")
> Fixes: fea4b41022f3 ("ARM: dts: qcom: sdx55: Add USB3 and PHY support")
> Cc: stable@vger.kernel.org # 5.12
> Cc: Manivannan Sadhasivam <mani@kernel.org>
> Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
> ---
Matches the downstream kernel too (as it should!)
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Konrad
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: [PATCH 2/3] ARM: dts: qcom: sdx55: fix USB DP/DM HS PHY interrupts
2023-12-13 17:31 ` [PATCH 2/3] ARM: dts: qcom: sdx55: fix USB DP/DM HS PHY interrupts Johan Hovold
2023-12-13 18:46 ` Konrad Dybcio
@ 2023-12-18 16:13 ` Manivannan Sadhasivam
1 sibling, 0 replies; 11+ messages in thread
From: Manivannan Sadhasivam @ 2023-12-18 16:13 UTC (permalink / raw)
To: Johan Hovold
Cc: Bjorn Andersson, Andy Gross, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Krishna Kurapati PSSNV,
linux-arm-msm, devicetree, linux-kernel, stable
On Wed, Dec 13, 2023 at 06:31:30PM +0100, Johan Hovold wrote:
> The USB DP/DM HS PHY interrupts need to be provided by the PDC interrupt
> controller in order to be able to wake the system up from low-power
> states and to be able to detect disconnect events, which requires
> triggering on falling edges.
>
> A recent commit updated the trigger type but failed to change the
> interrupt provider as required. This leads to the current Linux driver
> failing to probe instead of printing an error during suspend and USB
> wakeup not working as intended.
>
> Fixes: d0ec3c4c11c3 ("ARM: dts: qcom: sdx55: fix USB wakeup interrupt types")
> Fixes: fea4b41022f3 ("ARM: dts: qcom: sdx55: Add USB3 and PHY support")
> Cc: stable@vger.kernel.org # 5.12
> Cc: Manivannan Sadhasivam <mani@kernel.org>
> Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
- Mani
> ---
> arch/arm/boot/dts/qcom/qcom-sdx55.dtsi | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi b/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi
> index 0864c99a3da1..49910279cb71 100644
> --- a/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi
> +++ b/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi
> @@ -585,10 +585,10 @@ usb: usb@a6f8800 {
> <&gcc GCC_USB30_MASTER_CLK>;
> assigned-clock-rates = <19200000>, <200000000>;
>
> - interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
> - <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
> - <GIC_SPI 158 IRQ_TYPE_EDGE_BOTH>,
> - <GIC_SPI 157 IRQ_TYPE_EDGE_BOTH>;
> + interrupts-extended = <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
> + <&intc GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
> + <&pdc 11 IRQ_TYPE_EDGE_BOTH>,
> + <&pdc 10 IRQ_TYPE_EDGE_BOTH>;
> interrupt-names = "hs_phy_irq", "ss_phy_irq",
> "dm_hs_phy_irq", "dp_hs_phy_irq";
>
> --
> 2.41.0
>
--
மணிவண்ணன் சதாசிவம்
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 3/3] ARM: dts: qcom: sdx55: fix USB SS wakeup
2023-12-13 17:31 [PATCH 0/3] ARM: dts: qcom: sdx55: fix USB wakeup interrupts Johan Hovold
2023-12-13 17:31 ` [PATCH 1/3] ARM: dts: qcom: sdx55: fix pdc '#interrupt-cells' Johan Hovold
2023-12-13 17:31 ` [PATCH 2/3] ARM: dts: qcom: sdx55: fix USB DP/DM HS PHY interrupts Johan Hovold
@ 2023-12-13 17:31 ` Johan Hovold
2023-12-13 18:47 ` Konrad Dybcio
2023-12-18 16:14 ` Manivannan Sadhasivam
2023-12-19 19:33 ` [PATCH 0/3] ARM: dts: qcom: sdx55: fix USB wakeup interrupts Bjorn Andersson
3 siblings, 2 replies; 11+ messages in thread
From: Johan Hovold @ 2023-12-13 17:31 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Andy Gross, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Krishna Kurapati PSSNV, linux-arm-msm, devicetree,
linux-kernel, Johan Hovold, stable, Manivannan Sadhasivam
The USB SS PHY interrupt needs to be provided by the PDC interrupt
controller in order to be able to wake the system up from low-power
states.
Fixes: fea4b41022f3 ("ARM: dts: qcom: sdx55: Add USB3 and PHY support")
Cc: stable@vger.kernel.org # 5.12
Cc: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
arch/arm/boot/dts/qcom/qcom-sdx55.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi b/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi
index 49910279cb71..5b69219170a8 100644
--- a/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi
+++ b/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi
@@ -586,7 +586,7 @@ usb: usb@a6f8800 {
assigned-clock-rates = <19200000>, <200000000>;
interrupts-extended = <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
- <&intc GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
+ <&pdc 51 IRQ_TYPE_LEVEL_HIGH>,
<&pdc 11 IRQ_TYPE_EDGE_BOTH>,
<&pdc 10 IRQ_TYPE_EDGE_BOTH>;
interrupt-names = "hs_phy_irq", "ss_phy_irq",
--
2.41.0
^ permalink raw reply related [flat|nested] 11+ messages in thread* Re: [PATCH 3/3] ARM: dts: qcom: sdx55: fix USB SS wakeup
2023-12-13 17:31 ` [PATCH 3/3] ARM: dts: qcom: sdx55: fix USB SS wakeup Johan Hovold
@ 2023-12-13 18:47 ` Konrad Dybcio
2023-12-18 16:14 ` Manivannan Sadhasivam
1 sibling, 0 replies; 11+ messages in thread
From: Konrad Dybcio @ 2023-12-13 18:47 UTC (permalink / raw)
To: Johan Hovold, Bjorn Andersson
Cc: Andy Gross, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Krishna Kurapati PSSNV, linux-arm-msm, devicetree, linux-kernel,
stable, Manivannan Sadhasivam
On 12/13/23 18:31, Johan Hovold wrote:
> The USB SS PHY interrupt needs to be provided by the PDC interrupt
> controller in order to be able to wake the system up from low-power
> states.
>
> Fixes: fea4b41022f3 ("ARM: dts: qcom: sdx55: Add USB3 and PHY support")
> Cc: stable@vger.kernel.org # 5.12
> Cc: Manivannan Sadhasivam <mani@kernel.org>
> Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
> ---
Matches the downstream kernel too (as it should!)
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Konrad
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: [PATCH 3/3] ARM: dts: qcom: sdx55: fix USB SS wakeup
2023-12-13 17:31 ` [PATCH 3/3] ARM: dts: qcom: sdx55: fix USB SS wakeup Johan Hovold
2023-12-13 18:47 ` Konrad Dybcio
@ 2023-12-18 16:14 ` Manivannan Sadhasivam
1 sibling, 0 replies; 11+ messages in thread
From: Manivannan Sadhasivam @ 2023-12-18 16:14 UTC (permalink / raw)
To: Johan Hovold
Cc: Bjorn Andersson, Andy Gross, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Krishna Kurapati PSSNV,
linux-arm-msm, devicetree, linux-kernel, stable
On Wed, Dec 13, 2023 at 06:31:31PM +0100, Johan Hovold wrote:
> The USB SS PHY interrupt needs to be provided by the PDC interrupt
> controller in order to be able to wake the system up from low-power
> states.
>
> Fixes: fea4b41022f3 ("ARM: dts: qcom: sdx55: Add USB3 and PHY support")
> Cc: stable@vger.kernel.org # 5.12
> Cc: Manivannan Sadhasivam <mani@kernel.org>
> Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
- Mani
> ---
> arch/arm/boot/dts/qcom/qcom-sdx55.dtsi | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi b/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi
> index 49910279cb71..5b69219170a8 100644
> --- a/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi
> +++ b/arch/arm/boot/dts/qcom/qcom-sdx55.dtsi
> @@ -586,7 +586,7 @@ usb: usb@a6f8800 {
> assigned-clock-rates = <19200000>, <200000000>;
>
> interrupts-extended = <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
> - <&intc GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
> + <&pdc 51 IRQ_TYPE_LEVEL_HIGH>,
> <&pdc 11 IRQ_TYPE_EDGE_BOTH>,
> <&pdc 10 IRQ_TYPE_EDGE_BOTH>;
> interrupt-names = "hs_phy_irq", "ss_phy_irq",
> --
> 2.41.0
>
--
மணிவண்ணன் சதாசிவம்
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 0/3] ARM: dts: qcom: sdx55: fix USB wakeup interrupts
2023-12-13 17:31 [PATCH 0/3] ARM: dts: qcom: sdx55: fix USB wakeup interrupts Johan Hovold
` (2 preceding siblings ...)
2023-12-13 17:31 ` [PATCH 3/3] ARM: dts: qcom: sdx55: fix USB SS wakeup Johan Hovold
@ 2023-12-19 19:33 ` Bjorn Andersson
3 siblings, 0 replies; 11+ messages in thread
From: Bjorn Andersson @ 2023-12-19 19:33 UTC (permalink / raw)
To: Johan Hovold
Cc: Andy Gross, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Krishna Kurapati PSSNV, linux-arm-msm, devicetree,
linux-kernel
On Wed, 13 Dec 2023 18:31:28 +0100, Johan Hovold wrote:
> The USB DP/DM HS PHY interrupts need to be provided by the PDC interrupt
> controller in order to be able to wake the system up from low-power
> states and to be able to detect disconnect events, which requires
> triggering on falling edges.
>
> A recent commit updated the trigger type but failed to change the
> interrupt provider as required. This leads to the current Linux driver
> failing to probe instead of printing an error during suspend and USB
> wakeup not working as intended.
>
> [...]
Applied, thanks!
[1/3] ARM: dts: qcom: sdx55: fix pdc '#interrupt-cells'
commit: cc25bd06c16aa582596a058d375b2e3133f79b93
[2/3] ARM: dts: qcom: sdx55: fix USB DP/DM HS PHY interrupts
commit: de95f139394a5ed82270f005bc441d2e7c1e51b7
[3/3] ARM: dts: qcom: sdx55: fix USB SS wakeup
commit: 710dd03464e4ab5b3d329768388b165d61958577
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
^ permalink raw reply [flat|nested] 11+ messages in thread