[PATCH v5 11/16] lpfc: vmid: Implements CT commands for appid.
kernel test robot
lkp at intel.com
Sat Dec 19 18:27:07 EST 2020
Hi Muneendra,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on scsi/for-next]
[also build test WARNING on mkp-scsi/for-next next-20201218]
[cannot apply to cgroup/for-next v5.10]
[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/Muneendra/blkcg-Support-to-track-FC-storage-blk-io-traffic/20201216-202913
base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next
config: powerpc64-randconfig-r023-20201217 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project cee1e7d14f4628d6174b33640d502bff3b54ae45)
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 powerpc64 cross compiling tool for clang build
# apt-get install binutils-powerpc64-linux-gnu
# https://github.com/0day-ci/linux/commit/2c2a03c1111ef8a2c5aac440b227390d40d1e2cb
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Muneendra/blkcg-Support-to-track-FC-storage-blk-io-traffic/20201216-202913
git checkout 2c2a03c1111ef8a2c5aac440b227390d40d1e2cb
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>
All warnings (new ones prefixed by >>):
>> drivers/scsi/lpfc/lpfc_ct.c:3749:1: warning: no previous prototype for function 'lpfc_cmpl_ct_cmd_vmid' [-Wmissing-prototypes]
lpfc_cmpl_ct_cmd_vmid(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
^
drivers/scsi/lpfc/lpfc_ct.c:3748:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void
^
static
1 warning generated.
vim +/lpfc_cmpl_ct_cmd_vmid +3749 drivers/scsi/lpfc/lpfc_ct.c
3747
3748 void
> 3749 lpfc_cmpl_ct_cmd_vmid(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
3750 struct lpfc_iocbq *rspiocb)
3751 {
3752 struct lpfc_vport *vport = cmdiocb->vport;
3753 struct lpfc_dmabuf *inp = cmdiocb->context1;
3754 struct lpfc_dmabuf *outp = cmdiocb->context2;
3755 struct lpfc_sli_ct_request *ctcmd = inp->virt;
3756 struct lpfc_sli_ct_request *ctrsp = outp->virt;
3757 u16 rsp = ctrsp->CommandResponse.bits.CmdRsp;
3758 struct app_id_object *app;
3759 u32 cmd, hash;
3760 struct lpfc_vmid *vmp;
3761 u8 *data = outp->virt;
3762 int i;
3763
3764 cmd = be16_to_cpu(ctcmd->CommandResponse.bits.CmdRsp);
3765 if (cmd == SLI_CTAS_DALLAPP_ID)
3766 lpfc_ct_free_iocb(phba, cmdiocb);
3767
3768 if (lpfc_els_chk_latt(vport) || rspiocb->iocb.ulpStatus) {
3769 if (cmd != SLI_CTAS_DALLAPP_ID)
3770 return;
3771 }
3772 /* Check for a CT LS_RJT response */
3773 if (rsp == be16_to_cpu(SLI_CT_RESPONSE_FS_RJT)) {
3774 if (cmd != SLI_CTAS_DALLAPP_ID)
3775 lpfc_printf_vlog(vport, KERN_DEBUG, LOG_DISCOVERY,
3776 "3306 VMID FS_RJT Data: x%x %x %x\n",
3777 cmd, ctrsp->ReasonCode, ctrsp->Explanation);
3778 if ((cmd != SLI_CTAS_DALLAPP_ID) ||
3779 (ctrsp->ReasonCode != SLI_CT_UNABLE_TO_PERFORM_REQ) ||
3780 (ctrsp->Explanation != SLI_CT_APP_ID_NOT_AVAILABLE)) {
3781 /* If DALLAPP_ID failed retry later */
3782 if (cmd == SLI_CTAS_DALLAPP_ID)
3783 vport->load_flag |= FC_DEREGISTER_ALL_APP_ID;
3784 return;
3785 }
3786 }
3787
3788 switch (cmd) {
3789 case SLI_CTAS_RAPP_IDENT:
3790 app = (struct app_id_object *)(RAPP_IDENT_OFFSET + data);
3791 lpfc_printf_vlog(vport, KERN_DEBUG, LOG_DISCOVERY,
3792 "6712 RAPP_IDENT app id %d port id %x id\n"
3793 "len %d\n", be32_to_cpu(app->app_id),
3794 be32_to_cpu(app->port_id),
3795 app->obj.entity_id_len);
3796
3797 if (app->obj.entity_id_len == 0 || app->port_id == 0)
3798 return;
3799
3800 hash = lpfc_vmid_hash_fn(app->obj.entity_id,
3801 app->obj.entity_id_len);
3802 vmp = lpfc_get_vmid_from_hastable(vport, hash,
3803 app->obj.entity_id);
3804 if (vmp) {
3805 vmp->un.app_id = be32_to_cpu(app->app_id);
3806 vmp->flag |= LPFC_VMID_REGISTERED;
3807 vmp->flag &= ~LPFC_VMID_REQ_REGISTER;
3808 /* Set IN USE flag */
3809 vport->vmid_flag |= LPFC_VMID_IN_USE;
3810 } else {
3811 lpfc_printf_vlog(vport, KERN_DEBUG,
3812 LOG_DISCOVERY, "6901 No entry found\n"
3813 "%s hash %d\n", app->obj.entity_id,
3814 hash);
3815 }
3816 break;
3817 case SLI_CTAS_DAPP_IDENT:
3818 app = (struct app_id_object *)(DAPP_IDENT_OFFSET + data);
3819 lpfc_printf_vlog(vport, KERN_DEBUG, LOG_DISCOVERY,
3820 "6713 DAPP_IDENT app id %d port id %x",
3821 cpu_to_be32(app->app_id),
3822 cpu_to_be32(app->port_id));
3823 break;
3824 case SLI_CTAS_DALLAPP_ID:
3825 lpfc_printf_vlog(vport, KERN_DEBUG, LOG_DISCOVERY,
3826 "8856 Deregistered all app ids");
3827 for (i = 0; i < phba->cfg_max_vmid; i++) {
3828 vmp = &vport->vmid[i];
3829 if (vmp->flag != LPFC_VMID_SLOT_FREE)
3830 memset(vmp, 0, sizeof(struct lpfc_vmid));
3831 }
3832 for (i = 0; i < LPFC_VMID_HASH_SIZE; i++)
3833 vport->hash_table[i] = NULL;
3834 vport->load_flag |= FC_ALLOW_VMID;
3835 break;
3836 default:
3837 lpfc_printf_vlog(vport, KERN_DEBUG, LOG_DISCOVERY,
3838 "8857 Invalid command code");
3839 }
3840 }
3841
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 31312 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-nvme/attachments/20201220/a843fb80/attachment-0001.gz>
More information about the Linux-nvme
mailing list