oe-kbuild-all.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
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

           reply	other threads:[~2023-04-27 11:49 UTC|newest]

Thread overview: expand[flat|nested]  mbox.gz  Atom feed
 [parent not found: <20230427080351.9889-4-njavali@marvell.com>]

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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).