Hi James,
FYI, the error/warning still remains.
tree:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
linux-5.4.y
head: f07bbbcbb287be51052321bcb6b6d4edbdf810e6
commit: a9e53499f4de56277f76ae2d362248a0632a5bc2 [1944/4509] scsi: lpfc: Fix incomplete
NVME discovery when target
config: x86_64-randconfig-a011-20210119 (attached as .config)
compiler: clang version 12.0.0 (
https://github.com/llvm/llvm-project
22b68440e1647e16b5ee24b924986207173c02d1)
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
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
#
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gi...
git remote add linux-stable-rc
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git fetch --no-tags linux-stable-rc linux-5.4.y
git checkout a9e53499f4de56277f76ae2d362248a0632a5bc2
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/scsi/lpfc/lpfc_nportdisc.c:290:1: warning: no previous prototype for function
'lpfc_defer_pt2pt_acc' [-Wmissing-prototypes]
lpfc_defer_pt2pt_acc(struct lpfc_hba *phba, LPFC_MBOXQ_t *link_mbox)
^
drivers/scsi/lpfc/lpfc_nportdisc.c:289:1: note: declare 'static' if the
function is not intended to be used outside of this translation unit
void
^
static
> drivers/scsi/lpfc/lpfc_nportdisc.c:344:1: warning: no previous
prototype for function 'lpfc_defer_acc_rsp' [-Wmissing-prototypes]
lpfc_defer_acc_rsp(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
^
drivers/scsi/lpfc/lpfc_nportdisc.c:343:1: note: declare 'static' if the
function is not intended to be used outside of this translation unit
void
^
static
2 warnings generated.
vim +/lpfc_defer_acc_rsp +344 drivers/scsi/lpfc/lpfc_nportdisc.c
281
282 /* lpfc_defer_pt2pt_acc - Complete SLI3 pt2pt processing on link up
283 * @phba: pointer to lpfc hba data structure.
284 * @link_mbox: pointer to CONFIG_LINK mailbox object
285 *
286 * This routine is only called if we are SLI3, direct connect pt2pt
287 * mode and the remote NPort issues the PLOGI after link up.
288 */
289 void
290 lpfc_defer_pt2pt_acc(struct lpfc_hba *phba, LPFC_MBOXQ_t
*link_mbox)
291 {
292 LPFC_MBOXQ_t *login_mbox;
293 MAILBOX_t *mb = &link_mbox->u.mb;
294 struct lpfc_iocbq *save_iocb;
295 struct lpfc_nodelist *ndlp;
296 int rc;
297
298 ndlp = link_mbox->ctx_ndlp;
299 login_mbox = link_mbox->context3;
300 save_iocb = login_mbox->context3;
301 link_mbox->context3 = NULL;
302 login_mbox->context3 = NULL;
303
304 /* Check for CONFIG_LINK error */
305 if (mb->mbxStatus) {
306 lpfc_printf_log(phba, KERN_ERR, LOG_DISCOVERY,
307 "4575 CONFIG_LINK fails pt2pt discovery: %x\n",
308 mb->mbxStatus);
309 mempool_free(login_mbox, phba->mbox_mem_pool);
310 mempool_free(link_mbox, phba->mbox_mem_pool);
311 kfree(save_iocb);
312 return;
313 }
314
315 /* Now that CONFIG_LINK completed, and our SID is configured,
316 * we can now proceed with sending the PLOGI ACC.
317 */
318 rc = lpfc_els_rsp_acc(link_mbox->vport, ELS_CMD_PLOGI,
319 save_iocb, ndlp, login_mbox);
320 if (rc) {
321 lpfc_printf_log(phba, KERN_ERR, LOG_DISCOVERY,
322 "4576 PLOGI ACC fails pt2pt discovery: %x\n",
323 rc);
324 mempool_free(login_mbox, phba->mbox_mem_pool);
325 }
326
327 mempool_free(link_mbox, phba->mbox_mem_pool);
328 kfree(save_iocb);
329 }
330
331 /**
332 * lpfc_defer_tgt_acc - Progress SLI4 target rcv PLOGI handler
333 * @phba: Pointer to HBA context object.
334 * @pmb: Pointer to mailbox object.
335 *
336 * This function provides the unreg rpi mailbox completion handler for a tgt.
337 * The routine frees the memory resources associated with the completed
338 * mailbox command and transmits the ELS ACC.
339 *
340 * This routine is only called if we are SLI4, acting in target
341 * mode and the remote NPort issues the PLOGI after link up.
342 **/
343 void
344 lpfc_defer_acc_rsp(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
345 {
346 struct lpfc_vport *vport = pmb->vport;
347 struct lpfc_nodelist *ndlp = pmb->ctx_ndlp;
348 LPFC_MBOXQ_t *mbox = pmb->context3;
349 struct lpfc_iocbq *piocb = NULL;
350 int rc;
351
352 if (mbox) {
353 pmb->context3 = NULL;
354 piocb = mbox->context3;
355 mbox->context3 = NULL;
356 }
357
358 /*
359 * Complete the unreg rpi mbx request, and update flags.
360 * This will also restart any deferred events.
361 */
362 lpfc_nlp_get(ndlp);
363 lpfc_sli4_unreg_rpi_cmpl_clr(phba, pmb);
364
365 if (!piocb) {
366 lpfc_printf_vlog(vport, KERN_ERR, LOG_DISCOVERY | LOG_ELS,
367 "4578 PLOGI ACC fail\n");
368 if (mbox)
369 mempool_free(mbox, phba->mbox_mem_pool);
370 goto out;
371 }
372
373 rc = lpfc_els_rsp_acc(vport, ELS_CMD_PLOGI, piocb, ndlp, mbox);
374 if (rc) {
375 lpfc_printf_vlog(vport, KERN_ERR, LOG_DISCOVERY | LOG_ELS,
376 "4579 PLOGI ACC fail %x\n", rc);
377 if (mbox)
378 mempool_free(mbox, phba->mbox_mem_pool);
379 }
380 kfree(piocb);
381 out:
382 lpfc_nlp_put(ndlp);
383 }
384
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org