linux/drivers/mailbox
Pekka Pessi 3d725abdfd mailbox: tegra-hsp: Clear mailbox before using message
commit 0b7f8328f9 upstream.

The Tegra RCE (Camera) driver expects the mailbox to be empty before
processing the IVC messages. On RT kernel, the threads processing the
IVC messages (which are invoked after `mbox_chan_received_data()` is
called) may be on a different CPU or running with a higher priority
than the HSP interrupt handler thread. This can cause it to act on the
message before the mailbox gets cleared in the HSP interrupt handler
resulting in a loss of IVC notification.

Fix this by clearing the mailbox data register before calling
`mbox_chan_received_data()`.

Fixes: 8f585d1403 ("mailbox: tegra-hsp: Add tegra_hsp_sm_ops")
Fixes: 74c20dd0f8 ("mailbox: tegra-hsp: Add 128-bit shared mailbox support")
Cc: stable@vger.kernel.org
Signed-off-by: Pekka Pessi <ppessi@nvidia.com>
Signed-off-by: Kartik Rajput <kkartik@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2025-02-21 13:49:51 +01:00
..
apple-mailbox.c mailbox: apple: Implement poll_data() operation 2022-09-15 13:14:01 -05:00
arm_mhu.c mailbox: arm_mhu: Remove redundant error printing in mhu_probe() 2021-06-26 11:37:48 -05:00
arm_mhu_db.c mailbox: correct kerneldoc 2022-05-21 11:41:30 -05:00
arm_mhuv2.c mailbox: arm_mhuv2: clean up loop in get_irq_chan_comb() 2024-12-14 19:53:43 +01:00
armada-37xx-rwtm-mailbox.c treewide: change my e-mail address, fix my name 2021-04-09 14:54:23 -07:00
bcm-flexrm-mailbox.c mailbox: bcm-ferxrm-mailbox: Fix error check for dma_map_sg 2022-10-05 21:50:53 -05:00
bcm-pdc-mailbox.c mailbox: bcm-pdc: Remove redundant error printing in pdc_probe() 2021-06-26 11:37:50 -05:00
bcm2835-mailbox.c mailbox: bcm2835: Fix timeout during suspend mode 2024-10-17 15:21:30 +02:00
hi3660-mailbox.c mailbox: hi3660: convert struct comments to kernel-doc notation 2022-01-11 23:47:32 -06:00
hi6220-mailbox.c mailbox: hi6220: Make use of the helper function devm_platform_ioremap_resource() 2021-10-16 14:39:49 -05:00
imx-mailbox.c mailbox: imx: fix RST channel support 2022-10-05 21:46:36 -05:00
Kconfig mailbox: mediatek: add support for adsp mailbox controller 2022-03-12 19:24:57 -06:00
mailbox-altera.c mailbox: altera: Make use of the helper function devm_platform_ioremap_resource() 2021-10-16 14:39:48 -05:00
mailbox-mpfs.c mailbox: mpfs: switch to txdone_poll 2023-05-11 23:03:12 +09:00
mailbox-sti.c mailbox: sti: Make use of the helper function devm_platform_ioremap_resource() 2021-10-16 14:39:49 -05:00
mailbox-test.c mailbox: mailbox-test: fix a locking issue in mbox_test_message_write() 2023-06-09 10:34:17 +02:00
mailbox-xgene-slimpro.c mailbox: xgene-slimpro: Make use of the helper function devm_platform_ioremap_resource() 2021-10-16 14:39:49 -05:00
mailbox.c mailbox: forward the hrtimer if not queued and under a lock 2022-05-23 14:45:24 -05:00
mailbox.h mailbox: fix various typos in comments 2021-04-13 20:07:35 -05:00
Makefile mailbox: mediatek: add support for adsp mailbox controller 2022-03-12 19:24:57 -06:00
mtk-adsp-mailbox.c mailbox: mediatek: support mt8186 adsp mailbox 2022-05-21 11:41:30 -05:00
mtk-cmdq-mailbox.c mailbox: mtk-cmdq: Move devm_mbox_controller_register() after devm_pm_runtime_enable() 2024-12-14 19:53:54 +01:00
omap-mailbox.c mailbox: omap: using pm_runtime_resume_and_get to simplify the code 2022-05-21 11:41:30 -05:00
pcc.c mailbox: pcc: Reset pcc_chan_count to zero in case of PCC probe failure 2022-12-31 13:31:57 +01:00
pl320-ipc.c mailbox: fix various typos in comments 2021-04-13 20:07:35 -05:00
platform_mhu.c mailbox: platform-mhu: Make use of the helper function devm_platform_ioremap_resource() 2021-10-16 14:39:49 -05:00
qcom-apcs-ipc-mailbox.c mailbox: qcom-apcs-ipc: add IPQ8074 APSS clock support 2022-10-05 21:50:01 -05:00
qcom-ipcc.c mailbox: qcom-ipcc: fix incorrect num_chans counting 2023-09-19 12:27:58 +02:00
rockchip-mailbox.c mailbox: rockchip: fix a typo in module autoloading 2024-10-17 15:21:30 +02:00
sprd-mailbox.c mailbox: sprd: Add supplementary inbox support 2021-04-13 20:07:36 -05:00
stm32-ipcc.c mailbox: stm32-ipcc: Make use of the helper function devm_platform_ioremap_resource() 2021-10-16 14:39:49 -05:00
sun6i-msgbox.c mailbox: sun6i: Make use of the helper function devm_platform_ioremap_resource() 2021-10-16 14:39:49 -05:00
tegra-hsp.c mailbox: tegra-hsp: Clear mailbox before using message 2025-02-21 13:49:51 +01:00
ti-msgmgr.c mailbox: ti-msgmgr: Fill non-message tx data fields with 0x0 2023-07-19 16:22:03 +02:00
zynqmp-ipi-mailbox.c mailbox: zynqmp: Fix counts of child nodes 2023-05-17 11:53:28 +02:00