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.