linux-stable/drivers/firmware
Mukesh Ojha 9e1d1cbc2a firmware: qcom: scm: Fix __scm and waitq completion variable initialization
[ Upstream commit 2e4955167e ]

It is possible qcom_scm_is_available() gives wrong indication that
if __scm is initialized while __scm->dev is not and similar issue
is also possible with __scm->waitq_comp.

Fix this appropriately by the use of release barrier and read barrier
that will make sure if __scm is initialized so, is all of its field
variable.

Fixes: d0f6fa7ba2 ("firmware: qcom: scm: Convert SCM to platform driver")
Fixes: 6bf3259922 ("firmware: qcom: scm: Add wait-queue handling logic")
Signed-off-by: Mukesh Ojha <quic_mojha@quicinc.com>
Link: https://lore.kernel.org/r/1711034642-22860-4-git-send-email-quic_mojha@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-05-30 09:49:01 +02:00
..
arm_ffa firmware: arm_ffa: Fix the partition ID check in ffa_notification_info_get() 2024-04-17 11:23:26 +02:00
arm_scmi firmware: arm_scmi: Make raw debugfs entries non-seekable 2024-04-17 11:23:26 +02:00
broadcom
cirrus firmware: cirrus: cs_dsp: Only log list of algorithms in debug build 2023-09-13 18:50:32 +01:00
efi efi/unaccepted: touch soft lockup during memory accept 2024-05-17 12:14:28 +02:00
google firmware: coreboot_table: Convert to platform remove callback returning void 2024-01-04 17:01:14 +01:00
imx firmware: imx-dsp: Convert to platform remove callback returning void 2024-01-04 17:01:14 +01:00
meson firmware: meson-sm: unmap out_base shmem in error path 2023-11-27 09:17:51 +01:00
microchip firmware: microchip: don't unconditionally print validation success 2024-05-17 12:14:36 +02:00
psci
qcom firmware: qcom: scm: Fix __scm and waitq completion variable initialization 2024-05-30 09:49:01 +02:00
smccc firmware: smccc: Fix use of uninitialised results structure 2023-07-18 10:08:05 +01:00
tegra firmware: tegra: bpmp: Return directly after a failed kzalloc() in get_filename() 2024-04-13 13:09:59 +02:00
xilinx firmware: xilinx: Export function to use in other module 2024-01-04 17:02:49 +01:00
Kconfig Core: 2024-01-12 13:54:25 -08:00
Makefile Core: 2024-01-12 13:54:25 -08:00
arm_scpi.c firmware: arm_scpi: Convert to platform remove callback returning void 2024-01-04 17:01:14 +01:00
arm_sdei.c arm64: sdei: abort running SDEI handlers during crash 2023-08-04 17:35:33 +01:00
dmi-id.c
dmi-sysfs.c firmware: dmi-sysfs: handle HAS_IOPORT=n 2023-05-31 19:17:29 +01:00
dmi_scan.c
edd.c
iscsi_ibft.c
iscsi_ibft_find.c iscsi_ibft: Fix finding the iBFT under Xen Dom 0 2023-06-26 07:47:11 +02:00
memmap.c
mtk-adsp-ipc.c firmware: mtk-adsp-ipc: Convert to platform remove callback returning void 2024-01-04 17:01:14 +01:00
qemu_fw_cfg.c firmware: qemu_fw_cfg: Convert to platform remove callback returning void 2024-01-04 17:01:15 +01:00
raspberrypi.c firmware: raspberrypi: Use correct device for DMA mappings 2024-05-30 09:48:56 +02:00
stratix10-rsu.c firmware: stratix10-rsu: Convert to platform remove callback returning void 2024-01-04 17:01:15 +01:00
stratix10-svc.c firmware: stratix10-svc: Convert to platform remove callback returning void 2024-01-04 17:01:15 +01:00
sysfb.c Revert "drivers/firmware: Move sysfb_init() from device_initcall to subsys_initcall_sync" 2024-01-24 17:03:44 +01:00
sysfb_simplefb.c
ti_sci.c firmware: ti_sci: Fix an off-by-one in ti_sci_debugfs_create() 2023-11-24 12:49:08 -06:00
ti_sci.h
trusted_foundations.c
turris-mox-rwtm.c firmware: turris-mox-rwtm: Convert to platform remove callback returning void 2024-01-04 17:01:15 +01:00