mbox series

[GIT,PULL] firmware: arm_scmi: Fixes for v6.1

Message ID 20221102140142.2758107-1-sudeep.holla@arm.com
State New
Headers show
Series [GIT,PULL] firmware: arm_scmi: Fixes for v6.1 | expand

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux.git tags/scmi-fixes-6.1

Message

Sudeep Holla Nov. 2, 2022, 2:01 p.m. UTC
Hi ARM SoC Team,

Please pull !

Regards,
Sudeep

-->8

The following changes since commit 9abf2313adc1ca1b6180c508c25f22f9395cc780:

  Linux 6.1-rc1 (2022-10-16 15:36:24 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux.git tags/scmi-fixes-6.1

for you to fetch changes up to 1eff6929aff594fba3182660f7b6213ec0ceda0c:

  firmware: arm_scmi: Fix deferred_tx_wq release on error paths (2022-11-01 11:36:20 +0000)

----------------------------------------------------------------
Arm SCMI fixes for v6.1

A bunch of fixes to handle:
1. A possible resource leak in scmi_remove(). The returned error
   value gets ignored by the driver core and can remove the device and
   free the devm-allocated resources. As a simple solution to be able to
   easily backport, the bind attributes in the driver is suppressed as
   there is no need to support it. Additionally the remove path is cleaned
   up by adding device links between the core and the protocol devices
   so that a proper and complete unbinding happens.
2. A possible spin-loop in the SCMI transmit path in case of misbehaving
   platform firmware. A timeout is added to the existing loop so that
   the SCMI stack can bailout aborting the transmission with warnings.
3. Optional Rx channel correctly by reporting any memory errors instead
   of ignoring the same with other allowed errors.
4. The use of proper device for all the device managed allocations in the
   virtio transport.
5. Incorrect deferred_tx_wq release on the error paths by using devres
   API(devm_add_action_or_reset) to manage the release in the error path.

----------------------------------------------------------------
Cristian Marussi (6):
      firmware: arm_scmi: Cleanup the core driver removal callback
      firmware: arm_scmi: Suppress the driver's bind attributes
      firmware: arm_scmi: Make tx_prepare time out eventually
      firmware: arm_scmi: Make Rx chan_setup fail on memory errors
      firmware: arm_scmi: Fix devres allocation device in virtio transport
      firmware: arm_scmi: Fix deferred_tx_wq release on error paths

 drivers/firmware/arm_scmi/bus.c     | 11 ++++++++++
 drivers/firmware/arm_scmi/common.h  |  5 ++++-
 drivers/firmware/arm_scmi/driver.c  | 41 ++++++++++++++++++++++++-------------
 drivers/firmware/arm_scmi/mailbox.c |  2 +-
 drivers/firmware/arm_scmi/optee.c   |  2 +-
 drivers/firmware/arm_scmi/shmem.c   | 31 ++++++++++++++++++++++++----
 drivers/firmware/arm_scmi/smc.c     |  2 +-
 drivers/firmware/arm_scmi/virtio.c  | 26 ++++++++++++++---------
 8 files changed, 88 insertions(+), 32 deletions(-)