[PATCH 2/4] ath10k: fix HTC endpoint worker starvation

Michal Kazior michal.kazior at tieto.com
Thu Aug 8 06:12:03 EDT 2013


On 8 August 2013 10:16, Michal Kazior <michal.kazior at tieto.com> wrote:
> HTC used a worker for each endpoint. This worked
> until a slow host machine was flooded with massive
> number of TX requests. HTT related worker would
> remain active while WMI worker was starved. This
> ended up with "could not send beacon" in AP mode.
> It was even possible to see userspace being
> starved.
>
> The patch switches from using workers to using
> tasklets for processing and submitting HTC frames
> to HIF.
>
> Signed-off-by: Michal Kazior <michal.kazior at tieto.com>
>
> (...)
>
> @@ -602,7 +602,8 @@ static void ath10k_htc_reset_endpoint_states(struct ath10k_htc *htc)
>                 skb_queue_head_init(&ep->tx_queue);
>                 ep->htc = htc;
>                 ep->tx_credit_flow_enabled = true;
> -               INIT_WORK(&ep->send_work, ath10k_htc_send_work);
> +               tasklet_init(&ep->send_task, ath10k_htc_send_task,
> +                             (unsigned long)ep);
>         }
>  }
>

Indentation is off by one here. Is it okay if I just resend this
single patch or is it easier for applying if I resend the whole
patchset?


Pozdrawiam / Best regards,
Michał Kazior.



More information about the ath10k mailing list