All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: drivers/net/wireless/broadcom/b43/xmit.c:457 b43_generate_txhdr() error: uninitialized symbol 'cts'.
Date: Sun, 11 Oct 2020 14:21:13 +0800	[thread overview]
Message-ID: <202010111405.4BTonyja-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 42838 bytes --]

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Kees Cook <keescook@chromium.org>
CC: Chao Yu <yuchao0@huawei.com>, Chao Yu <chao@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   da690031a5d6d50a361e3f19f3eeabd086a6f20d
commit: 3f649ab728cda8038259d8f14492fe400fbab911 treewide: Remove uninitialized_var() usage
date:   3 months ago
:::::: branch date: 7 hours ago
:::::: commit date: 3 months ago
config: riscv-randconfig-m031-20201011 (attached as .config)
compiler: riscv64-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/net/wireless/broadcom/b43/xmit.c:457 b43_generate_txhdr() error: uninitialized symbol 'cts'.
drivers/net/wireless/broadcom/b43/xmit.c:479 b43_generate_txhdr() error: uninitialized symbol 'rts'.
drivers/net/wireless/broadcom/b43/xmit.c:497 b43_generate_txhdr() error: uninitialized symbol 'plcp'.
drivers/net/wireless/broadcom/b43/xmit.c:517 b43_generate_txhdr() error: potentially dereferencing uninitialized 'hdr'.
drivers/net/wireless/broadcom/b43/xmit.c:664 b43_rx() error: uninitialized symbol 'macstat'.
drivers/net/wireless/broadcom/b43/xmit.c:719 b43_rx() error: uninitialized symbol 'chanstat'.
drivers/net/wireless/broadcom/b43/xmit.c:771 b43_rx() error: uninitialized symbol 'mactime'.
drivers/net/wireless/broadcom/b43/dma.c:67 b43_dma_address() error: uninitialized symbol 'addr'.

vim +/cts +457 drivers/net/wireless/broadcom/b43/xmit.c

