Subject: Re: [PATCH net-next] bnxt_en: replace PTP spinlock with seqlock

From: kernel test robot <[email-masked]>
Date: Fri, 18 Oct 2024 20:21:56 +0800

Hi Vadim,

kernel test robot noticed the following build errors:

[auto build test ERROR on net-next/main]

url:    https://github.com/intel-lab-lkp/linux/commits/Vadim-Fedorenko/bnxt_en-replace-PTP-spinlock-with-seqlock/20241015-073207
base:   net-next/main
patch link:    https://lore.kernel.org/r/20241014232947.4059941-1-vadfed%40meta.com
patch subject: [PATCH net-next] bnxt_en: replace PTP spinlock with seqlock
config: i386-allmodconfig (https://download.01.org/0day-ci/archive/20241018/[email-masked]/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241018/[email-masked]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email-masked]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email-masked]/

All error/warnings (new ones prefixed by >>):

   drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_force_fw_reset':
>> drivers/net/ethernet/broadcom/bnxt/bnxt.c:13488:30: warning: unused variable 'ptp' [-Wunused-variable]
   13488 |         struct bnxt_ptp_cfg *ptp = bp->ptp_cfg;
         |                              ^~~
   drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_fw_reset':
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:13555:38: warning: unused variable 'ptp' [-Wunused-variable]
   13555 |                 struct bnxt_ptp_cfg *ptp = bp->ptp_cfg;
         |                                      ^~~
--
   In file included from drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c:21:
   drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c: In function 'bnxt_get_rx_ts_p5':
>> drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.h:155:52: error: expected ')' before ';' token
     155 |         while (read_seqretry(&(ptp)->ptp_lock, seq);    \
         |               ~                                    ^
   drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c:802:9: note: in expansion of macro 'BNXT_READ_TIME64'
     802 |         BNXT_READ_TIME64(ptp, time, ptp->old_time);
         |         ^~~~~~~~~~~~~~~~
>> drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.h:156:1: error: expected expression before '}' token
     156 | } while (0)
         | ^
   drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c:802:9: note: in expansion of macro 'BNXT_READ_TIME64'
     802 |         BNXT_READ_TIME64(ptp, time, ptp->old_time);
         |         ^~~~~~~~~~~~~~~~
>> drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c:810:1: error: expected 'while' before 'void'
     810 | void bnxt_tx_ts_cmp(struct bnxt *bp, struct bnxt_napi *bnapi,
         | ^~~~
>> drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c:857:12: error: invalid storage class for function 'bnxt_ptp_verify'
     857 | static int bnxt_ptp_verify(struct ptp_clock_info *ptp_info, unsigned int pin,
         |            ^~~~~~~~~~~~~~~
>> drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c:870:12: error: invalid storage class for function 'bnxt_ptp_pps_init'
     870 | static int bnxt_ptp_pps_init(struct bnxt *bp)
         |            ^~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c:931:13: error: invalid storage class for function 'bnxt_pps_config_ok'
     931 | static bool bnxt_pps_config_ok(struct bnxt *bp)
         |             ^~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c:938:13: error: invalid storage class for function 'bnxt_ptp_timecounter_init'
     938 | static void bnxt_ptp_timecounter_init(struct bnxt *bp, bool init_tc)
         |             ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c:998:13: error: invalid storage class for function 'bnxt_ptp_free'
     998 | static void bnxt_ptp_free(struct bnxt *bp)
         |             ^~~~~~~~~~~~~
>> drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c:1100:1: error: expected declaration or statement at end of input
    1100 | }
         | ^
   drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c: At top level:
>> drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c:1077:6: warning: 'bnxt_ptp_clear' defined but not used [-Wunused-function]
    1077 | void bnxt_ptp_clear(struct bnxt *bp)
         |      ^~~~~~~~~~~~~~
>> drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c:1010:5: warning: 'bnxt_ptp_init' defined but not used [-Wunused-function]
    1010 | int bnxt_ptp_init(struct bnxt *bp, bool phc_cfg)
         |     ^~~~~~~~~~~~~

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for GET_FREE_REGION
   Depends on [n]: SPARSEMEM [=n]
   Selected by [m]:
   - RESOURCE_KUNIT_TEST [=m] && RUNTIME_TESTING_MENU [=y] && KUNIT [=m]

vim +155 drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.h

   147	
   148	#if BITS_PER_LONG == 32
   149	#define BNXT_READ_TIME64(ptp, dst, src)			\
   150	do {							\
   151		unsigned int seq;				\
   152		do {						\
   153			seq = read_seqbegin(&(ptp)->ptp_lock);	\
   154			(dst) = (src);				\
 > 155		while (read_seqretry(&(ptp)->ptp_lock, seq);	\
 > 156	} while (0)
   157	#else
   158	#define BNXT_READ_TIME64(ptp, dst, src)		\
   159		((dst) = READ_ONCE(src))
   160	#endif
   161	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki