hacked 4.4.6+, 10.4.3 firmware, Running out of ring-index for pipe-id 3 (WMI).
Ben Greear
greearb at candelatech.com
Mon Mar 28 12:01:37 PDT 2016
I'm seeing the ring-full messages below when running 35 stations on
modified 10.4.3 firmware. I also have serial console logging enabled, so
things are running a bit slow...this seems to exacerbate the issue.
[ 91.108923] ath10k_pci 0000:05:00.0: htc failed hif-tx-sq: -105 eid: 2 credits: 1 ep->tx_credits: 1 credit-flow-enabled: 1
[ 91.108932] ath10k_pci 0000:05:00.0: could not request stats (type 128 ret -105)
[ 91.108942] ath10k_pci 0000:05:00.0: hif-tx-sg, full, nentries_mask: 0x1f write_idx: 2 sw-idx: 3 n_items: 1 pipe-id: 3
[ 91.108944] ath10k_pci 0000:05:00.0: htc failed hif-tx-sq: -105 eid: 2 credits: 1 ep->tx_credits: 1 credit-flow-enabled: 1
[ 91.108952] ath10k_pci 0000:05:00.0: could not request stats (type 1 ret -105)
[ 91.108953] ath10k_pci 0000:05:00.0: failed to get fw stats for ethtool: -105
[ 91.109039] ath10k_pci 0000:05:00.0: hif-tx-sg, full, nentries_mask: 0x1f write_idx: 2 sw-idx: 3 n_items: 1 pipe-id: 3
[ 91.109041] ath10k_pci 0000:05:00.0: htc failed hif-tx-sq: -105 eid: 2 credits: 1 ep->tx_credits: 1 credit-flow-enabled: 1
[ 91.109050] ath10k_pci 0000:05:00.0: could not request stats (type 128 ret -105)
[ 91.109060] ath10k_pci 0000:05:00.0: hif-tx-sg, full, nentries_mask: 0x1f write_idx: 2 sw-idx: 3 n_items: 1 pipe-id: 3
[ 91.109062] ath10k_pci 0000:05:00.0: htc failed hif-tx-sq: -105 eid: 2 credits: 1 ep->tx_credits: 1 credit-flow-enabled: 1
[ 91.109070] ath10k_pci 0000:05:00.0: could not request stats (type 1 ret -105)
[ 91.109072] ath10k_pci 0000:05:00.0: failed to get fw stats for ethtool: -105
[ 91.109157] ath10k_pci 0000:05:00.0: hif-tx-sg, full, nentries_mask: 0x1f write_idx: 2 sw-idx: 3 n_items: 1 pipe-id: 3
[ 91.109160] ath10k_pci 0000:05:00.0: htc failed hif-tx-sq: -105 eid: 2 credits: 1 ep->tx_credits: 1 credit-flow-enabled: 1
I am struggling to understand how the pipe can be full since we have tx-credits logic
enabled for the WMI pipe.
Any suggestions on what sort of bugs could cause this?
And, should the ath10k_wmi_cmd_send retry when we get a -105 return
code in hopes it will free up shortly instead of just failing and leaving
the system in invalid state?
Debug message comes from the warning I added below:
static int ath10k_pci_hif_tx_sg(struct ath10k *ar, u8 pipe_id,
struct ath10k_hif_sg_item *items, int n_items)
{
struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
struct ath10k_pci_pipe *pci_pipe = &ar_pci->pipe_info[pipe_id];
struct ath10k_ce_pipe *ce_pipe = pci_pipe->ce_hdl;
struct ath10k_ce_ring *src_ring = ce_pipe->src_ring;
unsigned int nentries_mask;
unsigned int sw_index;
unsigned int write_index;
int err, i = 0;
spin_lock_bh(&ar_pci->ce_lock);
nentries_mask = src_ring->nentries_mask;
sw_index = src_ring->sw_index;
write_index = src_ring->write_index;
if (unlikely(CE_RING_DELTA(nentries_mask,
write_index, sw_index - 1) < n_items)) {
ath10k_warn(ar, "hif-tx-sg, full, nentries_mask: 0x%x write_idx: %d sw-idx: %d n_items: %d pipe-id: %d\n",
nentries_mask, write_index, sw_index, n_items, pipe_id);
err = -ENOBUFS;
goto err;
}
Thanks,
Ben
--
Ben Greear <greearb at candelatech.com>
Candela Technologies Inc http://www.candelatech.com
More information about the ath10k
mailing list