e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  233  
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  234  /* Generate a TX data header. */
09552ccd8277e63 drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-23  235  int b43_generate_txhdr(struct b43_wldev *dev,
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  236  		       u8 *_txhdr,
035d0243ebbdbd5 drivers/net/wireless/b43/xmit.c          gregor kowski   2009-08-19  237  		       struct sk_buff *skb_frag,
e6a9854b05c1a6a drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-10-21  238  		       struct ieee80211_tx_info *info,
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  239  		       u16 cookie)
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  240  {
035d0243ebbdbd5 drivers/net/wireless/b43/xmit.c          gregor kowski   2009-08-19  241  	const unsigned char *fragment_data = skb_frag->data;
035d0243ebbdbd5 drivers/net/wireless/b43/xmit.c          gregor kowski   2009-08-19  242  	unsigned int fragment_len = skb_frag->len;
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  243  	struct b43_txhdr *txhdr = (struct b43_txhdr *)_txhdr;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  244  	const struct b43_phy *phy = &dev->phy;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  245  	const struct ieee80211_hdr *wlhdr =
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  246  	    (const struct ieee80211_hdr *)fragment_data;
d0f09804144fd94 drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-07-29  247  	int use_encryption = !!info->control.hw_key;
f37d923422b6188 drivers/net/wireless/b43/xmit.c          Harvey Harrison 2008-06-14  248  	__le16 fctl = wlhdr->frame_control;
8318d78a44d49ac drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-01-24  249  	struct ieee80211_rate *fbrate;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  250  	u8 rate, rate_fb;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  251  	int rate_ofdm, rate_fb_ofdm;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  252  	unsigned int plcp_fragment_len;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  253  	u32 mac_ctl = 0;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  254  	u16 phy_ctl = 0;
694718d8ad2f0b1 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-10-17  255  	bool fill_phy_ctl1 = (phy->type == B43_PHYTYPE_LP ||
694718d8ad2f0b1 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-10-17  256  			      phy->type == B43_PHYTYPE_N ||
694718d8ad2f0b1 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-10-17  257  			      phy->type == B43_PHYTYPE_HT);
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  258  	u8 extra_ft = 0;
2e92e6f2c50b4ba drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-05-15  259  	struct ieee80211_rate *txrate;
e6a9854b05c1a6a drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-10-21  260  	struct ieee80211_tx_rate *rates;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  261  
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  262  	memset(txhdr, 0, sizeof(*txhdr));
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  263  
e039fa4a4195ac4 drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-05-15  264  	txrate = ieee80211_get_tx_rate(dev->wl->hw, info);
2e92e6f2c50b4ba drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-05-15  265  	rate = txrate ? txrate->hw_value : B43_CCK_RATE_1MB;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  266  	rate_ofdm = b43_is_ofdm_rate(rate);
870abdf67170daa drivers/net/wireless/b43/xmit.c          Felix Fietkau   2008-10-05  267  	fbrate = ieee80211_get_alt_retry_rate(dev->wl->hw, info, 0) ? : txrate;
8318d78a44d49ac drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-01-24  268  	rate_fb = fbrate->hw_value;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  269  	rate_fb_ofdm = b43_is_ofdm_rate(rate_fb);
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  270  
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  271  	if (rate_ofdm)
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  272  		txhdr->phy_rate = b43_plcp_get_ratecode_ofdm(rate);
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  273  	else
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  274  		txhdr->phy_rate = b43_plcp_get_ratecode_cck(rate);
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  275  	txhdr->mac_frame_ctl = wlhdr->frame_control;
d458cdf712e0c67 drivers/net/wireless/b43/xmit.c          Joe Perches     2013-10-01  276  	memcpy(txhdr->tx_receiver, wlhdr->addr1, ETH_ALEN);
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  277  
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  278  	/* Calculate duration for fallback rate */
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  279  	if ((rate_fb == rate) ||
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  280  	    (wlhdr->duration_id & cpu_to_le16(0x8000)) ||
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  281  	    (wlhdr->duration_id == cpu_to_le16(0))) {
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  282  		/* If the fallback rate equals the normal rate or the
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  283  		 * dur_id field contains an AID, CFP magic or 0,
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  284  		 * use the original dur_id field. */
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  285  		txhdr->dur_fb = wlhdr->duration_id;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  286  	} else {
e039fa4a4195ac4 drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-05-15  287  		txhdr->dur_fb = ieee80211_generic_frame_duration(
4ee73f338a528f4 drivers/net/wireless/b43/xmit.c          Michal Kazior   2012-04-11  288  			dev->wl->hw, info->control.vif, info->band,
4ee73f338a528f4 drivers/net/wireless/b43/xmit.c          Michal Kazior   2012-04-11  289  			fragment_len, fbrate);
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  290  	}
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  291  
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  292  	plcp_fragment_len = fragment_len + FCS_LEN;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  293  	if (use_encryption) {
e039fa4a4195ac4 drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-05-15  294  		u8 key_idx = info->control.hw_key->hw_key_idx;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  295  		struct b43_key *key;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  296  		int wlhdr_len;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  297  		size_t iv_len;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  298  
66d2d089c394c7e drivers/net/wireless/b43/xmit.c          Michael Buesch  2009-08-06  299  		B43_WARN_ON(key_idx >= ARRAY_SIZE(dev->key));
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  300  		key = &(dev->key[key_idx]);
7be1bb6b798d506 drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-23  301  
09552ccd8277e63 drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-23  302  		if (unlikely(!key->keyconf)) {
09552ccd8277e63 drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-23  303  			/* This key is invalid. This might only happen
09552ccd8277e63 drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-23  304  			 * in a short timeframe after machine resume before
09552ccd8277e63 drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-23  305  			 * we were able to reconfigure keys.
09552ccd8277e63 drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-23  306  			 * Drop this packet completely. Do not transmit it
09552ccd8277e63 drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-23  307  			 * unencrypted to avoid leaking information. */
09552ccd8277e63 drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-23  308  			return -ENOKEY;
09552ccd8277e63 drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-23  309  		}
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  310  
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  311  		/* Hardware appends ICV. */
76708dee382a69b drivers/net/wireless/b43/xmit.c          Felix Fietkau   2008-10-05  312  		plcp_fragment_len += info->control.hw_key->icv_len;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  313  
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  314  		key_idx = b43_kidx_to_fw(dev, key_idx);
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  315  		mac_ctl |= (key_idx << B43_TXH_MAC_KEYIDX_SHIFT) &
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  316  			   B43_TXH_MAC_KEYIDX;
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  317  		mac_ctl |= (key->algorithm << B43_TXH_MAC_KEYALG_SHIFT) &
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  318  			   B43_TXH_MAC_KEYALG;
f37d923422b6188 drivers/net/wireless/b43/xmit.c          Harvey Harrison 2008-06-14  319  		wlhdr_len = ieee80211_hdrlen(fctl);
035d0243ebbdbd5 drivers/net/wireless/b43/xmit.c          gregor kowski   2009-08-19  320  		if (key->algorithm == B43_SEC_ALGO_TKIP) {
035d0243ebbdbd5 drivers/net/wireless/b43/xmit.c          gregor kowski   2009-08-19  321  			u16 phase1key[5];
035d0243ebbdbd5 drivers/net/wireless/b43/xmit.c          gregor kowski   2009-08-19  322  			int i;
035d0243ebbdbd5 drivers/net/wireless/b43/xmit.c          gregor kowski   2009-08-19  323  			/* we give the phase1key and iv16 here, the key is stored in
035d0243ebbdbd5 drivers/net/wireless/b43/xmit.c          gregor kowski   2009-08-19  324  			 * shm. With that the hardware can do phase 2 and encryption.
035d0243ebbdbd5 drivers/net/wireless/b43/xmit.c          gregor kowski   2009-08-19  325  			 */
523b02ea23b175d drivers/net/wireless/b43/xmit.c          Johannes Berg   2011-07-07  326  			ieee80211_get_tkip_p1k(info->control.hw_key, skb_frag, phase1key);
cde1b55b43b71ca drivers/net/wireless/b43/xmit.c          Michael Buesch  2009-09-06  327  			/* phase1key is in host endian. Copy to little-endian txhdr->iv. */
cde1b55b43b71ca drivers/net/wireless/b43/xmit.c          Michael Buesch  2009-09-06  328  			for (i = 0; i < 5; i++) {
cde1b55b43b71ca drivers/net/wireless/b43/xmit.c          Michael Buesch  2009-09-06  329  				txhdr->iv[i * 2 + 0] = phase1key[i];
cde1b55b43b71ca drivers/net/wireless/b43/xmit.c          Michael Buesch  2009-09-06  330  				txhdr->iv[i * 2 + 1] = phase1key[i] >> 8;
cde1b55b43b71ca drivers/net/wireless/b43/xmit.c          Michael Buesch  2009-09-06  331  			}
035d0243ebbdbd5 drivers/net/wireless/b43/xmit.c          gregor kowski   2009-08-19  332  			/* iv16 */
035d0243ebbdbd5 drivers/net/wireless/b43/xmit.c          gregor kowski   2009-08-19  333  			memcpy(txhdr->iv + 10, ((u8 *) wlhdr) + wlhdr_len, 3);
035d0243ebbdbd5 drivers/net/wireless/b43/xmit.c          gregor kowski   2009-08-19  334  		} else {
c8e4955653a470e drivers/net/wireless/b43/xmit.c          Silvan Jegen    2014-02-25  335  			iv_len = min_t(size_t, info->control.hw_key->iv_len,
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  336  				     ARRAY_SIZE(txhdr->iv));
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  337  			memcpy(txhdr->iv, ((u8 *) wlhdr) + wlhdr_len, iv_len);
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  338  		}
035d0243ebbdbd5 drivers/net/wireless/b43/xmit.c          gregor kowski   2009-08-19  339  	}
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  340  	switch (dev->fw.hdr_format) {
5d852905561a979 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  341  	case B43_FW_HDR_598:
5d852905561a979 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  342  		b43_generate_plcp_hdr((struct b43_plcp_hdr4 *)(&txhdr->format_598.plcp),
5d852905561a979 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  343  				      plcp_fragment_len, rate);
5d852905561a979 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  344  		break;
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  345  	case B43_FW_HDR_351:
2391b7e8d40e4b3 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  346  		b43_generate_plcp_hdr((struct b43_plcp_hdr4 *)(&txhdr->format_351.plcp),
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  347  				      plcp_fragment_len, rate);
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  348  		break;
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  349  	case B43_FW_HDR_410:
2391b7e8d40e4b3 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  350  		b43_generate_plcp_hdr((struct b43_plcp_hdr4 *)(&txhdr->format_410.plcp),
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  351  				      plcp_fragment_len, rate);
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  352  		break;
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  353  	}
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  354  	b43_generate_plcp_hdr((struct b43_plcp_hdr4 *)(&txhdr->plcp_fb),
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  355  			      plcp_fragment_len, rate_fb);
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  356  
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  357  	/* Extra Frame Types */
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  358  	if (rate_fb_ofdm)
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  359  		extra_ft |= B43_TXH_EFT_FB_OFDM;
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  360  	else
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  361  		extra_ft |= B43_TXH_EFT_FB_CCK;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  362  
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  363  	/* Set channel radio code. Note that the micrcode ORs 0x100 to
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  364  	 * this value before comparing it to the value in SHM, if this
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  365  	 * is a 5Ghz packet.
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  366  	 */
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  367  	txhdr->chan_radio_code = phy->channel;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  368  
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  369  	/* PHY TX Control word */
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  370  	if (rate_ofdm)
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  371  		phy_ctl |= B43_TXH_PHY_ENC_OFDM;
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  372  	else
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  373  		phy_ctl |= B43_TXH_PHY_ENC_CCK;
e6a9854b05c1a6a drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-10-21  374  	if (info->control.rates[0].flags & IEEE80211_TX_RC_USE_SHORT_PREAMBLE)
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  375  		phy_ctl |= B43_TXH_PHY_SHORTPRMBL;
9db1f6d725921c4 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-12-22  376  
d748b4642a53cd1 drivers/net/wireless/b43/xmit.c          Johannes Berg   2012-03-28  377  	switch (b43_ieee80211_antenna_sanitize(dev, 0)) {
9db1f6d725921c4 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-12-22  378  	case 0: /* Default */
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  379  		phy_ctl |= B43_TXH_PHY_ANT01AUTO;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  380  		break;
9db1f6d725921c4 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-12-22  381  	case 1: /* Antenna 0 */
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  382  		phy_ctl |= B43_TXH_PHY_ANT0;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  383  		break;
9db1f6d725921c4 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-12-22  384  	case 2: /* Antenna 1 */
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  385  		phy_ctl |= B43_TXH_PHY_ANT1;
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  386  		break;
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  387  	case 3: /* Antenna 2 */
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  388  		phy_ctl |= B43_TXH_PHY_ANT2;
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  389  		break;
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  390  	case 4: /* Antenna 3 */
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  391  		phy_ctl |= B43_TXH_PHY_ANT3;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  392  		break;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  393  	default:
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  394  		B43_WARN_ON(1);
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  395  	}
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  396  
e6a9854b05c1a6a drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-10-21  397  	rates = info->control.rates;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  398  	/* MAC control */
e039fa4a4195ac4 drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-05-15  399  	if (!(info->flags & IEEE80211_TX_CTL_NO_ACK))
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  400  		mac_ctl |= B43_TXH_MAC_ACK;
f591fa5dbbbeaeb drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-07-10  401  	/* use hardware sequence counter as the non-TID counter */
f591fa5dbbbeaeb drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-07-10  402  	if (info->flags & IEEE80211_TX_CTL_ASSIGN_SEQ)
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  403  		mac_ctl |= B43_TXH_MAC_HWSEQ;
e039fa4a4195ac4 drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-05-15  404  	if (info->flags & IEEE80211_TX_CTL_FIRST_FRAGMENT)
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  405  		mac_ctl |= B43_TXH_MAC_STMSDU;
24acfc632b7ba55 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2014-05-20  406  	if (!phy->gmode)
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  407  		mac_ctl |= B43_TXH_MAC_5GHZ;
e6a9854b05c1a6a drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-10-21  408  
e6a9854b05c1a6a drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-10-21  409  	/* Overwrite rates[0].count to make the retry calculation
e6a9854b05c1a6a drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-10-21  410  	 * in the tx status easier. need the actual retry limit to
e6a9854b05c1a6a drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-10-21  411  	 * detect whether the fallback rate was used.
e6a9854b05c1a6a drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-10-21  412  	 */
e6a9854b05c1a6a drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-10-21  413  	if ((rates[0].flags & IEEE80211_TX_RC_USE_RTS_CTS) ||
e6a9854b05c1a6a drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-10-21  414  	    (rates[0].count <= dev->wl->hw->conf.long_frame_max_tx_count)) {
e6a9854b05c1a6a drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-10-21  415  		rates[0].count = dev->wl->hw->conf.long_frame_max_tx_count;
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  416  		mac_ctl |= B43_TXH_MAC_LONGFRAME;
e6a9854b05c1a6a drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-10-21  417  	} else {
e6a9854b05c1a6a drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-10-21  418  		rates[0].count = dev->wl->hw->conf.short_frame_max_tx_count;
e6a9854b05c1a6a drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-10-21  419  	}
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  420  
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  421  	/* Generate the RTS or CTS-to-self frame */
e6a9854b05c1a6a drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-10-21  422  	if ((rates[0].flags & IEEE80211_TX_RC_USE_RTS_CTS) ||
e6a9854b05c1a6a drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-10-21  423  	    (rates[0].flags & IEEE80211_TX_RC_USE_CTS_PROTECT)) {
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  424  		unsigned int len;
3f649ab728cda80 drivers/net/wireless/broadcom/b43/xmit.c Kees Cook       2020-06-03  425  		struct ieee80211_hdr *hdr;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  426  		int rts_rate, rts_rate_fb;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  427  		int rts_rate_ofdm, rts_rate_fb_ofdm;
3f649ab728cda80 drivers/net/wireless/broadcom/b43/xmit.c Kees Cook       2020-06-03  428  		struct b43_plcp_hdr6 *plcp;
2e92e6f2c50b4ba drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-05-15  429  		struct ieee80211_rate *rts_cts_rate;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  430  
e039fa4a4195ac4 drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-05-15  431  		rts_cts_rate = ieee80211_get_rts_cts_rate(dev->wl->hw, info);
2e92e6f2c50b4ba drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-05-15  432  
2e92e6f2c50b4ba drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-05-15  433  		rts_rate = rts_cts_rate ? rts_cts_rate->hw_value : B43_CCK_RATE_1MB;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  434  		rts_rate_ofdm = b43_is_ofdm_rate(rts_rate);
d0b03439f7845ad drivers/net/wireless/broadcom/b43/xmit.c Adrian Chadd    2016-05-16  435  		rts_rate_fb = b43_calc_fallback_rate(rts_rate, phy->gmode);
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  436  		rts_rate_fb_ofdm = b43_is_ofdm_rate(rts_rate_fb);
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  437  
e6a9854b05c1a6a drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-10-21  438  		if (rates[0].flags & IEEE80211_TX_RC_USE_CTS_PROTECT) {
3f649ab728cda80 drivers/net/wireless/broadcom/b43/xmit.c Kees Cook       2020-06-03  439  			struct ieee80211_cts *cts;
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  440  
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  441  			switch (dev->fw.hdr_format) {
5d852905561a979 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  442  			case B43_FW_HDR_598:
5d852905561a979 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  443  				cts = (struct ieee80211_cts *)
5d852905561a979 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  444  					(txhdr->format_598.rts_frame);
5d852905561a979 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  445  				break;
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  446  			case B43_FW_HDR_351:
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  447  				cts = (struct ieee80211_cts *)
2391b7e8d40e4b3 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  448  					(txhdr->format_351.rts_frame);
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  449  				break;
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  450  			case B43_FW_HDR_410:
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  451  				cts = (struct ieee80211_cts *)
2391b7e8d40e4b3 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  452  					(txhdr->format_410.rts_frame);
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  453  				break;
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  454  			}
e039fa4a4195ac4 drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-05-15  455  			ieee80211_ctstoself_get(dev->wl->hw, info->control.vif,
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  456  						fragment_data, fragment_len,
e039fa4a4195ac4 drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-05-15 @457  						info, cts);
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  458  			mac_ctl |= B43_TXH_MAC_SENDCTS;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  459  			len = sizeof(struct ieee80211_cts);
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  460  		} else {
3f649ab728cda80 drivers/net/wireless/broadcom/b43/xmit.c Kees Cook       2020-06-03  461  			struct ieee80211_rts *rts;
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  462  
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  463  			switch (dev->fw.hdr_format) {
5d852905561a979 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  464  			case B43_FW_HDR_598:
5d852905561a979 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  465  				rts = (struct ieee80211_rts *)
5d852905561a979 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  466  					(txhdr->format_598.rts_frame);
5d852905561a979 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  467  				break;
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  468  			case B43_FW_HDR_351:
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  469  				rts = (struct ieee80211_rts *)
2391b7e8d40e4b3 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  470  					(txhdr->format_351.rts_frame);
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  471  				break;
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  472  			case B43_FW_HDR_410:
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  473  				rts = (struct ieee80211_rts *)
2391b7e8d40e4b3 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  474  					(txhdr->format_410.rts_frame);
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  475  				break;
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  476  			}
e039fa4a4195ac4 drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-05-15  477  			ieee80211_rts_get(dev->wl->hw, info->control.vif,
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  478  					  fragment_data, fragment_len,
e039fa4a4195ac4 drivers/net/wireless/b43/xmit.c          Johannes Berg   2008-05-15 @479  					  info, rts);
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  480  			mac_ctl |= B43_TXH_MAC_SENDRTS;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  481  			len = sizeof(struct ieee80211_rts);
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  482  		}
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  483  		len += FCS_LEN;
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  484  
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  485  		/* Generate the PLCP headers for the RTS/CTS frame */
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  486  		switch (dev->fw.hdr_format) {
5d852905561a979 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  487  		case B43_FW_HDR_598:
5d852905561a979 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  488  			plcp = &txhdr->format_598.rts_plcp;
5d852905561a979 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  489  			break;
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  490  		case B43_FW_HDR_351:
2391b7e8d40e4b3 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  491  			plcp = &txhdr->format_351.rts_plcp;
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  492  			break;
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  493  		case B43_FW_HDR_410:
2391b7e8d40e4b3 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  494  			plcp = &txhdr->format_410.rts_plcp;
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  495  			break;
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  496  		}
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28 @497  		b43_generate_plcp_hdr((struct b43_plcp_hdr4 *)plcp,
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  498  				      len, rts_rate);
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  499  		plcp = &txhdr->rts_plcp_fb;
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  500  		b43_generate_plcp_hdr((struct b43_plcp_hdr4 *)plcp,
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  501  				      len, rts_rate_fb);
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  502  
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  503  		switch (dev->fw.hdr_format) {
5d852905561a979 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  504  		case B43_FW_HDR_598:
5d852905561a979 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  505  			hdr = (struct ieee80211_hdr *)
5d852905561a979 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  506  				(&txhdr->format_598.rts_frame);
5d852905561a979 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  507  			break;
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  508  		case B43_FW_HDR_351:
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  509  			hdr = (struct ieee80211_hdr *)
2391b7e8d40e4b3 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  510  				(&txhdr->format_351.rts_frame);
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  511  			break;
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  512  		case B43_FW_HDR_410:
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  513  			hdr = (struct ieee80211_hdr *)
2391b7e8d40e4b3 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  514  				(&txhdr->format_410.rts_frame);
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  515  			break;
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  516  		}
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18 @517  		txhdr->rts_dur_fb = hdr->duration_id;
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  518  
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  519  		if (rts_rate_ofdm) {
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  520  			extra_ft |= B43_TXH_EFT_RTS_OFDM;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  521  			txhdr->phy_rate_rts =
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  522  			    b43_plcp_get_ratecode_ofdm(rts_rate);
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  523  		} else {
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  524  			extra_ft |= B43_TXH_EFT_RTS_CCK;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  525  			txhdr->phy_rate_rts =
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  526  			    b43_plcp_get_ratecode_cck(rts_rate);
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  527  		}
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  528  		if (rts_rate_fb_ofdm)
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  529  			extra_ft |= B43_TXH_EFT_RTSFB_OFDM;
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  530  		else
eb189d8bc9824bc drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-28  531  			extra_ft |= B43_TXH_EFT_RTSFB_CCK;
3311abbbbff1719 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-02-25  532  
3311abbbbff1719 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-02-25  533  		if (rates[0].flags & IEEE80211_TX_RC_USE_RTS_CTS &&
694718d8ad2f0b1 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-10-17  534  		    fill_phy_ctl1) {
3311abbbbff1719 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-02-25  535  			txhdr->phy_ctl1_rts = cpu_to_le16(
3311abbbbff1719 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-02-25  536  				b43_generate_tx_phy_ctl1(dev, rts_rate));
3311abbbbff1719 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-02-25  537  			txhdr->phy_ctl1_rts_fb = cpu_to_le16(
3311abbbbff1719 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-02-25  538  				b43_generate_tx_phy_ctl1(dev, rts_rate_fb));
3311abbbbff1719 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-02-25  539  		}
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  540  	}
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  541  
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  542  	/* Magic cookie */
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  543  	switch (dev->fw.hdr_format) {
5d852905561a979 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  544  	case B43_FW_HDR_598:
5d852905561a979 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  545  		txhdr->format_598.cookie = cpu_to_le16(cookie);
5d852905561a979 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  546  		break;
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  547  	case B43_FW_HDR_351:
2391b7e8d40e4b3 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  548  		txhdr->format_351.cookie = cpu_to_le16(cookie);
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  549  		break;
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  550  	case B43_FW_HDR_410:
2391b7e8d40e4b3 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  551  		txhdr->format_410.cookie = cpu_to_le16(cookie);
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  552  		break;
efe0249b0fd1e9a drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-08-11  553  	}
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  554  
694718d8ad2f0b1 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-10-17  555  	if (fill_phy_ctl1) {
3311abbbbff1719 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-02-25  556  		txhdr->phy_ctl1 =
3311abbbbff1719 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-02-25  557  			cpu_to_le16(b43_generate_tx_phy_ctl1(dev, rate));
3311abbbbff1719 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-02-25  558  		txhdr->phy_ctl1_fb =
3311abbbbff1719 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-02-25  559  			cpu_to_le16(b43_generate_tx_phy_ctl1(dev, rate_fb));
3311abbbbff1719 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-02-25  560  	}
3311abbbbff1719 drivers/net/wireless/b43/xmit.c          Rafał Miłecki   2011-02-25  561  
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  562  	/* Apply the bitfields */
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  563  	txhdr->mac_ctl = cpu_to_le32(mac_ctl);
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  564  	txhdr->phy_ctl = cpu_to_le16(phy_ctl);
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  565  	txhdr->extra_ft = extra_ft;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  566  
09552ccd8277e63 drivers/net/wireless/b43/xmit.c          Michael Buesch  2008-01-23  567  	return 0;
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  568  }
e4d6b7951812d98 drivers/net/wireless/b43/xmit.c          Michael Buesch  2007-09-18  569  

:::::: The code at line 457 was first introduced by commit
:::::: e039fa4a4195ac4ee895e6f3d1334beed63256fe mac80211: move TX info into skb->cb

:::::: TO: Johannes Berg <johannes@sipsolutions.net>
:::::: CC: John W. Linville <linville@tuxdriver.com>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 34092 bytes --]

             reply	other threads:[~2020-10-11  6:21 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-11  6:21 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-06-25 13:05 drivers/net/wireless/broadcom/b43/xmit.c:457 b43_generate_txhdr() error: uninitialized symbol 'cts' kernel test robot

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=202010111405.4BTonyja-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@lists.01.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.