Hi Yuusuke, Thank you for the patch! Yet something to improve: [auto build test ERROR on ipvs/master] [also build test ERROR on linus/master v5.8-rc7 next-20200729] [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/Yuusuke-Ashizuka/ravb-Fixed-the-problem-that-rmmod-can-not-be-done/20200730-120910 base: https://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs.git master config: xtensa-allyesconfig (attached as .config) compiler: xtensa-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 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=xtensa If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from include/linux/err.h:5, from include/linux/clk.h:12, from drivers/net/ethernet/renesas/ravb_main.c:12: include/linux/scatterlist.h: In function 'sg_set_buf': arch/xtensa/include/asm/page.h:193:9: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits] 193 | ((pfn) >= ARCH_PFN_OFFSET && ((pfn) - ARCH_PFN_OFFSET) < max_mapnr) | ^~ include/linux/compiler.h:78:42: note: in definition of macro 'unlikely' 78 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON' 143 | BUG_ON(!virt_addr_valid(buf)); | ^~~~~~ arch/xtensa/include/asm/page.h:201:32: note: in expansion of macro 'pfn_valid' 201 | #define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT) | ^~~~~~~~~ include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid' 143 | BUG_ON(!virt_addr_valid(buf)); | ^~~~~~~~~~~~~~~ In file included from ./arch/xtensa/include/generated/asm/bug.h:1, from include/linux/bug.h:5, from include/linux/thread_info.h:12, from arch/xtensa/include/asm/current.h:18, from include/linux/mutex.h:14, from include/linux/notifier.h:14, from include/linux/clk.h:14, from drivers/net/ethernet/renesas/ravb_main.c:12: include/linux/dma-mapping.h: In function 'dma_map_resource': arch/xtensa/include/asm/page.h:193:9: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits] 193 | ((pfn) >= ARCH_PFN_OFFSET && ((pfn) - ARCH_PFN_OFFSET) < max_mapnr) | ^~ include/asm-generic/bug.h:144:27: note: in definition of macro 'WARN_ON_ONCE' 144 | int __ret_warn_once = !!(condition); \ | ^~~~~~~~~ include/linux/dma-mapping.h:352:19: note: in expansion of macro 'pfn_valid' 352 | if (WARN_ON_ONCE(pfn_valid(PHYS_PFN(phys_addr)))) | ^~~~~~~~~ drivers/net/ethernet/renesas/ravb_main.c: In function 'ravb_open': >> drivers/net/ethernet/renesas/ravb_main.c:1470:2: error: implicit declaration of function 'ravb_mdio_release' [-Werror=implicit-function-declaration] 1470 | ravb_mdio_release(priv); | ^~~~~~~~~~~~~~~~~ drivers/net/ethernet/renesas/ravb_main.c: At top level: >> drivers/net/ethernet/renesas/ravb_main.c:1705:12: error: static declaration of 'ravb_mdio_release' follows non-static declaration 1705 | static int ravb_mdio_release(struct ravb_private *priv) | ^~~~~~~~~~~~~~~~~ drivers/net/ethernet/renesas/ravb_main.c:1470:2: note: previous implicit declaration of 'ravb_mdio_release' was here 1470 | ravb_mdio_release(priv); | ^~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/ravb_mdio_release +1470 drivers/net/ethernet/renesas/ravb_main.c 1377 1378 /* Network device open function for Ethernet AVB */ 1379 static int ravb_open(struct net_device *ndev) 1380 { 1381 struct ravb_private *priv = netdev_priv(ndev); 1382 struct platform_device *pdev = priv->pdev; 1383 struct device *dev = &pdev->dev; 1384 int error; 1385 1386 /* MDIO bus init */ 1387 error = ravb_mdio_init(priv); 1388 if (error) { 1389 netdev_err(ndev, "failed to initialize MDIO\n"); 1390 return error; 1391 } 1392 1393 napi_enable(&priv->napi[RAVB_BE]); 1394 napi_enable(&priv->napi[RAVB_NC]); 1395 1396 if (priv->chip_id == RCAR_GEN2) { 1397 error = request_irq(ndev->irq, ravb_interrupt, IRQF_SHARED, 1398 ndev->name, ndev); 1399 if (error) { 1400 netdev_err(ndev, "cannot request IRQ\n"); 1401 goto out_napi_off; 1402 } 1403 } else { 1404 error = ravb_hook_irq(ndev->irq, ravb_multi_interrupt, ndev, 1405 dev, "ch22:multi"); 1406 if (error) 1407 goto out_napi_off; 1408 error = ravb_hook_irq(priv->emac_irq, ravb_emac_interrupt, ndev, 1409 dev, "ch24:emac"); 1410 if (error) 1411 goto out_free_irq; 1412 error = ravb_hook_irq(priv->rx_irqs[RAVB_BE], ravb_be_interrupt, 1413 ndev, dev, "ch0:rx_be"); 1414 if (error) 1415 goto out_free_irq_emac; 1416 error = ravb_hook_irq(priv->tx_irqs[RAVB_BE], ravb_be_interrupt, 1417 ndev, dev, "ch18:tx_be"); 1418 if (error) 1419 goto out_free_irq_be_rx; 1420 error = ravb_hook_irq(priv->rx_irqs[RAVB_NC], ravb_nc_interrupt, 1421 ndev, dev, "ch1:rx_nc"); 1422 if (error) 1423 goto out_free_irq_be_tx; 1424 error = ravb_hook_irq(priv->tx_irqs[RAVB_NC], ravb_nc_interrupt, 1425 ndev, dev, "ch19:tx_nc"); 1426 if (error) 1427 goto out_free_irq_nc_rx; 1428 } 1429 1430 /* Device init */ 1431 error = ravb_dmac_init(ndev); 1432 if (error) 1433 goto out_free_irq_nc_tx; 1434 ravb_emac_init(ndev); 1435 1436 /* Initialise PTP Clock driver */ 1437 if (priv->chip_id == RCAR_GEN2) 1438 ravb_ptp_init(ndev, priv->pdev); 1439 1440 netif_tx_start_all_queues(ndev); 1441 1442 /* PHY control start */ 1443 error = ravb_phy_start(ndev); 1444 if (error) 1445 goto out_ptp_stop; 1446 1447 return 0; 1448 1449 out_ptp_stop: 1450 /* Stop PTP Clock driver */ 1451 if (priv->chip_id == RCAR_GEN2) 1452 ravb_ptp_stop(ndev); 1453 out_free_irq_nc_tx: 1454 if (priv->chip_id == RCAR_GEN2) 1455 goto out_free_irq; 1456 free_irq(priv->tx_irqs[RAVB_NC], ndev); 1457 out_free_irq_nc_rx: 1458 free_irq(priv->rx_irqs[RAVB_NC], ndev); 1459 out_free_irq_be_tx: 1460 free_irq(priv->tx_irqs[RAVB_BE], ndev); 1461 out_free_irq_be_rx: 1462 free_irq(priv->rx_irqs[RAVB_BE], ndev); 1463 out_free_irq_emac: 1464 free_irq(priv->emac_irq, ndev); 1465 out_free_irq: 1466 free_irq(ndev->irq, ndev); 1467 out_napi_off: 1468 napi_disable(&priv->napi[RAVB_NC]); 1469 napi_disable(&priv->napi[RAVB_BE]); > 1470 ravb_mdio_release(priv); 1471 return error; 1472 } 1473 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org