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:
parent
a74e44a111
commit
3fb6928b56
|
@ -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);
|
||||||
|
|
Loading…
Reference in New Issue