Deadlock on (faked) firmware crash, CUS239, modified 10.4.3 firmware.
Ben Greear
greearb at candelatech.com
Wed Mar 30 15:28:05 PDT 2016
> Hmm.. If it still reproduces can you try the following diff?
>
> --- a/drivers/net/wireless/ath/ath10k/mac.c
> +++ b/drivers/net/wireless/ath/ath10k/mac.c
> @@ -3780,6 +3780,8 @@ void ath10k_mac_tx_push_pending(struct ath10k *ar)
> list_del_init(&artxq->list);
> if (ret != -ENOENT)
> list_add_tail(&artxq->list, &ar->txqs);
> + else if (artxq == last)
> + last = list_last_entry(&ar->txqs, struct
> ath10k_txq, list);
>
> ath10k_htt_tx_txq_update(hw, txq);
Ok, I added this code, and can still reproduce the code.
Firmware is crashing multiple times a minute in this machine in it's
current configuration. Right before it hung, firmware crashed and
was restarted, and then I get the hang notification.
I don't see any obvious bail-out in the tx_push_pending logic
if the firmware crashes?
Thanks,
Ben
--
Ben Greear <greearb at candelatech.com>
Candela Technologies Inc http://www.candelatech.com
More information about the ath10k
mailing list