CC: [email protected]
BCC: [email protected]
CC: Linux Memory Management List <[email protected]>
TO: Felix Fietkau <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
master
head:   5469f0c06732a077c70a759a81f2a1f00b277694
commit: 804775dfc2885e93a0a4b35db1914c2cc25172b5 [1683/7959] net: ethernet: 
mtk_eth_soc: add support for Wireless Ethernet Dispatch (WED)
:::::: branch date: 7 hours ago
:::::: commit date: 3 weeks ago
config: arm64-randconfig-c004-20220428 
(https://download.01.org/0day-ci/archive/20220429/[email protected]/config)
compiler: aarch64-linux-gcc (GCC) 11.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>
Reported-by: Julia Lawall <[email protected]>


cocci warnings: (new ones prefixed by >>)
>> drivers/net/ethernet/mediatek/mtk_wed.c:813:2-8: ERROR: missing put_device; 
>> call of_find_device_by_node on line 806, but without a corresponding object 
>> release within this function.
   drivers/net/ethernet/mediatek/mtk_wed.c:817:2-8: ERROR: missing put_device; 
call of_find_device_by_node on line 806, but without a corresponding object 
release within this function.
   drivers/net/ethernet/mediatek/mtk_wed.c:853:0-1: ERROR: missing put_device; 
call of_find_device_by_node on line 806, but without a corresponding object 
release within this function.

vim +813 drivers/net/ethernet/mediatek/mtk_wed.c

804775dfc2885e9 Felix Fietkau 2022-04-05  780  
804775dfc2885e9 Felix Fietkau 2022-04-05  781  void mtk_wed_add_hw(struct 
device_node *np, struct mtk_eth *eth,
804775dfc2885e9 Felix Fietkau 2022-04-05  782               void __iomem *wdma, 
int index)
804775dfc2885e9 Felix Fietkau 2022-04-05  783  {
804775dfc2885e9 Felix Fietkau 2022-04-05  784   static const struct mtk_wed_ops 
wed_ops = {
804775dfc2885e9 Felix Fietkau 2022-04-05  785           .attach = 
mtk_wed_attach,
804775dfc2885e9 Felix Fietkau 2022-04-05  786           .tx_ring_setup = 
mtk_wed_tx_ring_setup,
804775dfc2885e9 Felix Fietkau 2022-04-05  787           .txfree_ring_setup = 
mtk_wed_txfree_ring_setup,
804775dfc2885e9 Felix Fietkau 2022-04-05  788           .start = mtk_wed_start,
804775dfc2885e9 Felix Fietkau 2022-04-05  789           .stop = mtk_wed_stop,
804775dfc2885e9 Felix Fietkau 2022-04-05  790           .reset_dma = 
mtk_wed_reset_dma,
804775dfc2885e9 Felix Fietkau 2022-04-05  791           .reg_read = wed_r32,
804775dfc2885e9 Felix Fietkau 2022-04-05  792           .reg_write = wed_w32,
804775dfc2885e9 Felix Fietkau 2022-04-05  793           .irq_get = 
mtk_wed_irq_get,
804775dfc2885e9 Felix Fietkau 2022-04-05  794           .irq_set_mask = 
mtk_wed_irq_set_mask,
804775dfc2885e9 Felix Fietkau 2022-04-05  795           .detach = 
mtk_wed_detach,
804775dfc2885e9 Felix Fietkau 2022-04-05  796   };
804775dfc2885e9 Felix Fietkau 2022-04-05  797   struct device_node *eth_np = 
eth->dev->of_node;
804775dfc2885e9 Felix Fietkau 2022-04-05  798   struct platform_device *pdev;
804775dfc2885e9 Felix Fietkau 2022-04-05  799   struct mtk_wed_hw *hw;
804775dfc2885e9 Felix Fietkau 2022-04-05  800   struct regmap *regs;
804775dfc2885e9 Felix Fietkau 2022-04-05  801   int irq;
804775dfc2885e9 Felix Fietkau 2022-04-05  802  
804775dfc2885e9 Felix Fietkau 2022-04-05  803   if (!np)
804775dfc2885e9 Felix Fietkau 2022-04-05  804           return;
804775dfc2885e9 Felix Fietkau 2022-04-05  805  
804775dfc2885e9 Felix Fietkau 2022-04-05 @806   pdev = 
of_find_device_by_node(np);
804775dfc2885e9 Felix Fietkau 2022-04-05  807   if (!pdev)
804775dfc2885e9 Felix Fietkau 2022-04-05  808           return;
804775dfc2885e9 Felix Fietkau 2022-04-05  809  
804775dfc2885e9 Felix Fietkau 2022-04-05  810   get_device(&pdev->dev);
804775dfc2885e9 Felix Fietkau 2022-04-05  811   irq = platform_get_irq(pdev, 0);
804775dfc2885e9 Felix Fietkau 2022-04-05  812   if (irq < 0)
804775dfc2885e9 Felix Fietkau 2022-04-05 @813           return;
804775dfc2885e9 Felix Fietkau 2022-04-05  814  
804775dfc2885e9 Felix Fietkau 2022-04-05  815   regs = 
syscon_regmap_lookup_by_phandle(np, NULL);
804775dfc2885e9 Felix Fietkau 2022-04-05  816   if (!regs)
804775dfc2885e9 Felix Fietkau 2022-04-05  817           return;
804775dfc2885e9 Felix Fietkau 2022-04-05  818  
804775dfc2885e9 Felix Fietkau 2022-04-05  819   
rcu_assign_pointer(mtk_soc_wed_ops, &wed_ops);
804775dfc2885e9 Felix Fietkau 2022-04-05  820  
804775dfc2885e9 Felix Fietkau 2022-04-05  821   mutex_lock(&hw_lock);
804775dfc2885e9 Felix Fietkau 2022-04-05  822  
804775dfc2885e9 Felix Fietkau 2022-04-05  823   if (WARN_ON(hw_list[index]))
804775dfc2885e9 Felix Fietkau 2022-04-05  824           goto unlock;
804775dfc2885e9 Felix Fietkau 2022-04-05  825  
804775dfc2885e9 Felix Fietkau 2022-04-05  826   hw = kzalloc(sizeof(*hw), 
GFP_KERNEL);
804775dfc2885e9 Felix Fietkau 2022-04-05  827   hw->node = np;
804775dfc2885e9 Felix Fietkau 2022-04-05  828   hw->regs = regs;
804775dfc2885e9 Felix Fietkau 2022-04-05  829   hw->eth = eth;
804775dfc2885e9 Felix Fietkau 2022-04-05  830   hw->dev = &pdev->dev;
804775dfc2885e9 Felix Fietkau 2022-04-05  831   hw->wdma = wdma;
804775dfc2885e9 Felix Fietkau 2022-04-05  832   hw->index = index;
804775dfc2885e9 Felix Fietkau 2022-04-05  833   hw->irq = irq;
804775dfc2885e9 Felix Fietkau 2022-04-05  834   hw->mirror = 
syscon_regmap_lookup_by_phandle(eth_np,
804775dfc2885e9 Felix Fietkau 2022-04-05  835                                   
             "mediatek,pcie-mirror");
804775dfc2885e9 Felix Fietkau 2022-04-05  836   hw->hifsys = 
syscon_regmap_lookup_by_phandle(eth_np,
804775dfc2885e9 Felix Fietkau 2022-04-05  837                                   
             "mediatek,hifsys");
804775dfc2885e9 Felix Fietkau 2022-04-05  838   if (IS_ERR(hw->mirror) || 
IS_ERR(hw->hifsys)) {
804775dfc2885e9 Felix Fietkau 2022-04-05  839           kfree(hw);
804775dfc2885e9 Felix Fietkau 2022-04-05  840           goto unlock;
804775dfc2885e9 Felix Fietkau 2022-04-05  841   }
804775dfc2885e9 Felix Fietkau 2022-04-05  842  
804775dfc2885e9 Felix Fietkau 2022-04-05  843   if (!index) {
804775dfc2885e9 Felix Fietkau 2022-04-05  844           
regmap_write(hw->mirror, 0, 0);
804775dfc2885e9 Felix Fietkau 2022-04-05  845           
regmap_write(hw->mirror, 4, 0);
804775dfc2885e9 Felix Fietkau 2022-04-05  846   }
804775dfc2885e9 Felix Fietkau 2022-04-05  847   mtk_wed_hw_add_debugfs(hw);
804775dfc2885e9 Felix Fietkau 2022-04-05  848  
804775dfc2885e9 Felix Fietkau 2022-04-05  849   hw_list[index] = hw;
804775dfc2885e9 Felix Fietkau 2022-04-05  850  
804775dfc2885e9 Felix Fietkau 2022-04-05  851  unlock:
804775dfc2885e9 Felix Fietkau 2022-04-05  852   mutex_unlock(&hw_lock);
804775dfc2885e9 Felix Fietkau 2022-04-05  853  }
804775dfc2885e9 Felix Fietkau 2022-04-05  854  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to