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>
This commit is contained in:
Alex Elder 2020-11-02 11:34:35 -06:00 committed by Jakub Kicinski
parent a74e44a111
commit 3fb6928b56
1 changed files with 1 additions and 1 deletions

View File

@ -1314,7 +1314,7 @@ static void ipa_endpoint_reset(struct ipa_endpoint *endpoint)
*/ */
legacy = ipa->version == IPA_VERSION_3_5_1; legacy = ipa->version == IPA_VERSION_3_5_1;
special = !endpoint->toward_ipa && endpoint->data->aggregation; 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); ret = ipa_endpoint_reset_rx_aggr(endpoint);
else else
gsi_channel_reset(&ipa->gsi, channel_id, legacy); gsi_channel_reset(&ipa->gsi, channel_id, legacy);