All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: akolli@codeaurora.org
Cc: ath11k@lists.infradead.org
Subject: [bug report] ath11k: Fix pktlog lite rx events
Date: Tue, 30 Nov 2021 13:42:00 +0300	[thread overview]
Message-ID: <20211130104159.GD5827@kili> (raw)

Hello Anilkumar Kolli,

The patch ab18e3bc1c13: "ath11k: Fix pktlog lite rx events" from Sep
28, 2021, leads to the following Smatch static checker warning:

	drivers/net/wireless/ath/ath11k/dp_rx.c:3105 ath11k_dp_rx_process_mon_status()
	error: uninitialized symbol 'rx_buf_sz'.

drivers/net/wireless/ath/ath11k/dp_rx.c
    3043 int ath11k_dp_rx_process_mon_status(struct ath11k_base *ab, int mac_id,
    3044                                     struct napi_struct *napi, int budget)
    3045 {
    3046         struct ath11k *ar = ath11k_ab_to_ar(ab, mac_id);
    3047         enum hal_rx_mon_status hal_status;
    3048         struct sk_buff *skb;
    3049         struct sk_buff_head skb_list;
    3050         struct hal_rx_mon_ppdu_info ppdu_info;
    3051         struct ath11k_peer *peer;
    3052         struct ath11k_sta *arsta;
    3053         int num_buffs_reaped = 0;
    3054         u32 rx_buf_sz;
                 ^^^^^^^^^^^^^

    3055         u16 log_type = 0;
    3056 
    3057         __skb_queue_head_init(&skb_list);
    3058 
    3059         num_buffs_reaped = ath11k_dp_rx_reap_mon_status_ring(ab, mac_id, &budget,
    3060                                                              &skb_list);
    3061         if (!num_buffs_reaped)
    3062                 goto exit;
    3063 
    3064         while ((skb = __skb_dequeue(&skb_list))) {
    3065                 memset(&ppdu_info, 0, sizeof(ppdu_info));
    3066                 ppdu_info.peer_id = HAL_INVALID_PEERID;
    3067 
    3068                 if (ath11k_debugfs_is_pktlog_lite_mode_enabled(ar)) {
    3069                         log_type = ATH11K_PKTLOG_TYPE_LITE_RX;
    3070                         rx_buf_sz = DP_RX_BUFFER_SIZE_LITE;
    3071                 } else if (ath11k_debugfs_is_pktlog_rx_stats_enabled(ar)) {
    3072                         log_type = ATH11K_PKTLOG_TYPE_RX_STATBUF;
    3073                         rx_buf_sz = DP_RX_BUFFER_SIZE;
    3074                 }

No else statement.

    3075 
    3076                 if (log_type)
    3077                         trace_ath11k_htt_rxdesc(ar, skb->data, log_type, rx_buf_sz);
    3078 
    3079                 hal_status = ath11k_hal_rx_parse_mon_status(ab, &ppdu_info, skb);
    3080 
    3081                 if (ppdu_info.peer_id == HAL_INVALID_PEERID ||
    3082                     hal_status != HAL_RX_MON_STATUS_PPDU_DONE) {
    3083                         dev_kfree_skb_any(skb);
    3084                         continue;
    3085                 }
    3086 
    3087                 rcu_read_lock();
    3088                 spin_lock_bh(&ab->base_lock);
    3089                 peer = ath11k_peer_find_by_id(ab, ppdu_info.peer_id);
    3090 
    3091                 if (!peer || !peer->sta) {
    3092                         ath11k_dbg(ab, ATH11K_DBG_DATA,
    3093                                    "failed to find the peer with peer_id %d\n",
    3094                                    ppdu_info.peer_id);
    3095                         spin_unlock_bh(&ab->base_lock);
    3096                         rcu_read_unlock();
    3097                         dev_kfree_skb_any(skb);
    3098                         continue;
    3099                 }
    3100 
    3101                 arsta = (struct ath11k_sta *)peer->sta->drv_priv;
    3102                 ath11k_dp_rx_update_peer_stats(arsta, &ppdu_info);
    3103 
    3104                 if (ath11k_debugfs_is_pktlog_peer_valid(ar, peer->addr))
--> 3105                         trace_ath11k_htt_rxdesc(ar, skb->data, log_type, rx_buf_sz);
                                                                                  ^^^^^^^^^
Warning here.

    3106 
    3107                 spin_unlock_bh(&ab->base_lock);
    3108                 rcu_read_unlock();
    3109 
    3110                 dev_kfree_skb_any(skb);
    3111         }
    3112 exit:
    3113         return num_buffs_reaped;
    3114 }

regards,
dan carpenter

-- 
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k

             reply	other threads:[~2021-11-30 10:42 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-30 10:42 Dan Carpenter [this message]
2021-12-14 14:26 ` [bug report] ath11k: Fix pktlog lite rx events Anilkumar Kolli
2021-12-21 14:52   ` Kalle Valo
2021-12-22  3:29     ` Anilkumar Kolli
2021-12-22  5:53       ` Kalle Valo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211130104159.GD5827@kili \
    --to=dan.carpenter@oracle.com \
    --cc=akolli@codeaurora.org \
    --cc=ath11k@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.