summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Elder <elder@linaro.org>2022-07-19 21:10:18 +0300
committerJakub Kicinski <kuba@kernel.org>2022-07-21 07:04:36 +0300
commit4d8996cbeeabba028714d0e0bd5957b5515cae43 (patch)
treeb403757ceab9b3e63bf4b0bbab315c68606fbf7a
parent4920065888fa27edf1cb3f2d03c6d1c245e493bf (diff)
downloadlinux-4d8996cbeeabba028714d0e0bd5957b5515cae43.tar.xz
net: ipa: skip some cleanup for unused transactions
In gsi_trans_free(), there's no point in ipa_gsi_trans_release() if a transaction is unused. No used TREs means no IPA layer resources to clean up. So only call ipa_gsi_trans_release() if at least one TRE was used. Signed-off-by: Alex Elder <elder@linaro.org> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r--drivers/net/ipa/gsi_trans.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ipa/gsi_trans.c b/drivers/net/ipa/gsi_trans.c
index 3f52932e9e41..55987e35af2d 100644
--- a/drivers/net/ipa/gsi_trans.c
+++ b/drivers/net/ipa/gsi_trans.c
@@ -404,7 +404,8 @@ void gsi_trans_free(struct gsi_trans *trans)
if (!last)
return;
- ipa_gsi_trans_release(trans);
+ if (trans->used_count)
+ ipa_gsi_trans_release(trans);
/* Releasing the reserved TREs implicitly frees the sgl[] and
* (if present) info[] arrays, plus the transaction itself.