[PATCH 7/9] ath10k: add extra sanity check when popping amsdu

Kalle Valo kvalo at qca.qualcomm.com
Thu Oct 23 08:09:31 PDT 2014


Michal Kazior <michal.kazior at tieto.com> writes:

> The netbuf pop can return NULL. Make sure to check
> for that. It shouldn't happen but better safe than
> sorry.
>
> Signed-off-by: Michal Kazior <michal.kazior at tieto.com>
> ---
>  drivers/net/wireless/ath/ath10k/htt_rx.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/drivers/net/wireless/ath/ath10k/htt_rx.c b/drivers/net/wireless/ath/ath10k/htt_rx.c
> index 7fa4d87..ddb9fe9 100644
> --- a/drivers/net/wireless/ath/ath10k/htt_rx.c
> +++ b/drivers/net/wireless/ath/ath10k/htt_rx.c
> @@ -428,6 +428,15 @@ static int ath10k_htt_rx_amsdu_pop(struct ath10k_htt *htt,
>  		while (msdu_chained--) {
>  			struct sk_buff *next = ath10k_htt_rx_netbuf_pop(htt);
>  
> +			if (!next) {
> +				ath10k_err(ar, "failed to pop chained msdu\n");

ath10k_warn() is better here, right? I have folded this diff to the patch:

--- a/drivers/net/wireless/ath/ath10k/htt_rx.c
+++ b/drivers/net/wireless/ath/ath10k/htt_rx.c
@@ -429,7 +429,7 @@ static int ath10k_htt_rx_amsdu_pop(struct ath10k_htt *htt,
                        struct sk_buff *next = ath10k_htt_rx_netbuf_pop(htt);
 
                        if (!next) {
-                               ath10k_err(ar, "failed to pop chained msdu\n");
+                               ath10k_warn(ar, "failed to pop chained msdu\n");
                                ath10k_htt_rx_free_msdu_chain(*head_msdu);
                                *head_msdu = NULL;
                                msdu = NULL;

Full commit:

https://github.com/kvalo/ath/commit/03f316720d664a79e874c13df1e86a64c5f2bf5f

-- 
Kalle Valo



More information about the ath10k mailing list