From: kbuild test robot <lkp@intel.com>
To: Hannes Reinecke <hare@suse.de>
Cc: kbuild-all@lists.01.org,
"Martin K. Petersen" <martin.petersen@oracle.com>,
Christoph Hellwig <hch@lst.de>,
James Bottomley <james.bottomley@hansenpartnership.com>,
linux-scsi@vger.kernel.org, Hannes Reinecke <hare@suse.de>
Subject: Re: [PATCH 09/24] scsi: Kill obsolete linux-specific status codes
Date: Sat, 2 Nov 2019 21:14:26 +0800 [thread overview]
Message-ID: <201911022141.iTiIsVvv%lkp@intel.com> (raw)
In-Reply-To: <20191031110452.73463-10-hare@suse.de>
[-- Attachment #1: Type: text/plain, Size: 12829 bytes --]
Hi Hannes,
I love your patch! Yet something to improve:
[auto build test ERROR on mkp-scsi/for-next]
[also build test ERROR on v5.4-rc5 next-20191031]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Hannes-Reinecke/Revamp-SCSI-result-values/20191102-095955
base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next
config: i386-randconfig-a002-201943 (attached as .config)
compiler: gcc-6 (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/scsi/nsp32.c: In function 'nsp32_queuecommand_lck':
>> drivers/scsi/nsp32.c:938:25: error: 'CHECK_CONDITION' undeclared (first use in this function)
SCpnt->SCp.Status = CHECK_CONDITION;
^~~~~~~~~~~~~~~
drivers/scsi/nsp32.c:938:25: note: each undeclared identifier is reported only once for each function it appears in
vim +/CHECK_CONDITION +938 drivers/scsi/nsp32.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 896
f281233d3eba15 Jeff Garzik 2010-11-16 897 static int nsp32_queuecommand_lck(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *))
^1da177e4c3f41 Linus Torvalds 2005-04-16 898 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 899 nsp32_hw_data *data = (nsp32_hw_data *)SCpnt->device->host->hostdata;
^1da177e4c3f41 Linus Torvalds 2005-04-16 900 nsp32_target *target;
^1da177e4c3f41 Linus Torvalds 2005-04-16 901 nsp32_lunt *cur_lunt;
^1da177e4c3f41 Linus Torvalds 2005-04-16 902 int ret;
^1da177e4c3f41 Linus Torvalds 2005-04-16 903
^1da177e4c3f41 Linus Torvalds 2005-04-16 904 nsp32_dbg(NSP32_DEBUG_QUEUECOMMAND,
fc3850458c176a Hans Wennborg 2014-08-05 905 "enter. target: 0x%x LUN: 0x%llx cmnd: 0x%x cmndlen: 0x%x "
^1da177e4c3f41 Linus Torvalds 2005-04-16 906 "use_sg: 0x%x reqbuf: 0x%lx reqlen: 0x%x",
^1da177e4c3f41 Linus Torvalds 2005-04-16 907 SCpnt->device->id, SCpnt->device->lun, SCpnt->cmnd[0], SCpnt->cmd_len,
2e91724658d5d6 FUJITA Tomonori 2007-05-26 908 scsi_sg_count(SCpnt), scsi_sglist(SCpnt), scsi_bufflen(SCpnt));
^1da177e4c3f41 Linus Torvalds 2005-04-16 909
^1da177e4c3f41 Linus Torvalds 2005-04-16 910 if (data->CurrentSC != NULL) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 911 nsp32_msg(KERN_ERR, "Currentsc != NULL. Cancel this command request");
^1da177e4c3f41 Linus Torvalds 2005-04-16 912 data->CurrentSC = NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 913 SCpnt->result = DID_NO_CONNECT << 16;
^1da177e4c3f41 Linus Torvalds 2005-04-16 914 done(SCpnt);
^1da177e4c3f41 Linus Torvalds 2005-04-16 915 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 916 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 917
^1da177e4c3f41 Linus Torvalds 2005-04-16 918 /* check target ID is not same as this initiator ID */
422c0d61d591cb Jeff Garzik 2005-10-24 919 if (scmd_id(SCpnt) == SCpnt->device->host->this_id) {
9b13494c916dc0 Masanari Iida 2014-08-06 920 nsp32_dbg(NSP32_DEBUG_QUEUECOMMAND, "target==host???");
^1da177e4c3f41 Linus Torvalds 2005-04-16 921 SCpnt->result = DID_BAD_TARGET << 16;
^1da177e4c3f41 Linus Torvalds 2005-04-16 922 done(SCpnt);
^1da177e4c3f41 Linus Torvalds 2005-04-16 923 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 924 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 925
^1da177e4c3f41 Linus Torvalds 2005-04-16 926 /* check target LUN is allowable value */
^1da177e4c3f41 Linus Torvalds 2005-04-16 927 if (SCpnt->device->lun >= MAX_LUN) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 928 nsp32_dbg(NSP32_DEBUG_QUEUECOMMAND, "no more lun");
^1da177e4c3f41 Linus Torvalds 2005-04-16 929 SCpnt->result = DID_BAD_TARGET << 16;
^1da177e4c3f41 Linus Torvalds 2005-04-16 930 done(SCpnt);
^1da177e4c3f41 Linus Torvalds 2005-04-16 931 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 932 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 933
^1da177e4c3f41 Linus Torvalds 2005-04-16 934 show_command(SCpnt);
^1da177e4c3f41 Linus Torvalds 2005-04-16 935
^1da177e4c3f41 Linus Torvalds 2005-04-16 936 SCpnt->scsi_done = done;
^1da177e4c3f41 Linus Torvalds 2005-04-16 937 data->CurrentSC = SCpnt;
^1da177e4c3f41 Linus Torvalds 2005-04-16 @938 SCpnt->SCp.Status = CHECK_CONDITION;
^1da177e4c3f41 Linus Torvalds 2005-04-16 939 SCpnt->SCp.Message = 0;
2e91724658d5d6 FUJITA Tomonori 2007-05-26 940 scsi_set_resid(SCpnt, scsi_bufflen(SCpnt));
^1da177e4c3f41 Linus Torvalds 2005-04-16 941
2e91724658d5d6 FUJITA Tomonori 2007-05-26 942 SCpnt->SCp.ptr = (char *)scsi_sglist(SCpnt);
2e91724658d5d6 FUJITA Tomonori 2007-05-26 943 SCpnt->SCp.this_residual = scsi_bufflen(SCpnt);
^1da177e4c3f41 Linus Torvalds 2005-04-16 944 SCpnt->SCp.buffer = NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 945 SCpnt->SCp.buffers_residual = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 946
^1da177e4c3f41 Linus Torvalds 2005-04-16 947 /* initialize data */
^1da177e4c3f41 Linus Torvalds 2005-04-16 948 data->msgout_len = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 949 data->msgin_len = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 950 cur_lunt = &(data->lunt[SCpnt->device->id][SCpnt->device->lun]);
^1da177e4c3f41 Linus Torvalds 2005-04-16 951 cur_lunt->SCpnt = SCpnt;
^1da177e4c3f41 Linus Torvalds 2005-04-16 952 cur_lunt->save_datp = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 953 cur_lunt->msgin03 = FALSE;
^1da177e4c3f41 Linus Torvalds 2005-04-16 954 data->cur_lunt = cur_lunt;
^1da177e4c3f41 Linus Torvalds 2005-04-16 955 data->cur_id = SCpnt->device->id;
^1da177e4c3f41 Linus Torvalds 2005-04-16 956 data->cur_lun = SCpnt->device->lun;
^1da177e4c3f41 Linus Torvalds 2005-04-16 957
^1da177e4c3f41 Linus Torvalds 2005-04-16 958 ret = nsp32_setup_sg_table(SCpnt);
^1da177e4c3f41 Linus Torvalds 2005-04-16 959 if (ret == FALSE) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 960 nsp32_msg(KERN_ERR, "SGT fail");
^1da177e4c3f41 Linus Torvalds 2005-04-16 961 SCpnt->result = DID_ERROR << 16;
^1da177e4c3f41 Linus Torvalds 2005-04-16 962 nsp32_scsi_done(SCpnt);
^1da177e4c3f41 Linus Torvalds 2005-04-16 963 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 964 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 965
^1da177e4c3f41 Linus Torvalds 2005-04-16 966 /* Build IDENTIFY */
^1da177e4c3f41 Linus Torvalds 2005-04-16 967 nsp32_build_identify(SCpnt);
^1da177e4c3f41 Linus Torvalds 2005-04-16 968
^1da177e4c3f41 Linus Torvalds 2005-04-16 969 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 970 * If target is the first time to transfer after the reset
^1da177e4c3f41 Linus Torvalds 2005-04-16 971 * (target don't have SDTR_DONE and SDTR_INITIATOR), sync
^1da177e4c3f41 Linus Torvalds 2005-04-16 972 * message SDTR is needed to do synchronous transfer.
^1da177e4c3f41 Linus Torvalds 2005-04-16 973 */
422c0d61d591cb Jeff Garzik 2005-10-24 974 target = &data->target[scmd_id(SCpnt)];
^1da177e4c3f41 Linus Torvalds 2005-04-16 975 data->cur_target = target;
^1da177e4c3f41 Linus Torvalds 2005-04-16 976
^1da177e4c3f41 Linus Torvalds 2005-04-16 977 if (!(target->sync_flag & (SDTR_DONE | SDTR_INITIATOR | SDTR_TARGET))) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 978 unsigned char period, offset;
^1da177e4c3f41 Linus Torvalds 2005-04-16 979
^1da177e4c3f41 Linus Torvalds 2005-04-16 980 if (trans_mode != ASYNC_MODE) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 981 nsp32_set_max_sync(data, target, &period, &offset);
^1da177e4c3f41 Linus Torvalds 2005-04-16 982 nsp32_build_sdtr(SCpnt, period, offset);
^1da177e4c3f41 Linus Torvalds 2005-04-16 983 target->sync_flag |= SDTR_INITIATOR;
^1da177e4c3f41 Linus Torvalds 2005-04-16 984 } else {
^1da177e4c3f41 Linus Torvalds 2005-04-16 985 nsp32_set_async(data, target);
^1da177e4c3f41 Linus Torvalds 2005-04-16 986 target->sync_flag |= SDTR_DONE;
^1da177e4c3f41 Linus Torvalds 2005-04-16 987 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 988
^1da177e4c3f41 Linus Torvalds 2005-04-16 989 nsp32_dbg(NSP32_DEBUG_QUEUECOMMAND,
^1da177e4c3f41 Linus Torvalds 2005-04-16 990 "SDTR: entry: %d start_period: 0x%x offset: 0x%x\n",
^1da177e4c3f41 Linus Torvalds 2005-04-16 991 target->limit_entry, period, offset);
^1da177e4c3f41 Linus Torvalds 2005-04-16 992 } else if (target->sync_flag & SDTR_INITIATOR) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 993 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 994 * It was negotiating SDTR with target, sending from the
^1da177e4c3f41 Linus Torvalds 2005-04-16 995 * initiator, but there are no chance to remove this flag.
^1da177e4c3f41 Linus Torvalds 2005-04-16 996 * Set async because we don't get proper negotiation.
^1da177e4c3f41 Linus Torvalds 2005-04-16 997 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 998 nsp32_set_async(data, target);
^1da177e4c3f41 Linus Torvalds 2005-04-16 999 target->sync_flag &= ~SDTR_INITIATOR;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1000 target->sync_flag |= SDTR_DONE;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1001
^1da177e4c3f41 Linus Torvalds 2005-04-16 1002 nsp32_dbg(NSP32_DEBUG_QUEUECOMMAND,
^1da177e4c3f41 Linus Torvalds 2005-04-16 1003 "SDTR_INITIATOR: fall back to async");
^1da177e4c3f41 Linus Torvalds 2005-04-16 1004 } else if (target->sync_flag & SDTR_TARGET) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1005 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 1006 * It was negotiating SDTR with target, sending from target,
^1da177e4c3f41 Linus Torvalds 2005-04-16 1007 * but there are no chance to remove this flag. Set async
^1da177e4c3f41 Linus Torvalds 2005-04-16 1008 * because we don't get proper negotiation.
^1da177e4c3f41 Linus Torvalds 2005-04-16 1009 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 1010 nsp32_set_async(data, target);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1011 target->sync_flag &= ~SDTR_TARGET;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1012 target->sync_flag |= SDTR_DONE;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1013
^1da177e4c3f41 Linus Torvalds 2005-04-16 1014 nsp32_dbg(NSP32_DEBUG_QUEUECOMMAND,
^1da177e4c3f41 Linus Torvalds 2005-04-16 1015 "Unknown SDTR from target is reached, fall back to async.");
^1da177e4c3f41 Linus Torvalds 2005-04-16 1016 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1017
^1da177e4c3f41 Linus Torvalds 2005-04-16 1018 nsp32_dbg(NSP32_DEBUG_TARGETFLAG,
^1da177e4c3f41 Linus Torvalds 2005-04-16 1019 "target: %d sync_flag: 0x%x syncreg: 0x%x ackwidth: 0x%x",
^1da177e4c3f41 Linus Torvalds 2005-04-16 1020 SCpnt->device->id, target->sync_flag, target->syncreg,
^1da177e4c3f41 Linus Torvalds 2005-04-16 1021 target->ackwidth);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1022
^1da177e4c3f41 Linus Torvalds 2005-04-16 1023 /* Selection */
^1da177e4c3f41 Linus Torvalds 2005-04-16 1024 if (auto_param == 0) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1025 ret = nsp32_selection_autopara(SCpnt);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1026 } else {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1027 ret = nsp32_selection_autoscsi(SCpnt);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1028 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1029
^1da177e4c3f41 Linus Torvalds 2005-04-16 1030 if (ret != TRUE) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1031 nsp32_dbg(NSP32_DEBUG_QUEUECOMMAND, "selection fail");
^1da177e4c3f41 Linus Torvalds 2005-04-16 1032 nsp32_scsi_done(SCpnt);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1033 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1034
^1da177e4c3f41 Linus Torvalds 2005-04-16 1035 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1036 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1037
:::::: The code at line 938 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 29086 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH 09/24] scsi: Kill obsolete linux-specific status codes
Date: Sat, 02 Nov 2019 21:14:26 +0800 [thread overview]
Message-ID: <201911022141.iTiIsVvv%lkp@intel.com> (raw)
In-Reply-To: <20191031110452.73463-10-hare@suse.de>
[-- Attachment #1: Type: text/plain, Size: 13012 bytes --]
Hi Hannes,
I love your patch! Yet something to improve:
[auto build test ERROR on mkp-scsi/for-next]
[also build test ERROR on v5.4-rc5 next-20191031]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Hannes-Reinecke/Revamp-SCSI-result-values/20191102-095955
base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next
config: i386-randconfig-a002-201943 (attached as .config)
compiler: gcc-6 (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/scsi/nsp32.c: In function 'nsp32_queuecommand_lck':
>> drivers/scsi/nsp32.c:938:25: error: 'CHECK_CONDITION' undeclared (first use in this function)
SCpnt->SCp.Status = CHECK_CONDITION;
^~~~~~~~~~~~~~~
drivers/scsi/nsp32.c:938:25: note: each undeclared identifier is reported only once for each function it appears in
vim +/CHECK_CONDITION +938 drivers/scsi/nsp32.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 896
f281233d3eba15 Jeff Garzik 2010-11-16 897 static int nsp32_queuecommand_lck(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *))
^1da177e4c3f41 Linus Torvalds 2005-04-16 898 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 899 nsp32_hw_data *data = (nsp32_hw_data *)SCpnt->device->host->hostdata;
^1da177e4c3f41 Linus Torvalds 2005-04-16 900 nsp32_target *target;
^1da177e4c3f41 Linus Torvalds 2005-04-16 901 nsp32_lunt *cur_lunt;
^1da177e4c3f41 Linus Torvalds 2005-04-16 902 int ret;
^1da177e4c3f41 Linus Torvalds 2005-04-16 903
^1da177e4c3f41 Linus Torvalds 2005-04-16 904 nsp32_dbg(NSP32_DEBUG_QUEUECOMMAND,
fc3850458c176a Hans Wennborg 2014-08-05 905 "enter. target: 0x%x LUN: 0x%llx cmnd: 0x%x cmndlen: 0x%x "
^1da177e4c3f41 Linus Torvalds 2005-04-16 906 "use_sg: 0x%x reqbuf: 0x%lx reqlen: 0x%x",
^1da177e4c3f41 Linus Torvalds 2005-04-16 907 SCpnt->device->id, SCpnt->device->lun, SCpnt->cmnd[0], SCpnt->cmd_len,
2e91724658d5d6 FUJITA Tomonori 2007-05-26 908 scsi_sg_count(SCpnt), scsi_sglist(SCpnt), scsi_bufflen(SCpnt));
^1da177e4c3f41 Linus Torvalds 2005-04-16 909
^1da177e4c3f41 Linus Torvalds 2005-04-16 910 if (data->CurrentSC != NULL) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 911 nsp32_msg(KERN_ERR, "Currentsc != NULL. Cancel this command request");
^1da177e4c3f41 Linus Torvalds 2005-04-16 912 data->CurrentSC = NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 913 SCpnt->result = DID_NO_CONNECT << 16;
^1da177e4c3f41 Linus Torvalds 2005-04-16 914 done(SCpnt);
^1da177e4c3f41 Linus Torvalds 2005-04-16 915 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 916 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 917
^1da177e4c3f41 Linus Torvalds 2005-04-16 918 /* check target ID is not same as this initiator ID */
422c0d61d591cb Jeff Garzik 2005-10-24 919 if (scmd_id(SCpnt) == SCpnt->device->host->this_id) {
9b13494c916dc0 Masanari Iida 2014-08-06 920 nsp32_dbg(NSP32_DEBUG_QUEUECOMMAND, "target==host???");
^1da177e4c3f41 Linus Torvalds 2005-04-16 921 SCpnt->result = DID_BAD_TARGET << 16;
^1da177e4c3f41 Linus Torvalds 2005-04-16 922 done(SCpnt);
^1da177e4c3f41 Linus Torvalds 2005-04-16 923 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 924 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 925
^1da177e4c3f41 Linus Torvalds 2005-04-16 926 /* check target LUN is allowable value */
^1da177e4c3f41 Linus Torvalds 2005-04-16 927 if (SCpnt->device->lun >= MAX_LUN) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 928 nsp32_dbg(NSP32_DEBUG_QUEUECOMMAND, "no more lun");
^1da177e4c3f41 Linus Torvalds 2005-04-16 929 SCpnt->result = DID_BAD_TARGET << 16;
^1da177e4c3f41 Linus Torvalds 2005-04-16 930 done(SCpnt);
^1da177e4c3f41 Linus Torvalds 2005-04-16 931 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 932 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 933
^1da177e4c3f41 Linus Torvalds 2005-04-16 934 show_command(SCpnt);
^1da177e4c3f41 Linus Torvalds 2005-04-16 935
^1da177e4c3f41 Linus Torvalds 2005-04-16 936 SCpnt->scsi_done = done;
^1da177e4c3f41 Linus Torvalds 2005-04-16 937 data->CurrentSC = SCpnt;
^1da177e4c3f41 Linus Torvalds 2005-04-16 @938 SCpnt->SCp.Status = CHECK_CONDITION;
^1da177e4c3f41 Linus Torvalds 2005-04-16 939 SCpnt->SCp.Message = 0;
2e91724658d5d6 FUJITA Tomonori 2007-05-26 940 scsi_set_resid(SCpnt, scsi_bufflen(SCpnt));
^1da177e4c3f41 Linus Torvalds 2005-04-16 941
2e91724658d5d6 FUJITA Tomonori 2007-05-26 942 SCpnt->SCp.ptr = (char *)scsi_sglist(SCpnt);
2e91724658d5d6 FUJITA Tomonori 2007-05-26 943 SCpnt->SCp.this_residual = scsi_bufflen(SCpnt);
^1da177e4c3f41 Linus Torvalds 2005-04-16 944 SCpnt->SCp.buffer = NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 945 SCpnt->SCp.buffers_residual = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 946
^1da177e4c3f41 Linus Torvalds 2005-04-16 947 /* initialize data */
^1da177e4c3f41 Linus Torvalds 2005-04-16 948 data->msgout_len = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 949 data->msgin_len = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 950 cur_lunt = &(data->lunt[SCpnt->device->id][SCpnt->device->lun]);
^1da177e4c3f41 Linus Torvalds 2005-04-16 951 cur_lunt->SCpnt = SCpnt;
^1da177e4c3f41 Linus Torvalds 2005-04-16 952 cur_lunt->save_datp = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 953 cur_lunt->msgin03 = FALSE;
^1da177e4c3f41 Linus Torvalds 2005-04-16 954 data->cur_lunt = cur_lunt;
^1da177e4c3f41 Linus Torvalds 2005-04-16 955 data->cur_id = SCpnt->device->id;
^1da177e4c3f41 Linus Torvalds 2005-04-16 956 data->cur_lun = SCpnt->device->lun;
^1da177e4c3f41 Linus Torvalds 2005-04-16 957
^1da177e4c3f41 Linus Torvalds 2005-04-16 958 ret = nsp32_setup_sg_table(SCpnt);
^1da177e4c3f41 Linus Torvalds 2005-04-16 959 if (ret == FALSE) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 960 nsp32_msg(KERN_ERR, "SGT fail");
^1da177e4c3f41 Linus Torvalds 2005-04-16 961 SCpnt->result = DID_ERROR << 16;
^1da177e4c3f41 Linus Torvalds 2005-04-16 962 nsp32_scsi_done(SCpnt);
^1da177e4c3f41 Linus Torvalds 2005-04-16 963 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 964 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 965
^1da177e4c3f41 Linus Torvalds 2005-04-16 966 /* Build IDENTIFY */
^1da177e4c3f41 Linus Torvalds 2005-04-16 967 nsp32_build_identify(SCpnt);
^1da177e4c3f41 Linus Torvalds 2005-04-16 968
^1da177e4c3f41 Linus Torvalds 2005-04-16 969 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 970 * If target is the first time to transfer after the reset
^1da177e4c3f41 Linus Torvalds 2005-04-16 971 * (target don't have SDTR_DONE and SDTR_INITIATOR), sync
^1da177e4c3f41 Linus Torvalds 2005-04-16 972 * message SDTR is needed to do synchronous transfer.
^1da177e4c3f41 Linus Torvalds 2005-04-16 973 */
422c0d61d591cb Jeff Garzik 2005-10-24 974 target = &data->target[scmd_id(SCpnt)];
^1da177e4c3f41 Linus Torvalds 2005-04-16 975 data->cur_target = target;
^1da177e4c3f41 Linus Torvalds 2005-04-16 976
^1da177e4c3f41 Linus Torvalds 2005-04-16 977 if (!(target->sync_flag & (SDTR_DONE | SDTR_INITIATOR | SDTR_TARGET))) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 978 unsigned char period, offset;
^1da177e4c3f41 Linus Torvalds 2005-04-16 979
^1da177e4c3f41 Linus Torvalds 2005-04-16 980 if (trans_mode != ASYNC_MODE) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 981 nsp32_set_max_sync(data, target, &period, &offset);
^1da177e4c3f41 Linus Torvalds 2005-04-16 982 nsp32_build_sdtr(SCpnt, period, offset);
^1da177e4c3f41 Linus Torvalds 2005-04-16 983 target->sync_flag |= SDTR_INITIATOR;
^1da177e4c3f41 Linus Torvalds 2005-04-16 984 } else {
^1da177e4c3f41 Linus Torvalds 2005-04-16 985 nsp32_set_async(data, target);
^1da177e4c3f41 Linus Torvalds 2005-04-16 986 target->sync_flag |= SDTR_DONE;
^1da177e4c3f41 Linus Torvalds 2005-04-16 987 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 988
^1da177e4c3f41 Linus Torvalds 2005-04-16 989 nsp32_dbg(NSP32_DEBUG_QUEUECOMMAND,
^1da177e4c3f41 Linus Torvalds 2005-04-16 990 "SDTR: entry: %d start_period: 0x%x offset: 0x%x\n",
^1da177e4c3f41 Linus Torvalds 2005-04-16 991 target->limit_entry, period, offset);
^1da177e4c3f41 Linus Torvalds 2005-04-16 992 } else if (target->sync_flag & SDTR_INITIATOR) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 993 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 994 * It was negotiating SDTR with target, sending from the
^1da177e4c3f41 Linus Torvalds 2005-04-16 995 * initiator, but there are no chance to remove this flag.
^1da177e4c3f41 Linus Torvalds 2005-04-16 996 * Set async because we don't get proper negotiation.
^1da177e4c3f41 Linus Torvalds 2005-04-16 997 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 998 nsp32_set_async(data, target);
^1da177e4c3f41 Linus Torvalds 2005-04-16 999 target->sync_flag &= ~SDTR_INITIATOR;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1000 target->sync_flag |= SDTR_DONE;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1001
^1da177e4c3f41 Linus Torvalds 2005-04-16 1002 nsp32_dbg(NSP32_DEBUG_QUEUECOMMAND,
^1da177e4c3f41 Linus Torvalds 2005-04-16 1003 "SDTR_INITIATOR: fall back to async");
^1da177e4c3f41 Linus Torvalds 2005-04-16 1004 } else if (target->sync_flag & SDTR_TARGET) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1005 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 1006 * It was negotiating SDTR with target, sending from target,
^1da177e4c3f41 Linus Torvalds 2005-04-16 1007 * but there are no chance to remove this flag. Set async
^1da177e4c3f41 Linus Torvalds 2005-04-16 1008 * because we don't get proper negotiation.
^1da177e4c3f41 Linus Torvalds 2005-04-16 1009 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 1010 nsp32_set_async(data, target);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1011 target->sync_flag &= ~SDTR_TARGET;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1012 target->sync_flag |= SDTR_DONE;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1013
^1da177e4c3f41 Linus Torvalds 2005-04-16 1014 nsp32_dbg(NSP32_DEBUG_QUEUECOMMAND,
^1da177e4c3f41 Linus Torvalds 2005-04-16 1015 "Unknown SDTR from target is reached, fall back to async.");
^1da177e4c3f41 Linus Torvalds 2005-04-16 1016 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1017
^1da177e4c3f41 Linus Torvalds 2005-04-16 1018 nsp32_dbg(NSP32_DEBUG_TARGETFLAG,
^1da177e4c3f41 Linus Torvalds 2005-04-16 1019 "target: %d sync_flag: 0x%x syncreg: 0x%x ackwidth: 0x%x",
^1da177e4c3f41 Linus Torvalds 2005-04-16 1020 SCpnt->device->id, target->sync_flag, target->syncreg,
^1da177e4c3f41 Linus Torvalds 2005-04-16 1021 target->ackwidth);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1022
^1da177e4c3f41 Linus Torvalds 2005-04-16 1023 /* Selection */
^1da177e4c3f41 Linus Torvalds 2005-04-16 1024 if (auto_param == 0) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1025 ret = nsp32_selection_autopara(SCpnt);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1026 } else {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1027 ret = nsp32_selection_autoscsi(SCpnt);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1028 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1029
^1da177e4c3f41 Linus Torvalds 2005-04-16 1030 if (ret != TRUE) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1031 nsp32_dbg(NSP32_DEBUG_QUEUECOMMAND, "selection fail");
^1da177e4c3f41 Linus Torvalds 2005-04-16 1032 nsp32_scsi_done(SCpnt);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1033 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1034
^1da177e4c3f41 Linus Torvalds 2005-04-16 1035 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1036 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1037
:::::: The code at line 938 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 29086 bytes --]
next prev parent reply other threads:[~2019-11-02 13:14 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-31 11:04 [PATCHv2 00/24] Revamp SCSI result values Hannes Reinecke
2019-10-31 11:04 ` [PATCH 01/24] aic7xxx,aic79xxx: remove driver-defined SAM status definitions Hannes Reinecke
2019-11-01 16:14 ` Bart Van Assche
2019-10-31 11:04 ` [PATCH 02/24] bfa: drop driver-defined SCSI status codes Hannes Reinecke
2019-11-01 16:15 ` Bart Van Assche
2019-10-31 11:04 ` [PATCH 03/24] wd33c93: use SCSI status Hannes Reinecke
2019-11-01 16:16 ` Bart Van Assche
2019-10-31 11:04 ` [PATCH 04/24] acornscsi: use standard defines Hannes Reinecke
2019-11-01 16:18 ` Bart Van Assche
2019-11-01 16:40 ` Hannes Reinecke
2019-10-31 11:04 ` [PATCH 05/24] scsi: use standard SAM status codes Hannes Reinecke
2019-11-01 16:26 ` Bart Van Assche
2019-11-01 16:54 ` Hannes Reinecke
2019-11-01 18:10 ` Bart Van Assche
2019-10-31 11:04 ` [PATCH 06/24] scsi: change status_byte() to return the standard SCSI status Hannes Reinecke
2019-10-31 11:04 ` [PATCH 07/24] target_core: Fixup target_complete_cmd() usage Hannes Reinecke
2019-11-01 16:29 ` Bart Van Assche
2019-10-31 11:04 ` [PATCH 08/24] sg: use SAM status definitions and avoid using masked_status Hannes Reinecke
2019-10-31 11:04 ` [PATCH 09/24] scsi: Kill obsolete linux-specific status codes Hannes Reinecke
2019-11-02 13:14 ` kbuild test robot [this message]
2019-11-02 13:14 ` kbuild test robot
2019-10-31 11:04 ` [PATCH 10/24] scsi: introduce set_status_byte() Hannes Reinecke
2019-11-01 16:36 ` Bart Van Assche
2019-10-31 11:04 ` [PATCH 11/24] advansys: kill driver_defined status byte accessors Hannes Reinecke
2019-10-31 11:04 ` [PATCH 12/24] scsi: introduce scsi_build_sense() Hannes Reinecke
2019-11-01 16:35 ` Bart Van Assche
2019-10-31 11:04 ` [PATCH 13/24] scsi: Kill DRIVER_SENSE Hannes Reinecke
2019-10-31 11:04 ` [PATCH 14/24] scsi: Kill DRIVER_HARD Hannes Reinecke
2019-10-31 11:04 ` [PATCH 15/24] scsi_error: use DID_TIME_OUT instead of DRIVER_TIMEOUT Hannes Reinecke
2019-10-31 11:04 ` [PATCH 16/24] scsi: Kill DRIVER_TIMEOUT Hannes Reinecke
2019-10-31 11:04 ` [PATCH 17/24] scsi: do not use DRIVER_INVALID Hannes Reinecke
2019-11-02 3:28 ` Finn Thain
2019-10-31 11:04 ` [PATCH 18/24] st: return error code in st_scsi_execute() Hannes Reinecke
2019-10-31 11:04 ` [PATCH 19/24] scsi_ioctl: return error code when blk_rq_map_kern() fails Hannes Reinecke
2019-10-31 11:04 ` [PATCH 20/24] scsi_dh_alua: do not interpret DRIVER_ERROR Hannes Reinecke
2019-10-31 11:04 ` [PATCH 21/24] xen-scsiback: stop using DRIVER_ERROR Hannes Reinecke
2019-10-31 11:04 ` [PATCH 22/24] scsi: " Hannes Reinecke
2019-10-31 11:04 ` [PATCH 23/24] scsi: Kill DRIVER_MEDIA, DRIVER_SOFT, and DRIVER_BUSY Hannes Reinecke
2019-10-31 11:04 ` [PATCH 24/24] scsi: Drop the now obsolete driver_byte definitions Hannes Reinecke
-- strict thread matches above, loose matches on Subject: below --
2019-10-21 9:52 [PATCH RFC 00/24] scsi: Revamp result values Hannes Reinecke
2019-10-21 9:53 ` [PATCH 09/24] scsi: Kill obsolete linux-specific status codes Hannes Reinecke
2019-10-21 18:12 ` kbuild test robot
2019-10-21 18:12 ` kbuild test robot
2019-10-21 18:56 ` kbuild test robot
2019-10-21 18:56 ` kbuild test robot
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=201911022141.iTiIsVvv%lkp@intel.com \
--to=lkp@intel.com \
--cc=hare@suse.de \
--cc=hch@lst.de \
--cc=james.bottomley@hansenpartnership.com \
--cc=kbuild-all@lists.01.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.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.