Merge tag 'mhi-for-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mani/mhi...
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 3 Feb 2023 05:58:55 +0000 (06:58 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 3 Feb 2023 05:58:55 +0000 (06:58 +0100)
commitcbce3de28c37fdd7531526d8dbb0ae2187667dfe
treed855f035af806dd91184812e6361a16d6455c2d5
parentd45fed4ff61c48890e55a590bdd7a9fb22457be8
parent3c54a3ff0a2cdcd902482a62fef813f1d46e5eaf
Merge tag 'mhi-for-v6.3' of git://git./linux/kernel/git/mani/mhi into char-misc-next

Manivannan writes:

MHI Host
========

- Fixed the module description

MHI Endpoint
============

- Powered down the MHI EP stack completely during MHI RESET instead of just
  doing transfer abort as the MMIO register access will be prohibited
  afterwards. EP stack will also be powered on again in case the RESET
  happened due to SYS_ERR.

- Added a sanity check before processing the command ring to make sure that
  the channel is supported by the controller.

- Added a check to make sure the xfer_cb is available for the channel
  before trying to send the error status to the client drivers. This
  helps in avoiding a potential null pointer dereference.

- Fixed the debug log of RESET command

- Modified the channel ring handler lock to protect the whole handler
  instead of locking it partially. This helps in avoiding a race that may
  happen if a channel STOP/RESET command is issued by the host parallely.

- Saved the MHI state locally during suspend and resume. Otherwise, the MHI
  EP stack will not be aware of a channel that got disabled and may try to
  access it later.

- Changed the MHI state_lock to mutex instead of spinlock. This helps in
  avoiding the sleeping in atomic bug reported by Dan Carpenter and also
  allows the lock to be held throughout the state change.

- Fixed the off by one error while doing the MHI channel check during
  command ring processing.

MHI Generic
===========

- Updated the MHI toplevel Makefile to use Kconfig flags for building the
  host and endpoint sub-directories conditionally.

* tag 'mhi-for-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mani/mhi:
  bus: mhi: ep: Fix off by one in mhi_ep_process_cmd_ring()
  bus: mhi: ep: Change state_lock to mutex
  bus: mhi: ep: Save channel state locally during suspend and resume
  bus: mhi: ep: Move chan->lock to the start of processing queued ch ring
  bus: mhi: ep: Fix the debug message for MHI_PKT_TYPE_RESET_CHAN_CMD cmd
  bus: mhi: ep: Only send -ENOTCONN status if client driver is available
  bus: mhi: ep: Check if the channel is supported by the controller
  bus: mhi: ep: Power up/down MHI stack during MHI RESET
  bus: mhi: host: Update mhi driver description
  bus: mhi: Update Makefile to used Kconfig flags