Hi Thomas,

I love your patch! Perhaps something to improve:

[auto build test WARNING on net-next/master]

url:    
https://github.com/0day-ci/linux/commits/Thomas-Bogendoerfer/net-Korina-improvements/20210414-045102
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 
8ef7adc6beb2ef0bce83513dc9e4505e7b21e8c2
config: sparc-allyesconfig (attached as .config)
compiler: sparc64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # 
https://github.com/0day-ci/linux/commit/c92cee3d78d891046f2668b2d82c375899d387a4
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
Thomas-Bogendoerfer/net-Korina-improvements/20210414-045102
        git checkout c92cee3d78d891046f2668b2d82c375899d387a4
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross 
ARCH=sparc 

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

All warnings (new ones prefixed by >>):

   drivers/net/ethernet/korina.c: In function 'korina_rx':
>> drivers/net/ethernet/korina.c:675:10: warning: conversion from 'long 
>> unsigned int' to 'u32' {aka 'unsigned int'} changes value from 
>> '18446744073709551613' to '4294967293' [-Woverflow]
     675 |   writel(~DMA_STAT_DONE, &lp->rx_dma_regs->dmas);
   drivers/net/ethernet/korina.c:681:10: warning: conversion from 'long 
unsigned int' to 'u32' {aka 'unsigned int'} changes value from 
'18446744073709551591' to '4294967271' [-Woverflow]
     681 |   writel(~(DMA_STAT_HALT | DMA_STAT_ERR),
         |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


vim +675 drivers/net/ethernet/korina.c

ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
586  
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
587  static int korina_rx(struct net_device *dev, int limit)
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
588  {
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
589        struct korina_private *lp = netdev_priv(dev);
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
590        struct dma_desc *rd = &lp->rd_ring[lp->rx_next_done];
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
591        struct sk_buff *skb, *skb_new;
4cf83b664fc14f drivers/net/korina.c          Phil Sutter         2009-01-14  
592        u32 devcs, pkt_len, dmas;
69e8eeb0eae052 drivers/net/ethernet/korina.c Thomas Bogendoerfer 2021-04-13  
593        dma_addr_t ca;
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
594        int count;
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
595  
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
596        for (count = 0; count < limit; count++) {
4cf83b664fc14f drivers/net/korina.c          Phil Sutter         2009-01-14  
597                skb = lp->rx_skb[lp->rx_next_done];
4cf83b664fc14f drivers/net/korina.c          Phil Sutter         2009-01-14  
598                skb_new = NULL;
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
599  
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
600                devcs = rd->devcs;
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
601  
4cf83b664fc14f drivers/net/korina.c          Phil Sutter         2009-01-14  
602                if ((KORINA_RBSIZE - (u32)DMA_COUNT(rd->control)) == 0)
4cf83b664fc14f drivers/net/korina.c          Phil Sutter         2009-01-14  
603                        break;
4cf83b664fc14f drivers/net/korina.c          Phil Sutter         2009-01-14  
604  
69e8eeb0eae052 drivers/net/ethernet/korina.c Thomas Bogendoerfer 2021-04-13  
605                ca = rd->ca;
69e8eeb0eae052 drivers/net/ethernet/korina.c Thomas Bogendoerfer 2021-04-13  
606  
364a97f5d1ae31 drivers/net/ethernet/korina.c Roman Yeryomin      2017-09-17  
607                /* check that this is a whole packet
364a97f5d1ae31 drivers/net/ethernet/korina.c Roman Yeryomin      2017-09-17  
608                 * WARNING: DMA_FD bit incorrectly set
364a97f5d1ae31 drivers/net/ethernet/korina.c Roman Yeryomin      2017-09-17  
609                 * in Rc32434 (errata ref #077) */
364a97f5d1ae31 drivers/net/ethernet/korina.c Roman Yeryomin      2017-09-17  
610                if (!(devcs & ETH_RX_LD))
364a97f5d1ae31 drivers/net/ethernet/korina.c Roman Yeryomin      2017-09-17  
611                        goto next;
364a97f5d1ae31 drivers/net/ethernet/korina.c Roman Yeryomin      2017-09-17  
612  
364a97f5d1ae31 drivers/net/ethernet/korina.c Roman Yeryomin      2017-09-17  
613                if (!(devcs & ETH_RX_ROK)) {
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
614                        /* Update statistics counters */
364a97f5d1ae31 drivers/net/ethernet/korina.c Roman Yeryomin      2017-09-17  
615                        dev->stats.rx_errors++;
364a97f5d1ae31 drivers/net/ethernet/korina.c Roman Yeryomin      2017-09-17  
616                        dev->stats.rx_dropped++;
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
617                        if (devcs & ETH_RX_CRC)
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
618                                dev->stats.rx_crc_errors++;
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
619                        if (devcs & ETH_RX_LE)
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
620                                dev->stats.rx_length_errors++;
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
621                        if (devcs & ETH_RX_OVR)
b1011b375be106 drivers/net/korina.c          Phil Sutter         2010-05-29  
622                                dev->stats.rx_fifo_errors++;
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
623                        if (devcs & ETH_RX_CV)
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
624                                dev->stats.rx_frame_errors++;
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
625                        if (devcs & ETH_RX_CES)
364a97f5d1ae31 drivers/net/ethernet/korina.c Roman Yeryomin      2017-09-17  
626                                dev->stats.rx_frame_errors++;
364a97f5d1ae31 drivers/net/ethernet/korina.c Roman Yeryomin      2017-09-17  
627  
364a97f5d1ae31 drivers/net/ethernet/korina.c Roman Yeryomin      2017-09-17  
628                        goto next;
364a97f5d1ae31 drivers/net/ethernet/korina.c Roman Yeryomin      2017-09-17  
629                }
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
630  
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
631                /* Malloc up new buffer. */
89d71a66c40d62 drivers/net/korina.c          Eric Dumazet        2009-10-13  
632                skb_new = netdev_alloc_skb_ip_align(dev, KORINA_RBSIZE);
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
633                if (!skb_new)
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
634                        break;
69e8eeb0eae052 drivers/net/ethernet/korina.c Thomas Bogendoerfer 2021-04-13  
635  
69e8eeb0eae052 drivers/net/ethernet/korina.c Thomas Bogendoerfer 2021-04-13  
636                ca = dma_map_single(lp->dmadev, skb_new->data, KORINA_RBSIZE,
69e8eeb0eae052 drivers/net/ethernet/korina.c Thomas Bogendoerfer 2021-04-13  
637                                    DMA_FROM_DEVICE);
69e8eeb0eae052 drivers/net/ethernet/korina.c Thomas Bogendoerfer 2021-04-13  
638                if (dma_mapping_error(lp->dmadev, ca)) {
69e8eeb0eae052 drivers/net/ethernet/korina.c Thomas Bogendoerfer 2021-04-13  
639                        dev_kfree_skb_any(skb_new);
69e8eeb0eae052 drivers/net/ethernet/korina.c Thomas Bogendoerfer 2021-04-13  
640                        break;
69e8eeb0eae052 drivers/net/ethernet/korina.c Thomas Bogendoerfer 2021-04-13  
641                }
69e8eeb0eae052 drivers/net/ethernet/korina.c Thomas Bogendoerfer 2021-04-13  
642  
69e8eeb0eae052 drivers/net/ethernet/korina.c Thomas Bogendoerfer 2021-04-13  
643                pkt_len = RCVPKT_LENGTH(devcs);
69e8eeb0eae052 drivers/net/ethernet/korina.c Thomas Bogendoerfer 2021-04-13  
644                dma_unmap_single(lp->dmadev, rd->ca, pkt_len, 
DMA_FROM_DEVICE);
69e8eeb0eae052 drivers/net/ethernet/korina.c Thomas Bogendoerfer 2021-04-13  
645  
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
646                /* Do not count the CRC */
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
647                skb_put(skb, pkt_len - 4);
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
648                skb->protocol = eth_type_trans(skb, dev);
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
649  
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
650                /* Pass the packet to upper layers */
247c78f2bed0c4 drivers/net/ethernet/korina.c Roman Yeryomin      2017-09-17  
651                napi_gro_receive(&lp->napi, skb);
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
652                dev->stats.rx_packets++;
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
653                dev->stats.rx_bytes += pkt_len;
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
654  
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
655                /* Update the mcast stats */
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
656                if (devcs & ETH_RX_MP)
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
657                        dev->stats.multicast++;
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
658  
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
659                lp->rx_skb[lp->rx_next_done] = skb_new;
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
660  
364a97f5d1ae31 drivers/net/ethernet/korina.c Roman Yeryomin      2017-09-17  
661  next:
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
662                rd->devcs = 0;
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
663  
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
664                /* Restore descriptor's curr_addr */
69e8eeb0eae052 drivers/net/ethernet/korina.c Thomas Bogendoerfer 2021-04-13  
665                rd->ca = ca;
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
666  
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
667                rd->control = DMA_COUNT(KORINA_RBSIZE) |
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
668                        DMA_DESC_COD | DMA_DESC_IOD;
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
669                lp->rd_ring[(lp->rx_next_done - 1) &
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
670                        KORINA_RDS_MASK].control &=
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
671                        ~DMA_DESC_COD;
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
672  
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
673                lp->rx_next_done = (lp->rx_next_done + 1) & KORINA_RDS_MASK;
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
674                rd = &lp->rd_ring[lp->rx_next_done];
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19 
@675                writel(~DMA_STAT_DONE, &lp->rx_dma_regs->dmas);
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
676        }
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
677  
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
678        dmas = readl(&lp->rx_dma_regs->dmas);
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
679  
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
680        if (dmas & DMA_STAT_HALT) {
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
681                writel(~(DMA_STAT_HALT | DMA_STAT_ERR),
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
682                                &lp->rx_dma_regs->dmas);
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
683  
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
684                lp->dma_halt_cnt++;
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
685                rd->devcs = 0;
69e8eeb0eae052 drivers/net/ethernet/korina.c Thomas Bogendoerfer 2021-04-13  
686                writel(korina_rx_dma(lp, rd - lp->rd_ring),
69e8eeb0eae052 drivers/net/ethernet/korina.c Thomas Bogendoerfer 2021-04-13  
687                       &lp->rx_dma_regs->dmandptr);
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
688        }
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
689  
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
690        return count;
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
691  }
ef11291bcd5f96 drivers/net/korina.c          Florian Fainelli    2008-03-19  
692  

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

Attachment: .config.gz
Description: application/gzip

Reply via email to