ath10k: implement updating shared htt txq state

Dan Carpenter dan.carpenter at oracle.com
Mon Apr 11 00:12:58 PDT 2016


Hello Michal Kazior,

This is a semi-automatic email about new static checker warnings.

The patch c1a43d9720d8: "ath10k: implement updating shared htt txq 
state" from Mar 6, 2016, leads to the following Smatch complaint:

drivers/net/wireless/ath/ath10k/htt_tx.c:70 __ath10k_htt_tx_txq_recalc()
	 warn: variable dereferenced before check 'txq->sta' (see line 52)

drivers/net/wireless/ath/ath10k/htt_tx.c
    51		struct ath10k *ar = hw->priv;
    52		struct ath10k_sta *arsta = (void *)txq->sta->drv_priv;
                                                   ^^^^^^^^^^
New dererence.

    53		struct ath10k_vif *arvif = (void *)txq->vif->drv_priv;
    54		unsigned long frame_cnt;
    55		unsigned long byte_cnt;
    56		int idx;
    57		u32 bit;
    58		u16 peer_id;
    59		u8 tid;
    60		u8 count;
    61	
    62		lockdep_assert_held(&ar->htt.tx_lock);
    63	
    64		if (!ar->htt.tx_q_state.enabled)
    65			return;
    66	
    67		if (ar->htt.tx_q_state.mode != HTT_TX_MODE_SWITCH_PUSH_PULL)
    68			return;
    69	
    70		if (txq->sta)
                    ^^^^^^^^
New check.

    71			peer_id = arsta->peer_id;
    72		else

There are several new warnings.  See also:

drivers/net/wireless/ath/ath10k/txrx.c:86 ath10k_txrx_tx_unref() warn: variable dereferenced before check 'txq' (see line 84)
drivers/net/wireless/ath/ath10k/mac.c:3629 ath10k_mac_txq_init() warn: variable dereferenced before check 'txq' (see line 3627)
drivers/net/wireless/ath/ath10k/mac.c:3642 ath10k_mac_txq_unref() warn: variable dereferenced before check 'txq' (see line 3637)

regards,
dan carpenter



More information about the ath10k mailing list