diff options
author | Alex Elder <elder@linaro.org> | 2022-07-19 13:10:18 -0500 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2022-07-20 21:04:36 -0700 |
commit | 4d8996cbeeabba028714d0e0bd5957b5515cae43 (patch) | |
tree | b403757ceab9b3e63bf4b0bbab315c68606fbf7a /drivers/net/ipa | |
parent | 4920065888fa27edf1cb3f2d03c6d1c245e493bf (diff) |
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>
Diffstat (limited to 'drivers/net/ipa')
-rw-r--r-- | drivers/net/ipa/gsi_trans.c | 3 |
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. |