From: kernel test robot <lkp@intel.com>
To: Nilesh Javali <njavali@marvell.com>, martin.petersen@oracle.com
Cc: oe-kbuild-all@lists.linux.dev, linux-scsi@vger.kernel.org,
GR-QLogic-Storage-Upstream@marvell.com, bhazarika@marvell.com,
agurumurthy@marvell.com, sdeodhar@marvell.com
Subject: Re: [PATCH 3/7] qla2xxx: Fix task management cmd fail due to unavailable resource
Date: Thu, 27 Apr 2023 19:48:59 +0800 [thread overview]
Message-ID: <202304271952.NKNmoFzv-lkp@intel.com> (raw)
In-Reply-To: <20230427080351.9889-4-njavali@marvell.com>
Hi Nilesh,
kernel test robot noticed the following build warnings:
[auto build test WARNING on c8e22b7a1694bb8d025ea636816472739d859145]
url: https://github.com/intel-lab-lkp/linux/commits/Nilesh-Javali/qla2xxx-Multi-que-support-for-TMF/20230427-160555
base: c8e22b7a1694bb8d025ea636816472739d859145
patch link: https://lore.kernel.org/r/20230427080351.9889-4-njavali%40marvell.com
patch subject: [PATCH 3/7] qla2xxx: Fix task management cmd fail due to unavailable resource
config: ia64-allyesconfig (https://download.01.org/0day-ci/archive/20230427/202304271952.NKNmoFzv-lkp@intel.com/config)
compiler: ia64-linux-gcc (GCC) 12.1.0
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
# https://github.com/intel-lab-lkp/linux/commit/ea97bb99e7ceb449ede36ec249341061982a7f11
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Nilesh-Javali/qla2xxx-Multi-que-support-for-TMF/20230427-160555
git checkout ea97bb99e7ceb449ede36ec249341061982a7f11
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=ia64 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=ia64 SHELL=/bin/bash drivers/scsi/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202304271952.NKNmoFzv-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/scsi/qla2xxx/qla_init.c:2043:1: warning: no previous prototype for 'qla26xx_marker' [-Wmissing-prototypes]
2043 | qla26xx_marker(struct tmf_arg *arg)
| ^~~~~~~~~~~~~~
drivers/scsi/qla2xxx/qla_init.c:2098:1: warning: no previous prototype for '__qla2x00_async_tm_cmd' [-Wmissing-prototypes]
2098 | __qla2x00_async_tm_cmd(struct tmf_arg *arg)
| ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/scsi/qla2xxx/qla_init.c:2152:6: warning: no previous prototype for 'qla_put_tmf' [-Wmissing-prototypes]
2152 | void qla_put_tmf(fc_port_t *fcport)
| ^~~~~~~~~~~
vim +/qla_put_tmf +2152 drivers/scsi/qla2xxx/qla_init.c
2041
2042 int
> 2043 qla26xx_marker(struct tmf_arg *arg)
2044 {
2045 struct scsi_qla_host *vha = arg->vha;
2046 struct srb_iocb *tm_iocb;
2047 srb_t *sp;
2048 int rval = QLA_FUNCTION_FAILED;
2049 fc_port_t *fcport = arg->fcport;
2050
2051 /* ref: INIT */
2052 sp = qla2xxx_get_qpair_sp(vha, arg->qpair, fcport, GFP_KERNEL);
2053 if (!sp)
2054 goto done;
2055
2056 sp->type = SRB_MARKER;
2057 sp->name = "marker";
2058 qla2x00_init_async_sp(sp, qla2x00_get_async_timeout(vha), qla_marker_sp_done);
2059 sp->u.iocb_cmd.timeout = qla2x00_tmf_iocb_timeout;
2060
2061 tm_iocb = &sp->u.iocb_cmd;
2062 init_completion(&tm_iocb->u.tmf.comp);
2063 tm_iocb->u.tmf.modifier = arg->modifier;
2064 tm_iocb->u.tmf.lun = arg->lun;
2065 tm_iocb->u.tmf.loop_id = fcport->loop_id;
2066 tm_iocb->u.tmf.vp_index = vha->vp_idx;
2067
2068 START_SP_W_RETRIES(sp, rval);
2069
2070 ql_dbg(ql_dbg_taskm, vha, 0x8006,
2071 "Async-marker hdl=%x loop-id=%x portid=%06x modifier=%x lun=%lld qp=%d rval %d.\n",
2072 sp->handle, fcport->loop_id, fcport->d_id.b24,
2073 arg->modifier, arg->lun, sp->qpair->id, rval);
2074
2075 if (rval != QLA_SUCCESS) {
2076 ql_log(ql_log_warn, vha, 0x8031,
2077 "Marker IOCB failed (%x).\n", rval);
2078 goto done_free_sp;
2079 }
2080
2081 wait_for_completion(&tm_iocb->u.tmf.comp);
2082
2083 done_free_sp:
2084 /* ref: INIT */
2085 kref_put(&sp->cmd_kref, qla2x00_sp_release);
2086 done:
2087 return rval;
2088 }
2089
2090 static void qla2x00_tmf_sp_done(srb_t *sp, int res)
2091 {
2092 struct srb_iocb *tmf = &sp->u.iocb_cmd;
2093
2094 complete(&tmf->u.tmf.comp);
2095 }
2096
2097 int
2098 __qla2x00_async_tm_cmd(struct tmf_arg *arg)
2099 {
2100 struct scsi_qla_host *vha = arg->vha;
2101 struct srb_iocb *tm_iocb;
2102 srb_t *sp;
2103 int rval = QLA_FUNCTION_FAILED;
2104
2105 fc_port_t *fcport = arg->fcport;
2106
2107 /* ref: INIT */
2108 sp = qla2xxx_get_qpair_sp(vha, arg->qpair, fcport, GFP_KERNEL);
2109 if (!sp)
2110 goto done;
2111
2112 qla_vha_mark_busy(vha);
2113 sp->type = SRB_TM_CMD;
2114 sp->name = "tmf";
2115 qla2x00_init_async_sp(sp, qla2x00_get_async_timeout(vha),
2116 qla2x00_tmf_sp_done);
2117 sp->u.iocb_cmd.timeout = qla2x00_tmf_iocb_timeout;
2118
2119 tm_iocb = &sp->u.iocb_cmd;
2120 init_completion(&tm_iocb->u.tmf.comp);
2121 tm_iocb->u.tmf.flags = arg->flags;
2122 tm_iocb->u.tmf.lun = arg->lun;
2123
2124 START_SP_W_RETRIES(sp, rval);
2125
2126 ql_dbg(ql_dbg_taskm, vha, 0x802f,
2127 "Async-tmf hdl=%x loop-id=%x portid=%06x ctrl=%x lun=%lld qp=%d rval=%x.\n",
2128 sp->handle, fcport->loop_id, fcport->d_id.b24,
2129 arg->flags, arg->lun, sp->qpair->id, rval);
2130
2131 if (rval != QLA_SUCCESS)
2132 goto done_free_sp;
2133 wait_for_completion(&tm_iocb->u.tmf.comp);
2134
2135 rval = tm_iocb->u.tmf.data;
2136
2137 if (rval != QLA_SUCCESS) {
2138 ql_log(ql_log_warn, vha, 0x8030,
2139 "TM IOCB failed (%x).\n", rval);
2140 }
2141
2142 if (!test_bit(UNLOADING, &vha->dpc_flags) && !IS_QLAFX00(vha->hw))
2143 rval = qla26xx_marker(arg);
2144
2145 done_free_sp:
2146 /* ref: INIT */
2147 kref_put(&sp->cmd_kref, qla2x00_sp_release);
2148 done:
2149 return rval;
2150 }
2151
> 2152 void qla_put_tmf(fc_port_t *fcport)
2153 {
2154 struct scsi_qla_host *vha = fcport->vha;
2155 struct qla_hw_data *ha = vha->hw;
2156 unsigned long flags;
2157
2158 spin_lock_irqsave(&ha->tgt.sess_lock, flags);
2159 fcport->active_tmf--;
2160 spin_unlock_irqrestore(&ha->tgt.sess_lock, flags);
2161 }
2162
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
next prev parent reply other threads:[~2023-04-27 11:49 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-27 8:03 [PATCH 0/7] qla2xxx driver update Nilesh Javali
2023-04-27 8:03 ` [PATCH 1/7] qla2xxx: Multi-que support for TMF Nilesh Javali
2023-04-27 10:04 ` kernel test robot
2023-04-27 8:03 ` [PATCH 2/7] qla2xxx: Fix task management cmd failure Nilesh Javali
2023-04-27 11:06 ` kernel test robot
2023-04-27 8:03 ` [PATCH 3/7] qla2xxx: Fix task management cmd fail due to unavailable resource Nilesh Javali
2023-04-27 11:48 ` kernel test robot [this message]
2023-04-27 8:03 ` [PATCH 4/7] qla2xxx: Fix hang in task management Nilesh Javali
2023-04-27 8:03 ` [PATCH 5/7] qla2xxx: Fix mem access after free Nilesh Javali
2023-04-27 8:03 ` [PATCH 6/7] qla2xxx: Wait for io return on terminate rport Nilesh Javali
2023-04-27 8:03 ` [PATCH 7/7] qla2xxx: Update version to 10.02.08.300-k Nilesh Javali
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202304271952.NKNmoFzv-lkp@intel.com \
--to=lkp@intel.com \
--cc=GR-QLogic-Storage-Upstream@marvell.com \
--cc=agurumurthy@marvell.com \
--cc=bhazarika@marvell.com \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=njavali@marvell.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=sdeodhar@marvell.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.