drivers/infiniband/hw/bnxt_re/qplib_rcfw.c:68: warning: Function parameter or member 'rcfw' not described in '__wait_for_resp'
From: kernel test robot
Date: Thu Aug 17 2023 - 10:03:09 EST
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 4853c74bd7ab7fdb83f319bd9ace8a08c031e9b6
commit: 8cf1d12ad56beb73d2439ccf334b7148e71de58e RDMA/bnxt_re: Enhance the existing functions that wait for FW responses
date: 9 weeks ago
config: sparc-allyesconfig (https://download.01.org/0day-ci/archive/20230817/202308172136.ipx1wvs6-lkp@xxxxxxxxx/config)
compiler: sparc64-linux-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20230817/202308172136.ipx1wvs6-lkp@xxxxxxxxx/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 <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202308172136.ipx1wvs6-lkp@xxxxxxxxx/
All warnings (new ones prefixed by >>):
>> drivers/infiniband/hw/bnxt_re/qplib_rcfw.c:68: warning: Function parameter or member 'rcfw' not described in '__wait_for_resp'
>> drivers/infiniband/hw/bnxt_re/qplib_rcfw.c:68: warning: Function parameter or member 'cookie' not described in '__wait_for_resp'
>> drivers/infiniband/hw/bnxt_re/qplib_rcfw.c:106: warning: Function parameter or member 'rcfw' not described in '__block_for_resp'
>> drivers/infiniband/hw/bnxt_re/qplib_rcfw.c:106: warning: Function parameter or member 'cookie' not described in '__block_for_resp'
vim +68 drivers/infiniband/hw/bnxt_re/qplib_rcfw.c
1ac5a404797523 Selvin Xavier 2017-02-10 55
8cf1d12ad56beb Kashyap Desai 2023-06-09 56 /**
8cf1d12ad56beb Kashyap Desai 2023-06-09 57 * __wait_for_resp - Don't hold the cpu context and wait for response
8cf1d12ad56beb Kashyap Desai 2023-06-09 58 * @rcfw - rcfw channel instance of rdev
8cf1d12ad56beb Kashyap Desai 2023-06-09 59 * @cookie - cookie to track the command
8cf1d12ad56beb Kashyap Desai 2023-06-09 60 *
8cf1d12ad56beb Kashyap Desai 2023-06-09 61 * Wait for command completion in sleepable context.
8cf1d12ad56beb Kashyap Desai 2023-06-09 62 *
8cf1d12ad56beb Kashyap Desai 2023-06-09 63 * Returns:
8cf1d12ad56beb Kashyap Desai 2023-06-09 64 * 0 if command is completed by firmware.
8cf1d12ad56beb Kashyap Desai 2023-06-09 65 * Non zero error code for rest of the case.
8cf1d12ad56beb Kashyap Desai 2023-06-09 66 */
cc1ec769b87c7d Devesh Sharma 2017-05-22 67 static int __wait_for_resp(struct bnxt_qplib_rcfw *rcfw, u16 cookie)
1ac5a404797523 Selvin Xavier 2017-02-10 @68 {
cee0c7bba48691 Devesh Sharma 2020-02-15 69 struct bnxt_qplib_cmdq_ctx *cmdq;
1ac5a404797523 Selvin Xavier 2017-02-10 70 u16 cbit;
8cf1d12ad56beb Kashyap Desai 2023-06-09 71 int ret;
1ac5a404797523 Selvin Xavier 2017-02-10 72
cee0c7bba48691 Devesh Sharma 2020-02-15 73 cmdq = &rcfw->cmdq;
bd1c24ccf9eb07 Devesh Sharma 2018-12-12 74 cbit = cookie % rcfw->cmdq_depth;
8cf1d12ad56beb Kashyap Desai 2023-06-09 75
8cf1d12ad56beb Kashyap Desai 2023-06-09 76 do {
8cf1d12ad56beb Kashyap Desai 2023-06-09 77 /* Non zero means command completed */
8cf1d12ad56beb Kashyap Desai 2023-06-09 78 ret = wait_event_timeout(cmdq->waitq,
cee0c7bba48691 Devesh Sharma 2020-02-15 79 !test_bit(cbit, cmdq->cmdq_bitmap),
8cf1d12ad56beb Kashyap Desai 2023-06-09 80 msecs_to_jiffies(10000));
8cf1d12ad56beb Kashyap Desai 2023-06-09 81
8cf1d12ad56beb Kashyap Desai 2023-06-09 82 if (!test_bit(cbit, cmdq->cmdq_bitmap))
8cf1d12ad56beb Kashyap Desai 2023-06-09 83 return 0;
8cf1d12ad56beb Kashyap Desai 2023-06-09 84
8cf1d12ad56beb Kashyap Desai 2023-06-09 85 bnxt_qplib_service_creq(&rcfw->creq.creq_tasklet);
8cf1d12ad56beb Kashyap Desai 2023-06-09 86
8cf1d12ad56beb Kashyap Desai 2023-06-09 87 if (!test_bit(cbit, cmdq->cmdq_bitmap))
8cf1d12ad56beb Kashyap Desai 2023-06-09 88 return 0;
8cf1d12ad56beb Kashyap Desai 2023-06-09 89
8cf1d12ad56beb Kashyap Desai 2023-06-09 90 } while (true);
1ac5a404797523 Selvin Xavier 2017-02-10 91 };
1ac5a404797523 Selvin Xavier 2017-02-10 92
8cf1d12ad56beb Kashyap Desai 2023-06-09 93 /**
8cf1d12ad56beb Kashyap Desai 2023-06-09 94 * __block_for_resp - hold the cpu context and wait for response
8cf1d12ad56beb Kashyap Desai 2023-06-09 95 * @rcfw - rcfw channel instance of rdev
8cf1d12ad56beb Kashyap Desai 2023-06-09 96 * @cookie - cookie to track the command
8cf1d12ad56beb Kashyap Desai 2023-06-09 97 *
8cf1d12ad56beb Kashyap Desai 2023-06-09 98 * This function will hold the cpu (non-sleepable context) and
8cf1d12ad56beb Kashyap Desai 2023-06-09 99 * wait for command completion. Maximum holding interval is 8 second.
8cf1d12ad56beb Kashyap Desai 2023-06-09 100 *
8cf1d12ad56beb Kashyap Desai 2023-06-09 101 * Returns:
8cf1d12ad56beb Kashyap Desai 2023-06-09 102 * -ETIMEOUT if command is not completed in specific time interval.
8cf1d12ad56beb Kashyap Desai 2023-06-09 103 * 0 if command is completed by firmware.
8cf1d12ad56beb Kashyap Desai 2023-06-09 104 */
cc1ec769b87c7d Devesh Sharma 2017-05-22 105 static int __block_for_resp(struct bnxt_qplib_rcfw *rcfw, u16 cookie)
1ac5a404797523 Selvin Xavier 2017-02-10 @106 {
8cf1d12ad56beb Kashyap Desai 2023-06-09 107 struct bnxt_qplib_cmdq_ctx *cmdq = &rcfw->cmdq;
8cf1d12ad56beb Kashyap Desai 2023-06-09 108 unsigned long issue_time = 0;
1ac5a404797523 Selvin Xavier 2017-02-10 109 u16 cbit;
1ac5a404797523 Selvin Xavier 2017-02-10 110
bd1c24ccf9eb07 Devesh Sharma 2018-12-12 111 cbit = cookie % rcfw->cmdq_depth;
8cf1d12ad56beb Kashyap Desai 2023-06-09 112 issue_time = jiffies;
8cf1d12ad56beb Kashyap Desai 2023-06-09 113
1ac5a404797523 Selvin Xavier 2017-02-10 114 do {
b9b43ad3ce883f Selvin Xavier 2021-09-15 115 udelay(1);
8cf1d12ad56beb Kashyap Desai 2023-06-09 116
53c2a706ae7858 Allen Pais 2020-09-03 117 bnxt_qplib_service_creq(&rcfw->creq.creq_tasklet);
8cf1d12ad56beb Kashyap Desai 2023-06-09 118 if (!test_bit(cbit, cmdq->cmdq_bitmap))
8cf1d12ad56beb Kashyap Desai 2023-06-09 119 return 0;
8cf1d12ad56beb Kashyap Desai 2023-06-09 120
8cf1d12ad56beb Kashyap Desai 2023-06-09 121 } while (time_before(jiffies, issue_time + (8 * HZ)));
8cf1d12ad56beb Kashyap Desai 2023-06-09 122
8cf1d12ad56beb Kashyap Desai 2023-06-09 123 return -ETIMEDOUT;
1ac5a404797523 Selvin Xavier 2017-02-10 124 };
1ac5a404797523 Selvin Xavier 2017-02-10 125
:::::: The code at line 68 was first introduced by commit
:::::: 1ac5a404797523cedaf424a3aaa3cf8f9548dff8 RDMA/bnxt_re: Add bnxt_re RoCE driver
:::::: TO: Selvin Xavier <selvin.xavier@xxxxxxxxxxxx>
:::::: CC: Doug Ledford <dledford@xxxxxxxxxx>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki