linux/drivers/firmware/arm_scmi
Arnd Bergmann 869e97e66d Arm firmware fixes for v7.3
SCPI fixes address resource leaks and invalid firmware responses, while
 FF-A gains shutdown cleanup needed for normal kexec.
 
 - Release the device node reference acquired during SCPI domain lookup.
 - Validate SCPI DVFS OPP counts and indices returned by firmware to
   prevent out-of-bounds accesses and invalid clock rates.
 - Register the SCPI cpufreq device only once across DVFS providers,
   preserving the registered device pointer for cleanup and allowing
   retries after registration failure.
 - Run FF-A teardown during orderly shutdown so notifications, partition
   devices and RX/TX mappings are released before a replacement kernel
   boots through normal kexec.
 
 Also includes replacing a literal platform device ID with
 PLATFORM_DEVID_NONE and correcting an SCMI comment typo.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmqga1IACgkQAEG6vDF+
 4piNYg//fMyEAKgjG0VkVH5/s+saxVFoh9GKhyqunZr39uc9R/ES5hDIY35tTiui
 d4GIoKJlRbas6d/6oK8J669aAMpEP/YIRHQizH59cpkIRIzaFo4rJ+2Cl3CYeHG5
 i6gFIlCdNk0Jv9evv6wQ2PSnkXo4Sgzx1wWBr3KbMUWXafa16bA7gTY7z2xYII1s
 Ocv/VvDnQNlEGVIiMUZI3JAS3Z4CAcxL8iLyDpmwh1ZXNs/OYkDnuY1fWtTbqBir
 anDQnNCM7U4uhvtBFmdXH0A/ySUD39igMmebIUS1z1wSN8Cu67VxmR3yY8sQZdbF
 SEPnQKkY/nBRcMGAf8NBYEo5O1VoCmfxUOnArYfNQlDnWGobPRtNyombPYIu+JcZ
 AsQdKOLbv28R3q+G3yMTOul5bhKSni7txdh7jgTe0kW+qvuzkC42Z5sNP+msCOUv
 oeFAtPVT39qDTMtsF0oKRGiQ9CiXOw7fGdaJk/KZbSMZsQcHWWBgaFngLHX6apW8
 Em8fi+Vazq4lz8gmtnaQPNvskex4OnkmtSYMy93PQBYtUbSO0i7Nzx913VOCHocF
 7GmqXoQG6Jgc4sZJR4ujTFB+xyv1i7xTVgcEp8CeTtzPUgy5l6A2MAec7Wl52Zz9
 Evf6wA2+L6HVoy7L6msDBCzpsTTmaQ+zewsdOMcw33MEC7JrYXA=
 =XE7J
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmqoDIQACgkQmmx57+YA
 GNmLpg//T50aSO0dK31LotTisraS9AGdUWuFLOYmBCeic1eN3SCVq31Q0MFK5+US
 iI1iGjAW/+QJvpr+gSZsmIwaRdxyZwUBda8fanSj/5EEkWE4egQOHnZlkGKTuamO
 Dq5pncqpxiU5m5AAVwYBZf/CrXU8lY+4yjeJESItAFsd2TWUa1tua7GyDRTA0E4n
 8h97fYujgwr/ULMAyaZO11OxqE2Gl7yRGI19iW+V+B8/0Sc+LOstFCORQBWTnsNH
 rQUF/qFH4Czx/mtqvlWWN2roX4/2HyLpAdz1m6idh20ryFJkhvVBlvUFsdmIEQOK
 cPLP1+Auo4MwnSQ+tmRGMXZ7W+f3aXBUUkuZVnqDtGeLuvv+CfYiJBxgteWRlqNR
 FjkRyoi7dTEk06jYJqYy3OEBUKRm/9jgJxnRKgTOeeNLNzRqcb0DU8TqjpsDE6Ie
 K2QlYssVIZk3jgMGFoUvrRxJK4HbH7dWcnJeZHdtljf61Qnf9GcR9EjjGXeyaPz/
 RdduIYHOi/XzTXuaLQcRfJZO6BxMiV5s4tCU/8djy9ZyVa6Sb5kE5q1bzSgW4fyj
 FTttAXx9yyjWHhYdEs3g9Tfg1VewYzoDh0W7gpCe5pYb/CyA7BHH+f64lV7CW+ZF
 lFBI4S55qzAnspl7l/R2WGNT6bPJsesd5Lwmah7Adj/UfwRAl8s=
 =I4bY
 -----END PGP SIGNATURE-----

Merge tag 'scmi-ffa-fixes-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into arm/fixes

Arm firmware fixes for v7.3

SCPI fixes address resource leaks and invalid firmware responses, while
FF-A gains shutdown cleanup needed for normal kexec.

- Release the device node reference acquired during SCPI domain lookup.
- Validate SCPI DVFS OPP counts and indices returned by firmware to
  prevent out-of-bounds accesses and invalid clock rates.
- Register the SCPI cpufreq device only once across DVFS providers,
  preserving the registered device pointer for cleanup and allowing
  retries after registration failure.
- Run FF-A teardown during orderly shutdown so notifications, partition
  devices and RX/TX mappings are released before a replacement kernel
  boots through normal kexec.

Also includes replacing a literal platform device ID with
PLATFORM_DEVID_NONE and correcting an SCMI comment typo.

* tag 'scmi-ffa-fixes-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  firmware: arm_scmi: Fix typo "upto" in comment
  firmware: arm_ffa: Tear down driver during shutdown
  clk: scpi: use PLATFORM_DEVID_NONE for scpi-cpufreq
  clk: scpi: register scpi-cpufreq once and clear on failure
  clk: scpi: bound-check DVFS index in scpi_dvfs_recalc_rate
  firmware: arm_scpi: reject DVFS OPP count above MAX_DVFS_OPPS
  firmware: arm_scpi: fix device_node leak in scpi_dev_domain_id

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-09-14 17:02:19 +02:00
..
transports firmware: arm_scmi: Unwind P2A receiver mailbox setup failure 2026-07-14 21:19:22 +01:00
vendors/imx firmware: arm_scmi: imx: Support getting reset reason of MISC protocol 2026-05-05 15:45:35 +01:00
base.c firmware: arm_scmi: Validate BASE_ERROR_EVENT payload size 2026-05-20 10:00:10 +01:00
bus.c firmware: arm_scmi: Unrequest devices if driver registration fails 2026-07-22 20:33:43 +01:00
clock.c firmware: arm_scmi: Use 64-bit division for clock rate rounding 2026-07-09 14:34:41 +01:00
common.h firmware: arm_scmi: Fix transport device teardown lookup 2026-07-14 21:19:23 +01:00
driver.c Arm firmware fixes for v7.3 2026-09-14 17:02:19 +02:00
Kconfig firmware: arm_scmi: Grammar s/may needed/may be needed/ 2026-06-30 10:30:25 +01:00
Makefile firmware: arm_scmi: Add common framework to handle firmware quirks 2025-05-06 11:12:30 +01:00
msg.c firmware: arm_scmi: Remove legacy transport-layer code 2024-08-16 10:26:58 +01:00
notify.c firmware: arm_scmi: Quiesce notifications before teardown 2026-07-14 21:19:21 +01:00
notify.h firmware: arm_scmi: Quiesce notifications before teardown 2026-07-14 21:19:21 +01:00
perf.c firmware: arm_scmi: Remove legacy protocol versioning logic 2025-12-27 20:09:30 +00:00
pinctrl.c firmware: arm_scmi: Allow PINCTRL_REQUEST to return EOPNOTSUPP 2026-03-24 13:50:30 +01:00
power.c firmware: arm_scmi: Fix OOB in scmi_power_name_get() 2026-05-21 17:31:51 +01:00
powercap.c firmware: arm_scmi: Validate Powercap domains before state access 2026-05-20 10:00:10 +01:00
protocols.h firmware: arm_scmi: Use proper iter_response_bound_cleanup() name 2026-05-12 15:29:11 +01:00
quirks.c firmware: arm_scmi: quirk: Simplify quirk table iteration 2026-05-05 15:45:59 +01:00
quirks.h firmware: arm_scmi: Support loop control in quirk code snippets 2026-03-17 07:30:22 +00:00
raw_mode.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
raw_mode.h firmware: arm_scmi: Add per-channel raw injection support 2023-01-20 11:41:37 +00:00
reset.c firmware: arm_scmi: Remove legacy protocol versioning logic 2025-12-27 20:09:30 +00:00
scmi_power_control.c firmware: arm_scmi: Convert to SYSTEM_SLEEP_PM_OPS 2025-07-09 10:49:58 +01:00
sensors.c firmware: arm_scmi: Validate SENSOR_UPDATE payload size 2026-05-20 10:00:10 +01:00
shmem.c firmware: arm_scmi: Fix uninitialized pointers with __free attr 2025-12-15 10:31:24 +00:00
system.c firmware: arm_scmi: Remove legacy protocol versioning logic 2025-12-27 20:09:30 +00:00
voltage.c firmware: arm_scmi: Remove legacy protocol versioning logic 2025-12-27 20:09:30 +00:00