diff options
author | Alex Elder <elder@linaro.org> | 2020-11-02 11:34:35 -0600 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2020-11-03 17:56:46 -0800 |
commit | 3fb6928b56f67167406daefa13ca9d2b94d48eb0 (patch) | |
tree | a83d52cdee127a28db5a8e2482e3b70125ebdc3c /drivers/net/ipa/ipa_endpoint.c | |
parent | a74e44a111fef0f5cd6145118f694dc7b35cb452 (diff) |
net: ipa: restrict special reset to IPA v3.5.1
With IPA v3.5.1, if IPA aggregation is active at the time an
underlying GSI channel reset is performed, some special handling
is required.
There is logic in ipa_endpoint_reset() that arranges for that
special handling, but it's done for all hardware versions, not
just IPA v3.5.1.
Fix the logic to properly restrict the special behavior.
Signed-off-by: Alex Elder <elder@linaro.org>
Link: https://lore.kernel.org/r/20201102173435.5987-1-elder@linaro.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/ipa/ipa_endpoint.c')
-rw-r--r-- | drivers/net/ipa/ipa_endpoint.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ipa/ipa_endpoint.c b/drivers/net/ipa/ipa_endpoint.c index 7386e10615d9..6f79028910e3 100644 --- a/drivers/net/ipa/ipa_endpoint.c +++ b/drivers/net/ipa/ipa_endpoint.c @@ -1314,7 +1314,7 @@ static void ipa_endpoint_reset(struct ipa_endpoint *endpoint) */ legacy = ipa->version == IPA_VERSION_3_5_1; special = !endpoint->toward_ipa && endpoint->data->aggregation; - if (special && ipa_endpoint_aggr_active(endpoint)) + if (legacy && special && ipa_endpoint_aggr_active(endpoint)) ret = ipa_endpoint_reset_rx_aggr(endpoint); else gsi_channel_reset(&ipa->gsi, channel_id, legacy); |