[xlnx:master 9682/10232] drivers/net/ethernet/cadence/macb_main.c:4546:58: sparse: sparse: incorrect type in argument 1 (different base types)
kernel test robot
lkp at intel.com
Tue Sep 8 15:00:32 EDT 2020
tree: https://github.com/Xilinx/linux-xlnx master
head: 42ad54750577955973e42ded1ed2085a3b3a5c72
commit: 60a21c686f7e4e50489ae04b9bb1980b145e52ef [9682/10232] net: macb: Use WOL via ARP
config: microblaze-randconfig-s032-20200908 (attached as .config)
compiler: microblaze-linux-gcc (GCC) 9.3.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.2-191-g10164920-dirty
git checkout 60a21c686f7e4e50489ae04b9bb1980b145e52ef
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=microblaze
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>
sparse warnings: (new ones prefixed by >>)
drivers/net/ethernet/cadence/macb_main.c: note: in included file (through arch/microblaze/include/uapi/asm/unistd.h, arch/microblaze/include/asm/unistd.h, include/uapi/linux/unistd.h, ...):
./arch/microblaze/include/generated/uapi/asm/unistd_32.h:438:45: sparse: sparse: no newline at end of file
drivers/net/ethernet/cadence/macb_main.c:275:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] bottom @@ got restricted __le32 [usertype] @@
drivers/net/ethernet/cadence/macb_main.c:275:16: sparse: expected unsigned int [usertype] bottom
drivers/net/ethernet/cadence/macb_main.c:275:16: sparse: got restricted __le32 [usertype]
drivers/net/ethernet/cadence/macb_main.c:277:13: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] top @@ got restricted __le16 [usertype] @@
drivers/net/ethernet/cadence/macb_main.c:277:13: sparse: expected unsigned short [usertype] top
drivers/net/ethernet/cadence/macb_main.c:277:13: sparse: got restricted __le16 [usertype]
drivers/net/ethernet/cadence/macb_main.c:2952:39: sparse: sparse: restricted __be32 degrades to integer
drivers/net/ethernet/cadence/macb_main.c:2957:39: sparse: sparse: restricted __be32 degrades to integer
drivers/net/ethernet/cadence/macb_main.c:2962:40: sparse: sparse: restricted __be16 degrades to integer
drivers/net/ethernet/cadence/macb_main.c:2962:69: sparse: sparse: restricted __be16 degrades to integer
drivers/net/ethernet/cadence/macb_main.c:2984:20: sparse: sparse: restricted __be32 degrades to integer
drivers/net/ethernet/cadence/macb_main.c:2988:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [assigned] [usertype] w0 @@ got restricted __be32 [usertype] ip4src @@
drivers/net/ethernet/cadence/macb_main.c:2988:20: sparse: expected unsigned int [assigned] [usertype] w0
drivers/net/ethernet/cadence/macb_main.c:2988:20: sparse: got restricted __be32 [usertype] ip4src
drivers/net/ethernet/cadence/macb_main.c:2998:20: sparse: sparse: restricted __be32 degrades to integer
drivers/net/ethernet/cadence/macb_main.c:3002:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [assigned] [usertype] w0 @@ got restricted __be32 [usertype] ip4dst @@
drivers/net/ethernet/cadence/macb_main.c:3002:20: sparse: expected unsigned int [assigned] [usertype] w0
drivers/net/ethernet/cadence/macb_main.c:3002:20: sparse: got restricted __be32 [usertype] ip4dst
drivers/net/ethernet/cadence/macb_main.c:3012:21: sparse: sparse: restricted __be16 degrades to integer
drivers/net/ethernet/cadence/macb_main.c:3012:50: sparse: sparse: restricted __be16 degrades to integer
drivers/net/ethernet/cadence/macb_main.c:3018:30: sparse: sparse: restricted __be16 degrades to integer
drivers/net/ethernet/cadence/macb_main.c:3019:30: sparse: sparse: restricted __be16 degrades to integer
drivers/net/ethernet/cadence/macb_main.c:3026:36: sparse: sparse: restricted __be16 degrades to integer
drivers/net/ethernet/cadence/macb_main.c:3027:38: sparse: sparse: restricted __be16 degrades to integer
drivers/net/ethernet/cadence/macb_main.c:3030:38: sparse: sparse: restricted __be16 degrades to integer
drivers/net/ethernet/cadence/macb_main.c:3066:9: sparse: sparse: cast from restricted __be32
drivers/net/ethernet/cadence/macb_main.c:3066:9: sparse: sparse: cast from restricted __be32
drivers/net/ethernet/cadence/macb_main.c:3066:9: sparse: sparse: cast from restricted __be16
drivers/net/ethernet/cadence/macb_main.c:3066:9: sparse: sparse: cast from restricted __be16
drivers/net/ethernet/cadence/macb_main.c:3119:25: sparse: sparse: cast from restricted __be32
drivers/net/ethernet/cadence/macb_main.c:3119:25: sparse: sparse: cast from restricted __be32
drivers/net/ethernet/cadence/macb_main.c:3119:25: sparse: sparse: cast from restricted __be16
drivers/net/ethernet/cadence/macb_main.c:3119:25: sparse: sparse: cast from restricted __be16
>> drivers/net/ethernet/cadence/macb_main.c:4546:58: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const [usertype] *p @@ got restricted __be32 [noderef] <asn:4> * @@
drivers/net/ethernet/cadence/macb_main.c:4546:58: sparse: expected unsigned int const [usertype] *p
>> drivers/net/ethernet/cadence/macb_main.c:4546:58: sparse: got restricted __be32 [noderef] <asn:4> *
drivers/net/ethernet/cadence/macb_main.c:4546:41: sparse: sparse: restricted __be32 degrades to integer
drivers/net/ethernet/cadence/macb_main.c: note: in included file (through arch/microblaze/include/asm/io.h, include/linux/io.h):
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
drivers/net/ethernet/cadence/macb_main.c:4546:50: sparse: sparse: dereference of noderef expression
drivers/net/ethernet/cadence/macb_main.c:4546:50: sparse: sparse: dereference of noderef expression
# https://github.com/Xilinx/linux-xlnx/commit/60a21c686f7e4e50489ae04b9bb1980b145e52ef
git remote add xlnx https://github.com/Xilinx/linux-xlnx
git fetch --no-tags xlnx master
git checkout 60a21c686f7e4e50489ae04b9bb1980b145e52ef
vim +4546 drivers/net/ethernet/cadence/macb_main.c
4503
4504 static int __maybe_unused macb_suspend(struct device *dev)
4505 {
4506 struct net_device *netdev = dev_get_drvdata(dev);
4507 struct macb *bp = netdev_priv(netdev);
4508 struct macb_queue *queue = bp->queues;
4509 unsigned long flags;
4510 unsigned int q;
4511 u32 ctrl, arpipmask;
4512
4513 if (!netif_running(netdev))
4514 return 0;
4515
4516 if (device_may_wakeup(&bp->dev->dev)) {
4517 spin_lock_irqsave(&bp->lock, flags);
4518 ctrl = macb_readl(bp, NCR);
4519 ctrl &= ~(MACB_BIT(TE) | MACB_BIT(RE));
4520 macb_writel(bp, NCR, ctrl);
4521 /* Tie off RX queues */
4522 for (q = 0, queue = bp->queues; q < bp->num_queues;
4523 ++q, ++queue) {
4524 queue_writel(queue, RBQP,
4525 lower_32_bits(bp->rx_ring_tieoff_dma));
4526 }
4527 ctrl = macb_readl(bp, NCR);
4528 ctrl |= MACB_BIT(RE);
4529 macb_writel(bp, NCR, ctrl);
4530 gem_writel(bp, NCFGR, gem_readl(bp, NCFGR) & ~MACB_BIT(NBC));
4531 macb_writel(bp, TSR, -1);
4532 macb_writel(bp, RSR, -1);
4533 macb_readl(bp, ISR);
4534 if (bp->caps & MACB_CAPS_ISR_CLEAR_ON_WRITE)
4535 macb_writel(bp, ISR, -1);
4536
4537 /* Enable WOL (Q0 only) and disable all other interrupts */
4538 macb_writel(bp, IER, MACB_BIT(WOL));
4539 for (q = 1, queue = bp->queues; q < bp->num_queues;
4540 ++q, ++queue) {
4541 queue_writel(queue, IDR, bp->rx_intr_mask |
4542 MACB_TX_INT_FLAGS |
4543 MACB_BIT(HRESP));
4544 }
4545
> 4546 arpipmask = cpu_to_be32p(&bp->dev->ip_ptr->ifa_list->ifa_local)
4547 & 0xFFFF;
4548 gem_writel(bp, WOL, MACB_BIT(ARP) | arpipmask);
4549 spin_unlock_irqrestore(&bp->lock, flags);
4550 enable_irq_wake(bp->queues[0].irq);
4551 netif_device_detach(netdev);
4552 for (q = 0, queue = bp->queues; q < bp->num_queues;
4553 ++q, ++queue)
4554 napi_disable(&queue->napi);
4555 } else {
4556 netif_device_detach(netdev);
4557 for (q = 0, queue = bp->queues; q < bp->num_queues;
4558 ++q, ++queue)
4559 napi_disable(&queue->napi);
4560 phy_stop(netdev->phydev);
4561 phy_suspend(netdev->phydev);
4562 spin_lock_irqsave(&bp->lock, flags);
4563 macb_reset_hw(bp);
4564 spin_unlock_irqrestore(&bp->lock, flags);
4565
4566 if (!(bp->caps & MACB_CAPS_USRIO_DISABLED))
4567 bp->pm_data.usrio = macb_or_gem_readl(bp, USRIO);
4568
4569 if (netdev->hw_features & NETIF_F_NTUPLE)
4570 bp->pm_data.scrt2 = gem_readl_n(bp, ETHT, SCRT2_ETHT);
4571 }
4572
4573 if (bp->ptp_info)
4574 bp->ptp_info->ptp_remove(netdev);
4575 pm_runtime_force_suspend(dev);
4576
4577 return 0;
4578 }
4579
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 27024 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20200909/7514c104/attachment-0001.gz>
More information about the linux-arm-kernel
mailing list