ath10k-regression due to "ath10k: fix napi_poll budget overflow" c9353bf483d3

Rouven Czerwinski rouven at
Mon Oct 16 02:04:51 PDT 2017


here is my analysis of the problem:
Commit c9353bf483d3 plumps the budget down into the
ath10k_htt_rx_extract_amsdu function. Per extracted msdu frame the
budget is reduced by one until either we have no budget left or all
msdus are extracted from the amsdu. The function then checks whether all
frames were extracted, if not it returns -EAGAIN.

The error happens if we have to extract more frames then we have
budget_left, because not all frames are extracted and
ath10k_htt_rx_in_ord_ind enters this error path:

case -EAGAIN:
	/* fall through */
	/* Should not happen. */
	ath10k_warn(ar, "failed to extract amsdu: %d\n", ret);
	htt->rx_confused = true;
	return -EIO;

Which is not recoverable by the driver, only through hardware reset.

Rouven Czerwinski

More information about the ath10k mailing list