lkml.org 
[lkml]   [2020]   [Jun]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectdrivers/net/wireless/st/cw1200/txrx.c:766:15: sparse: struct ieee80211_sta __rcu COPYING CREDITS Documentation Kbuild Kconfig LICENSES MAINTAINERS Makefile README arch block certs crypto drivers fs include init ipc kernel lib mm net samples scripts secur
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 3e08a95294a4fb3702bb3d35ed08028433c37fe6
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 6 days ago
config: x86_64-randconfig-s021-20200624 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# save the attached .config to linux build tree
make W=1 C=1 ARCH=x86_64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

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


sparse warnings: (new ones prefixed by >>)

drivers/net/wireless/st/cw1200/txrx.c:766:15: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> drivers/net/wireless/st/cw1200/txrx.c:766:15: sparse: struct ieee80211_sta [noderef] __rcu *
drivers/net/wireless/st/cw1200/txrx.c:766:15: sparse: struct ieee80211_sta *
drivers/net/wireless/st/cw1200/txrx.c:1149:32: sparse: sparse: cast to restricted __le64

vim +766 drivers/net/wireless/st/cw1200/txrx.c

a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 702
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 703 void cw1200_tx(struct ieee80211_hw *dev,
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 704 struct ieee80211_tx_control *control,
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 705 struct sk_buff *skb)
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 706 {
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 707 struct cw1200_common *priv = dev->priv;
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 708 struct cw1200_txinfo t = {
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 709 .skb = skb,
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 710 .queue = skb_get_queue_mapping(skb),
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 711 .tx_info = IEEE80211_SKB_CB(skb),
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 712 .hdr = (struct ieee80211_hdr *)skb->data,
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 713 .txpriv.tid = CW1200_MAX_TID,
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 714 .txpriv.rate_id = CW1200_INVALID_RATE_ID,
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 715 };
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 716 struct ieee80211_sta *sta;
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 717 struct wsm_tx *wsm;
ab36bb72d00e24 drivers/net/wireless/st/cw1200/txrx.c zhengbin 2019-12-24 718 bool tid_update = false;
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 719 u8 flags = 0;
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 720 int ret;
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 721
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 722 if (priv->bh_error)
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 723 goto drop;
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 724
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 725 t.hdrlen = ieee80211_hdrlen(t.hdr->frame_control);
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 726 t.da = ieee80211_get_DA(t.hdr);
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 727 if (control) {
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 728 t.sta = control->sta;
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 729 t.sta_priv = (struct cw1200_sta_priv *)&t.sta->drv_priv;
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 730 }
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 731
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 732 if (WARN_ON(t.queue >= 4))
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 733 goto drop;
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 734
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 735 ret = cw1200_tx_h_calc_link_ids(priv, &t);
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 736 if (ret)
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 737 goto drop;
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 738
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 739 pr_debug("[TX] TX %d bytes (queue: %d, link_id: %d (%d)).\n",
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 740 skb->len, t.queue, t.txpriv.link_id,
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 741 t.txpriv.raw_link_id);
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 742
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 743 cw1200_tx_h_pm(priv, &t);
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 744 cw1200_tx_h_calc_tid(priv, &t);
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 745 ret = cw1200_tx_h_crypt(priv, &t);
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 746 if (ret)
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 747 goto drop;
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 748 ret = cw1200_tx_h_align(priv, &t, &flags);
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 749 if (ret)
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 750 goto drop;
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 751 ret = cw1200_tx_h_action(priv, &t);
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 752 if (ret)
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 753 goto drop;
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 754 wsm = cw1200_tx_h_wsm(priv, &t);
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 755 if (!wsm) {
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 756 ret = -ENOMEM;
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 757 goto drop;
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 758 }
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 759 wsm->flags |= flags;
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 760 cw1200_tx_h_bt(priv, &t, wsm);
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 761 ret = cw1200_tx_h_rate_policy(priv, &t, wsm);
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 762 if (ret)
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 763 goto drop;
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 764
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 765 rcu_read_lock();
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 @766 sta = rcu_dereference(t.sta);
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 767
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 768 spin_lock_bh(&priv->ps_state_lock);
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 769 {
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 770 tid_update = cw1200_tx_h_pm_state(priv, &t);
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 771 BUG_ON(cw1200_queue_put(&priv->tx_queue[t.queue],
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 772 t.skb, &t.txpriv));
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 773 }
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 774 spin_unlock_bh(&priv->ps_state_lock);
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 775
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 776 if (tid_update && sta)
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 777 ieee80211_sta_set_buffered(sta, t.txpriv.tid, true);
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 778
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 779 rcu_read_unlock();
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 780
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 781 cw1200_bh_wakeup(priv);
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 782
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 783 return;
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 784
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 785 drop:
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 786 cw1200_skb_dtor(priv, skb, &t.txpriv);
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 787 return;
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 788 }
a910e4a94f6923 drivers/net/wireless/cw1200/txrx.c Solomon Peachy 2013-05-24 789

:::::: The code at line 766 was first introduced by commit
:::::: a910e4a94f6923c8c988565525f017f687bf7205 cw1200: add driver for the ST-E CW1100 & CW1200 WLAN chipsets

:::::: TO: Solomon Peachy <pizza@shaftnet.org>
:::::: CC: John W. Linville <linville@tuxdriver.com>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[unhandled content-type:application/gzip]
\
 
 \ /
  Last update: 2020-06-24 09:52    [W:0.084 / U:0.324 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site