slimbus: messaging: check for valid transaction id
authorSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Mon, 9 Aug 2021 08:24:26 +0000 (09:24 +0100)
committerSasha Levin <sashal@kernel.org>
Thu, 26 Aug 2021 12:35:54 +0000 (08:35 -0400)
commit45d6fc21cd4dd6147c25fd2034895b1b5edb7a42
tree5a3dda4ef2e6d1f536b19eb8236e5e62203db64a
parentb700b523ddafec0076f95248f1188c2e31c8444d
slimbus: messaging: check for valid transaction id

[ Upstream commit a263c1ff6abe0e66712f40d595bbddc7a35907f8 ]

In some usecases transaction ids are dynamically allocated inside
the controller driver after sending the messages which have generic
acknowledge responses. So check for this before refcounting pm_runtime.

Without this we would end up imbalancing runtime pm count by
doing pm_runtime_put() in both slim_do_transfer() and slim_msg_response()
for a single  pm_runtime_get() in slim_do_transfer()

Fixes: d3062a210930 ("slimbus: messaging: add slim_alloc/free_txn_tid()")
Cc: <stable@vger.kernel.org>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20210809082428.11236-3-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/slimbus/messaging.c