[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202112282213.rH4qGL7z-lkp@intel.com>
Date: Tue, 28 Dec 2021 23:00:20 +0800
From: kernel test robot <lkp@...el.com>
To: David Mosberger-Tang <davidm@...uge.net>,
Ajay Singh <ajay.kathat@...rochip.com>
Cc: kbuild-all@...ts.01.org,
Claudiu Beznea <claudiu.beznea@...rochip.com>,
Kalle Valo <kvalo@...nel.org>,
Jakub Kicinski <kuba@...nel.org>,
linux-wireless@...r.kernel.org, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org,
David Mosberger-Tang <davidm@...uge.net>
Subject: Re: [PATCH v2 37/50] wilc1000: introduce set_header() function
Hi David,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on kvalo-wireless-drivers-next/master]
[also build test WARNING on kvalo-wireless-drivers/master v5.16-rc7 next-20211224]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/David-Mosberger-Tang/wilc1000-rework-tx-path-to-use-sk_buffs-throughout/20211223-091915
base: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git master
config: sparc-randconfig-s031-20211228 (https://download.01.org/0day-ci/archive/20211228/202112282213.rH4qGL7z-lkp@intel.com/config)
compiler: sparc64-linux-gcc (GCC) 11.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://github.com/0day-ci/linux/commit/65a4186b405c72cc6e1a405db7ed0145a28a372f
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review David-Mosberger-Tang/wilc1000-rework-tx-path-to-use-sk_buffs-throughout/20211223-091915
git checkout 65a4186b405c72cc6e1a405db7ed0145a28a372f
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=sparc SHELL=/bin/bash drivers/net/wireless/microchip/wilc1000/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>
sparse warnings: (new ones prefixed by >>)
drivers/net/wireless/microchip/wilc1000/wlan.c:640:16: sparse: sparse: incorrect type in return expression (different base types) @@ expected unsigned int @@ got restricted __le32 [usertype] @@
drivers/net/wireless/microchip/wilc1000/wlan.c:640:16: sparse: expected unsigned int
drivers/net/wireless/microchip/wilc1000/wlan.c:640:16: sparse: got restricted __le32 [usertype]
>> drivers/net/wireless/microchip/wilc1000/wlan.c:660:17: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] vmm_hdr @@ got restricted __le32 [usertype] @@
drivers/net/wireless/microchip/wilc1000/wlan.c:660:17: sparse: expected unsigned int [usertype] vmm_hdr
drivers/net/wireless/microchip/wilc1000/wlan.c:660:17: sparse: got restricted __le32 [usertype]
>> drivers/net/wireless/microchip/wilc1000/wlan.c:668:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] prio @@ got restricted __le32 [usertype] @@
drivers/net/wireless/microchip/wilc1000/wlan.c:668:22: sparse: expected unsigned int [usertype] prio
drivers/net/wireless/microchip/wilc1000/wlan.c:668:22: sparse: got restricted __le32 [usertype]
vim +660 drivers/net/wireless/microchip/wilc1000/wlan.c
642
643 /**
644 * set_header() - set WILC-specific header
645 * @wilc: Pointer to the wilc structure.
646 * @tqe: The packet to add to the chip queue.
647 * @vmm_sz: The final size of the packet, including VMM header and padding.
648 * @hdr: Pointer to the header to set
649 */
650 static void set_header(struct wilc *wilc, struct sk_buff *tqe,
651 u32 vmm_sz, void *hdr)
652 {
653 struct wilc_skb_tx_cb *tx_cb = WILC_SKB_TX_CB(tqe);
654 u32 mgmt_pkt = 0, vmm_hdr, prio, data_len = tqe->len;
655 struct wilc_vif *vif;
656
657 /* add the VMM header word: */
658 if (tx_cb->type == WILC_MGMT_PKT)
659 mgmt_pkt = FIELD_PREP(WILC_VMM_HDR_MGMT_FIELD, 1);
> 660 vmm_hdr = cpu_to_le32(mgmt_pkt |
661 FIELD_PREP(WILC_VMM_HDR_TYPE, tx_cb->type) |
662 FIELD_PREP(WILC_VMM_HDR_PKT_SIZE, data_len) |
663 FIELD_PREP(WILC_VMM_HDR_BUFF_SIZE, vmm_sz));
664 memcpy(hdr, &vmm_hdr, 4);
665
666 if (tx_cb->type == WILC_NET_PKT) {
667 vif = netdev_priv(tqe->dev);
> 668 prio = cpu_to_le32(tx_cb->q_num);
669 memcpy(hdr + 4, &prio, sizeof(prio));
670 memcpy(hdr + 8, vif->bssid, ETH_ALEN);
671 }
672 }
673
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Powered by blists - more mailing lists