All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [bvanassche:scsi-remove-done-callback 60/83] drivers/scsi/qedf/qedf_io.c:955:3: error: implicit declaration of function 'sc_scsi_done'; did you mean 'scsi_done'?
Date: Mon, 26 Apr 2021 23:16:17 +0800	[thread overview]
Message-ID: <202104262312.tgHTfZAV-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 6039 bytes --]

tree:   https://github.com/bvanassche/linux scsi-remove-done-callback
head:   0fcbd84b06fef935eeac38e0677f03ddbc69cab0
commit: bbc20791831988fc5850843d89dc85cb3972e072 [60/83] qedf: Call scsi_done() directly
config: arc-allyesconfig (attached as .config)
compiler: arceb-elf-gcc (GCC) 9.3.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/bvanassche/linux/commit/bbc20791831988fc5850843d89dc85cb3972e072
        git remote add bvanassche https://github.com/bvanassche/linux
        git fetch --no-tags bvanassche scsi-remove-done-callback
        git checkout bbc20791831988fc5850843d89dc85cb3972e072
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=arc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/scsi/qedf/qedf_io.c: In function 'qedf_queuecommand':
>> drivers/scsi/qedf/qedf_io.c:955:3: error: implicit declaration of function 'sc_scsi_done'; did you mean 'scsi_done'? [-Werror=implicit-function-declaration]
     955 |   sc_scsi_done(sc_cmd);
         |   ^~~~~~~~~~~~
         |   scsi_done
   cc1: some warnings being treated as errors


vim +955 drivers/scsi/qedf/qedf_io.c

   934	
   935	int
   936	qedf_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *sc_cmd)
   937	{
   938		struct fc_lport *lport = shost_priv(host);
   939		struct qedf_ctx *qedf = lport_priv(lport);
   940		struct fc_rport *rport = starget_to_rport(scsi_target(sc_cmd->device));
   941		struct fc_rport_libfc_priv *rp = rport->dd_data;
   942		struct qedf_rport *fcport;
   943		struct qedf_ioreq *io_req;
   944		int rc = 0;
   945		int rval;
   946		unsigned long flags = 0;
   947		int num_sgs = 0;
   948	
   949		num_sgs = scsi_sg_count(sc_cmd);
   950		if (scsi_sg_count(sc_cmd) > QEDF_MAX_BDS_PER_CMD) {
   951			QEDF_ERR(&qedf->dbg_ctx,
   952				 "Number of SG elements %d exceeds what hardware limitation of %d.\n",
   953				 num_sgs, QEDF_MAX_BDS_PER_CMD);
   954			sc_cmd->result = DID_ERROR;
 > 955			sc_scsi_done(sc_cmd);
   956			return 0;
   957		}
   958	
   959		if (test_bit(QEDF_UNLOADING, &qedf->flags) ||
   960		    test_bit(QEDF_DBG_STOP_IO, &qedf->flags)) {
   961			QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO,
   962				  "Returning DNC as unloading or stop io, flags 0x%lx.\n",
   963				  qedf->flags);
   964			sc_cmd->result = DID_NO_CONNECT << 16;
   965			sc_scsi_done(sc_cmd);
   966			return 0;
   967		}
   968	
   969		if (!qedf->pdev->msix_enabled) {
   970			QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_IO,
   971			    "Completing sc_cmd=%p DID_NO_CONNECT as MSI-X is not enabled.\n",
   972			    sc_cmd);
   973			sc_cmd->result = DID_NO_CONNECT << 16;
   974			sc_scsi_done(sc_cmd);
   975			return 0;
   976		}
   977	
   978		rval = fc_remote_port_chkready(rport);
   979		if (rval) {
   980			QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO,
   981				  "fc_remote_port_chkready failed=0x%x for port_id=0x%06x.\n",
   982				  rval, rport->port_id);
   983			sc_cmd->result = rval;
   984			sc_scsi_done(sc_cmd);
   985			return 0;
   986		}
   987	
   988		/* Retry command if we are doing a qed drain operation */
   989		if (test_bit(QEDF_DRAIN_ACTIVE, &qedf->flags)) {
   990			QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, "Drain active.\n");
   991			rc = SCSI_MLQUEUE_HOST_BUSY;
   992			goto exit_qcmd;
   993		}
   994	
   995		if (lport->state != LPORT_ST_READY ||
   996		    atomic_read(&qedf->link_state) != QEDF_LINK_UP) {
   997			QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, "Link down.\n");
   998			rc = SCSI_MLQUEUE_HOST_BUSY;
   999			goto exit_qcmd;
  1000		}
  1001	
  1002		/* rport and tgt are allocated together, so tgt should be non-NULL */
  1003		fcport = (struct qedf_rport *)&rp[1];
  1004	
  1005		if (!test_bit(QEDF_RPORT_SESSION_READY, &fcport->flags) ||
  1006		    test_bit(QEDF_RPORT_UPLOADING_CONNECTION, &fcport->flags)) {
  1007			/*
  1008			 * Session is not offloaded yet. Let SCSI-ml retry
  1009			 * the command.
  1010			 */
  1011			rc = SCSI_MLQUEUE_TARGET_BUSY;
  1012			goto exit_qcmd;
  1013		}
  1014	
  1015		atomic_inc(&fcport->ios_to_queue);
  1016	
  1017		if (fcport->retry_delay_timestamp) {
  1018			/* Take fcport->rport_lock for resetting the delay_timestamp */
  1019			spin_lock_irqsave(&fcport->rport_lock, flags);
  1020			if (time_after(jiffies, fcport->retry_delay_timestamp)) {
  1021				fcport->retry_delay_timestamp = 0;
  1022			} else {
  1023				spin_unlock_irqrestore(&fcport->rport_lock, flags);
  1024				/* If retry_delay timer is active, flow off the ML */
  1025				rc = SCSI_MLQUEUE_TARGET_BUSY;
  1026				atomic_dec(&fcport->ios_to_queue);
  1027				goto exit_qcmd;
  1028			}
  1029			spin_unlock_irqrestore(&fcport->rport_lock, flags);
  1030		}
  1031	
  1032		io_req = qedf_alloc_cmd(fcport, QEDF_SCSI_CMD);
  1033		if (!io_req) {
  1034			rc = SCSI_MLQUEUE_HOST_BUSY;
  1035			atomic_dec(&fcport->ios_to_queue);
  1036			goto exit_qcmd;
  1037		}
  1038	
  1039		io_req->sc_cmd = sc_cmd;
  1040	
  1041		/* Take fcport->rport_lock for posting to fcport send queue */
  1042		spin_lock_irqsave(&fcport->rport_lock, flags);
  1043		if (qedf_post_io_req(fcport, io_req)) {
  1044			QEDF_WARN(&(qedf->dbg_ctx), "Unable to post io_req\n");
  1045			/* Return SQE to pool */
  1046			atomic_inc(&fcport->free_sqes);
  1047			rc = SCSI_MLQUEUE_HOST_BUSY;
  1048		}
  1049		spin_unlock_irqrestore(&fcport->rport_lock, flags);
  1050		atomic_dec(&fcport->ios_to_queue);
  1051	
  1052	exit_qcmd:
  1053		return rc;
  1054	}
  1055	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 67509 bytes --]

                 reply	other threads:[~2021-04-26 15:16 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202104262312.tgHTfZAV-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /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.