[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202005161527.HCVY67l4%lkp@intel.com>
Date: Sat, 16 May 2020 16:01:41 +0800
From: kbuild test robot <lkp@...el.com>
To: Vasundhara Volam <vasundhara-v.volam@...adcom.com>, jeyu@...nel.org
Cc: kbuild-all@...ts.01.org, davem@...emloft.net,
netdev@...r.kernel.org,
Vasundhara Volam <vasundhara-v.volam@...adcom.com>,
Michael Chan <michael.chan@...adcom.com>,
Luis Chamberlain <mcgrof@...nel.org>
Subject: Re: [PATCH] bnxt_en: use new module_firmware_crashed()
Hi Vasundhara,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on sparc-next/master]
[also build test ERROR on linus/master v5.7-rc5 next-20200515]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Vasundhara-Volam/bnxt_en-use-new-module_firmware_crashed/20200516-135339
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next.git master
config: s390-allyesconfig (attached as .config)
compiler: s390-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
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@...el.com>
All errors (new ones prefixed by >>, old ones prefixed by <<):
drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_async_event_process':
>> drivers/net/ethernet/broadcom/bnxt/bnxt.c:2012:4: error: implicit declaration of function 'module_firmware_crashed' [-Werror=implicit-function-declaration]
2012 | module_firmware_crashed();
| ^~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/module_firmware_crashed +2012 drivers/net/ethernet/broadcom/bnxt/bnxt.c
1938
1939 #define BNXT_GET_EVENT_PORT(data) \
1940 ((data) & \
1941 ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_PORT_ID_MASK)
1942
1943 static int bnxt_async_event_process(struct bnxt *bp,
1944 struct hwrm_async_event_cmpl *cmpl)
1945 {
1946 u16 event_id = le16_to_cpu(cmpl->event_id);
1947
1948 /* TODO CHIMP_FW: Define event id's for link change, error etc */
1949 switch (event_id) {
1950 case ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CFG_CHANGE: {
1951 u32 data1 = le32_to_cpu(cmpl->event_data1);
1952 struct bnxt_link_info *link_info = &bp->link_info;
1953
1954 if (BNXT_VF(bp))
1955 goto async_event_process_exit;
1956
1957 /* print unsupported speed warning in forced speed mode only */
1958 if (!(link_info->autoneg & BNXT_AUTONEG_SPEED) &&
1959 (data1 & 0x20000)) {
1960 u16 fw_speed = link_info->force_link_speed;
1961 u32 speed = bnxt_fw_to_ethtool_speed(fw_speed);
1962
1963 if (speed != SPEED_UNKNOWN)
1964 netdev_warn(bp->dev, "Link speed %d no longer supported\n",
1965 speed);
1966 }
1967 set_bit(BNXT_LINK_SPEED_CHNG_SP_EVENT, &bp->sp_event);
1968 }
1969 /* fall through */
1970 case ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CHANGE:
1971 case ASYNC_EVENT_CMPL_EVENT_ID_PORT_PHY_CFG_CHANGE:
1972 set_bit(BNXT_LINK_CFG_CHANGE_SP_EVENT, &bp->sp_event);
1973 /* fall through */
1974 case ASYNC_EVENT_CMPL_EVENT_ID_LINK_STATUS_CHANGE:
1975 set_bit(BNXT_LINK_CHNG_SP_EVENT, &bp->sp_event);
1976 break;
1977 case ASYNC_EVENT_CMPL_EVENT_ID_PF_DRVR_UNLOAD:
1978 set_bit(BNXT_HWRM_PF_UNLOAD_SP_EVENT, &bp->sp_event);
1979 break;
1980 case ASYNC_EVENT_CMPL_EVENT_ID_PORT_CONN_NOT_ALLOWED: {
1981 u32 data1 = le32_to_cpu(cmpl->event_data1);
1982 u16 port_id = BNXT_GET_EVENT_PORT(data1);
1983
1984 if (BNXT_VF(bp))
1985 break;
1986
1987 if (bp->pf.port_id != port_id)
1988 break;
1989
1990 set_bit(BNXT_HWRM_PORT_MODULE_SP_EVENT, &bp->sp_event);
1991 break;
1992 }
1993 case ASYNC_EVENT_CMPL_EVENT_ID_VF_CFG_CHANGE:
1994 if (BNXT_PF(bp))
1995 goto async_event_process_exit;
1996 set_bit(BNXT_RESET_TASK_SILENT_SP_EVENT, &bp->sp_event);
1997 break;
1998 case ASYNC_EVENT_CMPL_EVENT_ID_RESET_NOTIFY: {
1999 u32 data1 = le32_to_cpu(cmpl->event_data1);
2000
2001 if (!bp->fw_health)
2002 goto async_event_process_exit;
2003
2004 bp->fw_reset_timestamp = jiffies;
2005 bp->fw_reset_min_dsecs = cmpl->timestamp_lo;
2006 if (!bp->fw_reset_min_dsecs)
2007 bp->fw_reset_min_dsecs = BNXT_DFLT_FW_RST_MIN_DSECS;
2008 bp->fw_reset_max_dsecs = le16_to_cpu(cmpl->timestamp_hi);
2009 if (!bp->fw_reset_max_dsecs)
2010 bp->fw_reset_max_dsecs = BNXT_DFLT_FW_RST_MAX_DSECS;
2011 if (EVENT_DATA1_RESET_NOTIFY_FATAL(data1)) {
> 2012 module_firmware_crashed();
2013 netdev_warn(bp->dev, "Firmware fatal reset event received\n");
2014 set_bit(BNXT_STATE_FW_FATAL_COND, &bp->state);
2015 } else {
2016 netdev_warn(bp->dev, "Firmware non-fatal reset event received, max wait time %d msec\n",
2017 bp->fw_reset_max_dsecs * 100);
2018 }
2019 set_bit(BNXT_FW_RESET_NOTIFY_SP_EVENT, &bp->sp_event);
2020 break;
2021 }
2022 case ASYNC_EVENT_CMPL_EVENT_ID_ERROR_RECOVERY: {
2023 struct bnxt_fw_health *fw_health = bp->fw_health;
2024 u32 data1 = le32_to_cpu(cmpl->event_data1);
2025
2026 if (!fw_health)
2027 goto async_event_process_exit;
2028
2029 fw_health->enabled = EVENT_DATA1_RECOVERY_ENABLED(data1);
2030 fw_health->master = EVENT_DATA1_RECOVERY_MASTER_FUNC(data1);
2031 if (!fw_health->enabled)
2032 break;
2033
2034 if (netif_msg_drv(bp))
2035 netdev_info(bp->dev, "Error recovery info: error recovery[%d], master[%d], reset count[0x%x], health status: 0x%x\n",
2036 fw_health->enabled, fw_health->master,
2037 bnxt_fw_health_readl(bp,
2038 BNXT_FW_RESET_CNT_REG),
2039 bnxt_fw_health_readl(bp,
2040 BNXT_FW_HEALTH_REG));
2041 fw_health->tmr_multiplier =
2042 DIV_ROUND_UP(fw_health->polling_dsecs * HZ,
2043 bp->current_interval * 10);
2044 fw_health->tmr_counter = fw_health->tmr_multiplier;
2045 fw_health->last_fw_heartbeat =
2046 bnxt_fw_health_readl(bp, BNXT_FW_HEARTBEAT_REG);
2047 fw_health->last_fw_reset_cnt =
2048 bnxt_fw_health_readl(bp, BNXT_FW_RESET_CNT_REG);
2049 goto async_event_process_exit;
2050 }
2051 default:
2052 goto async_event_process_exit;
2053 }
2054 bnxt_queue_sp_work(bp);
2055 async_event_process_exit:
2056 bnxt_ulp_async_events(bp, cmpl);
2057 return 0;
2058 }
2059
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Download attachment ".config.gz" of type "application/gzip" (59287 bytes)
Powered by blists - more mailing lists