Hi Rasmus,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   f01c30de86f1047e9bae1b1b1417b0ce8dcd15b1
commit: 5a35435ef4e6e4bd2aabd6706b146b298a9cffe5 soc: fsl: qe: remove PPC32 
dependency from CONFIG_QUICC_ENGINE
config: powerpc64-randconfig-m031-20201113 (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 9.3.0

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

smatch warnings:
drivers/net/ethernet/freescale/gianfar.c:580 gfar_parse_group() warn: 
'grp->regs' not released on lines: 517.

vim +580 drivers/net/ethernet/freescale/gianfar.c

46ceb60ca80fa07 drivers/net/gianfar.c                    Sandeep Gopalpet 
2009-11-02  491  static int gfar_parse_group(struct device_node *np,
46ceb60ca80fa07 drivers/net/gianfar.c                    Sandeep Gopalpet 
2009-11-02  492                           struct gfar_private *priv, const char 
*model)
46ceb60ca80fa07 drivers/net/gianfar.c                    Sandeep Gopalpet 
2009-11-02  493  {
5fedcc14d40e355 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2013-01-29  494       struct gfar_priv_grp *grp = 
&priv->gfargrp[priv->num_grps];
ee873fda3bec7c6 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2013-01-29  495       int i;
ee873fda3bec7c6 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2013-01-29  496  
ee873fda3bec7c6 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2013-01-29  497       for (i = 0; i < GFAR_NUM_IRQS; i++) {
ee873fda3bec7c6 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2013-01-29  498               grp->irqinfo[i] = kzalloc(sizeof(struct 
gfar_irqinfo),
ee873fda3bec7c6 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2013-01-29  499                                         GFP_KERNEL);
ee873fda3bec7c6 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2013-01-29  500               if (!grp->irqinfo[i])
ee873fda3bec7c6 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2013-01-29  501                       return -ENOMEM;
ee873fda3bec7c6 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2013-01-29  502       }
46ceb60ca80fa07 drivers/net/gianfar.c                    Sandeep Gopalpet 
2009-11-02  503  
5fedcc14d40e355 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2013-01-29  504       grp->regs = of_iomap(np, 0);
                                                                                
                            ^^^^^^^^^^^^^^^

5fedcc14d40e355 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2013-01-29  505       if (!grp->regs)
46ceb60ca80fa07 drivers/net/gianfar.c                    Sandeep Gopalpet 
2009-11-02  506               return -ENOMEM;
46ceb60ca80fa07 drivers/net/gianfar.c                    Sandeep Gopalpet 
2009-11-02  507  
ee873fda3bec7c6 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2013-01-29  508       gfar_irq(grp, TX)->irq = irq_of_parse_and_map(np, 0);
46ceb60ca80fa07 drivers/net/gianfar.c                    Sandeep Gopalpet 
2009-11-02  509  
46ceb60ca80fa07 drivers/net/gianfar.c                    Sandeep Gopalpet 
2009-11-02  510       /* If we aren't the FEC we have multiple interrupts */
46ceb60ca80fa07 drivers/net/gianfar.c                    Sandeep Gopalpet 
2009-11-02  511       if (model && strcasecmp(model, "FEC")) {
ee873fda3bec7c6 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2013-01-29  512               gfar_irq(grp, RX)->irq = irq_of_parse_and_map(np, 
1);
ee873fda3bec7c6 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2013-01-29  513               gfar_irq(grp, ER)->irq = irq_of_parse_and_map(np, 
2);
fea0f6650979a4f drivers/net/ethernet/freescale/gianfar.c Mark Brown       
2015-11-26  514               if (!gfar_irq(grp, TX)->irq ||
fea0f6650979a4f drivers/net/ethernet/freescale/gianfar.c Mark Brown       
2015-11-26  515                   !gfar_irq(grp, RX)->irq ||
fea0f6650979a4f drivers/net/ethernet/freescale/gianfar.c Mark Brown       
2015-11-26  516                   !gfar_irq(grp, ER)->irq)
46ceb60ca80fa07 drivers/net/gianfar.c                    Sandeep Gopalpet 
2009-11-02  517                       return -EINVAL;

This should unmap "grp->regs".

46ceb60ca80fa07 drivers/net/gianfar.c                    Sandeep Gopalpet 
2009-11-02  518       }
46ceb60ca80fa07 drivers/net/gianfar.c                    Sandeep Gopalpet 
2009-11-02  519  
5fedcc14d40e355 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2013-01-29  520       grp->priv = priv;
5fedcc14d40e355 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2013-01-29  521       spin_lock_init(&grp->grplock);
46ceb60ca80fa07 drivers/net/gianfar.c                    Sandeep Gopalpet 
2009-11-02  522       if (priv->mode == MQ_MG_MODE) {
559176415cc663f drivers/net/ethernet/freescale/gianfar.c Jingchang Lu     
2015-03-13  523               u32 rxq_mask, txq_mask;
559176415cc663f drivers/net/ethernet/freescale/gianfar.c Jingchang Lu     
2015-03-13  524               int ret;
71ff9e3df7e1c5d drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-03-07  525  
71ff9e3df7e1c5d drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-03-07  526               grp->rx_bit_map = (DEFAULT_MAPPING >> 
priv->num_grps);
71ff9e3df7e1c5d drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-03-07  527               grp->tx_bit_map = (DEFAULT_MAPPING >> 
priv->num_grps);
559176415cc663f drivers/net/ethernet/freescale/gianfar.c Jingchang Lu     
2015-03-13  528  
559176415cc663f drivers/net/ethernet/freescale/gianfar.c Jingchang Lu     
2015-03-13  529               ret = of_property_read_u32(np, "fsl,rx-bit-map", 
&rxq_mask);
559176415cc663f drivers/net/ethernet/freescale/gianfar.c Jingchang Lu     
2015-03-13  530               if (!ret) {
71ff9e3df7e1c5d drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-03-07  531                       grp->rx_bit_map = rxq_mask ?
559176415cc663f drivers/net/ethernet/freescale/gianfar.c Jingchang Lu     
2015-03-13  532                       rxq_mask : (DEFAULT_MAPPING >> 
priv->num_grps);
559176415cc663f drivers/net/ethernet/freescale/gianfar.c Jingchang Lu     
2015-03-13  533               }
559176415cc663f drivers/net/ethernet/freescale/gianfar.c Jingchang Lu     
2015-03-13  534  
559176415cc663f drivers/net/ethernet/freescale/gianfar.c Jingchang Lu     
2015-03-13  535               ret = of_property_read_u32(np, "fsl,tx-bit-map", 
&txq_mask);
559176415cc663f drivers/net/ethernet/freescale/gianfar.c Jingchang Lu     
2015-03-13  536               if (!ret) {
71ff9e3df7e1c5d drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-03-07  537                       grp->tx_bit_map = txq_mask ?
559176415cc663f drivers/net/ethernet/freescale/gianfar.c Jingchang Lu     
2015-03-13  538                       txq_mask : (DEFAULT_MAPPING >> 
priv->num_grps);
559176415cc663f drivers/net/ethernet/freescale/gianfar.c Jingchang Lu     
2015-03-13  539               }
559176415cc663f drivers/net/ethernet/freescale/gianfar.c Jingchang Lu     
2015-03-13  540  
559176415cc663f drivers/net/ethernet/freescale/gianfar.c Jingchang Lu     
2015-03-13  541               if (priv->poll_mode == GFAR_SQ_POLLING) {
559176415cc663f drivers/net/ethernet/freescale/gianfar.c Jingchang Lu     
2015-03-13  542                       /* One Q per interrupt group: Q0 to G0, 
Q1 to G1 */
559176415cc663f drivers/net/ethernet/freescale/gianfar.c Jingchang Lu     
2015-03-13  543                       grp->rx_bit_map = (DEFAULT_MAPPING >> 
priv->num_grps);
559176415cc663f drivers/net/ethernet/freescale/gianfar.c Jingchang Lu     
2015-03-13  544                       grp->tx_bit_map = (DEFAULT_MAPPING >> 
priv->num_grps);
71ff9e3df7e1c5d drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-03-07  545               }
46ceb60ca80fa07 drivers/net/gianfar.c                    Sandeep Gopalpet 
2009-11-02  546       } else {
5fedcc14d40e355 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2013-01-29  547               grp->rx_bit_map = 0xFF;
5fedcc14d40e355 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2013-01-29  548               grp->tx_bit_map = 0xFF;
46ceb60ca80fa07 drivers/net/gianfar.c                    Sandeep Gopalpet 
2009-11-02  549       }
208627883ecfaa1 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-02-17  550  
208627883ecfaa1 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-02-17  551       /* bit_map's MSB is q0 (from q0 to q7) but, 
for_each_set_bit parses
208627883ecfaa1 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-02-17  552        * right to left, so we need to revert the 8 bits to get 
the q index
208627883ecfaa1 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-02-17  553        */
208627883ecfaa1 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-02-17  554       grp->rx_bit_map = bitrev8(grp->rx_bit_map);
208627883ecfaa1 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-02-17  555       grp->tx_bit_map = bitrev8(grp->tx_bit_map);
208627883ecfaa1 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-02-17  556  
208627883ecfaa1 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-02-17  557       /* Calculate RSTAT, TSTAT, RQUEUE and TQUEUE values,
208627883ecfaa1 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-02-17  558        * also assign queues to groups
208627883ecfaa1 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-02-17  559        */
208627883ecfaa1 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-02-17  560       for_each_set_bit(i, &grp->rx_bit_map, 
priv->num_rx_queues) {
71ff9e3df7e1c5d drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-03-07  561               if (!grp->rx_queue)
71ff9e3df7e1c5d drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-03-07  562                       grp->rx_queue = priv->rx_queue[i];
208627883ecfaa1 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-02-17  563               grp->num_rx_queues++;
208627883ecfaa1 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-02-17  564               grp->rstat |= (RSTAT_CLEAR_RHALT >> i);
208627883ecfaa1 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-02-17  565               priv->rqueue |= ((RQUEUE_EN0 | RQUEUE_EX0) >> i);
208627883ecfaa1 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-02-17  566               priv->rx_queue[i]->grp = grp;
208627883ecfaa1 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-02-17  567       }
208627883ecfaa1 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-02-17  568  
208627883ecfaa1 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-02-17  569       for_each_set_bit(i, &grp->tx_bit_map, 
priv->num_tx_queues) {
71ff9e3df7e1c5d drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-03-07  570               if (!grp->tx_queue)
71ff9e3df7e1c5d drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-03-07  571                       grp->tx_queue = priv->tx_queue[i];
208627883ecfaa1 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-02-17  572               grp->num_tx_queues++;
208627883ecfaa1 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-02-17  573               grp->tstat |= (TSTAT_CLEAR_THALT >> i);
208627883ecfaa1 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-02-17  574               priv->tqueue |= (TQUEUE_EN0 >> i);
208627883ecfaa1 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-02-17  575               priv->tx_queue[i]->grp = grp;
208627883ecfaa1 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-02-17  576       }
208627883ecfaa1 drivers/net/ethernet/freescale/gianfar.c Claudiu Manoil   
2014-02-17  577  
46ceb60ca80fa07 drivers/net/gianfar.c                    Sandeep Gopalpet 
2009-11-02  578       priv->num_grps++;
46ceb60ca80fa07 drivers/net/gianfar.c                    Sandeep Gopalpet 
2009-11-02  579  
46ceb60ca80fa07 drivers/net/gianfar.c                    Sandeep Gopalpet 
2009-11-02 @580       return 0;
46ceb60ca80fa07 drivers/net/gianfar.c                    Sandeep Gopalpet 
2009-11-02  581  }

---
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