All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [hare-scsi-devel:scsi-result-rework 106/146] drivers/scsi/qla2xxx/qla_mr.c:2320:21: sparse: sparse: incorrect type in argument 5 (different base types)
Date: Thu, 22 Apr 2021 05:31:35 +0800	[thread overview]
Message-ID: <202104220525.Ro5uvGac-lkp@intel.com> (raw)

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

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git scsi-result-rework
head:   19720ea7b22b443a182646eef7edc36e32e7b515
commit: 80464ce86e0dbdbbf28e156dd0e7203808d39e77 [106/146] qla2xxx: convert qlafx00_status_entry() to cpu-endianness
config: riscv-randconfig-s032-20210421 (attached as .config)
compiler: riscv64-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.3-341-g8af24329-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git/commit/?id=80464ce86e0dbdbbf28e156dd0e7203808d39e77
        git remote add hare-scsi-devel https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git
        git fetch --no-tags hare-scsi-devel scsi-result-rework
        git checkout 80464ce86e0dbdbbf28e156dd0e7203808d39e77
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=riscv 

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


sparse warnings: (new ones prefixed by >>)
>> drivers/scsi/qla2xxx/qla_mr.c:2320:21: sparse: sparse: incorrect type in argument 5 (different base types) @@     expected restricted __le16 [usertype] sstatus @@     got unsigned short [assigned] [usertype] scsi_status @@
   drivers/scsi/qla2xxx/qla_mr.c:2320:21: sparse:     expected restricted __le16 [usertype] sstatus
   drivers/scsi/qla2xxx/qla_mr.c:2320:21: sparse:     got unsigned short [assigned] [usertype] scsi_status
>> drivers/scsi/qla2xxx/qla_mr.c:2320:34: sparse: sparse: incorrect type in argument 6 (different base types) @@     expected restricted __le16 [assigned] [usertype] cpstatus @@     got unsigned short [assigned] [usertype] comp_status @@
   drivers/scsi/qla2xxx/qla_mr.c:2320:34: sparse:     expected restricted __le16 [assigned] [usertype] cpstatus
   drivers/scsi/qla2xxx/qla_mr.c:2320:34: sparse:     got unsigned short [assigned] [usertype] comp_status

vim +2320 drivers/scsi/qla2xxx/qla_mr.c

8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2264  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2265  /**
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2266   * qlafx00_status_entry() - Process a Status IOCB entry.
2db6228d9cd13b Bart Van Assche    2018-01-23  2267   * @vha: SCSI driver HA context
2db6228d9cd13b Bart Van Assche    2018-01-23  2268   * @rsp: response queue
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2269   * @pkt: Entry pointer
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2270   */
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2271  static void
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2272  qlafx00_status_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, void *pkt)
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2273  {
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2274  	srb_t		*sp;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2275  	fc_port_t	*fcport;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2276  	struct scsi_cmnd *cp;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2277  	struct sts_entry_fx00 *sts;
80464ce86e0dbd Hannes Reinecke    2020-11-25  2278  	uint16_t		comp_status;
80464ce86e0dbd Hannes Reinecke    2020-11-25  2279  	uint16_t	scsi_status;
80464ce86e0dbd Hannes Reinecke    2020-11-25  2280  	uint8_t		lscsi_status;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2281  	int32_t		resid;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2282  	uint32_t	sense_len, par_sense_len, rsp_info_len, resid_len,
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2283  	    fw_resid_len;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2284  	uint8_t		*rsp_info = NULL, *sense_data = NULL;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2285  	struct qla_hw_data *ha = vha->hw;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2286  	uint32_t hindex, handle;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2287  	uint16_t que;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2288  	struct req_que *req;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2289  	int logit = 1;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2290  	int res = 0;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2291  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2292  	sts = (struct sts_entry_fx00 *) pkt;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2293  
80464ce86e0dbd Hannes Reinecke    2020-11-25  2294  	comp_status = le16_to_cpu(sts->comp_status);
80464ce86e0dbd Hannes Reinecke    2020-11-25  2295  	scsi_status = le16_to_cpu(sts->scsi_status) & (uint16_t)SS_MASK;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2296  	hindex = sts->handle;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2297  	handle = LSW(hindex);
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2298  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2299  	que = MSW(hindex);
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2300  	req = ha->req_q_map[que];
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2301  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2302  	/* Validate handle. */
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2303  	if (handle < req->num_outstanding_cmds)
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2304  		sp = req->outstanding_cmds[handle];
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2305  	else
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2306  		sp = NULL;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2307  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2308  	if (sp == NULL) {
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2309  		ql_dbg(ql_dbg_io, vha, 0x3034,
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2310  		    "Invalid status handle (0x%x).\n", handle);
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2311  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2312  		set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2313  		qla2xxx_wake_dpc(vha);
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2314  		return;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2315  	}
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2316  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2317  	if (sp->type == SRB_TM_CMD) {
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2318  		req->outstanding_cmds[handle] = NULL;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2319  		qlafx00_tm_iocb_entry(vha, req, pkt, sp,
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28 @2320  		    scsi_status, comp_status);
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2321  		return;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2322  	}
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2323  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2324  	/* Fast path completion. */
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2325  	if (comp_status == CS_COMPLETE && scsi_status == 0) {
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2326  		qla2x00_process_completed_request(vha, req, handle);
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2327  		return;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2328  	}
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2329  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2330  	req->outstanding_cmds[handle] = NULL;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2331  	cp = GET_CMD_SP(sp);
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2332  	if (cp == NULL) {
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2333  		ql_dbg(ql_dbg_io, vha, 0x3048,
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2334  		    "Command already returned (0x%x/%p).\n",
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2335  		    handle, sp);
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2336  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2337  		return;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2338  	}
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2339  
80464ce86e0dbd Hannes Reinecke    2020-11-25  2340  	lscsi_status = scsi_status & 0xff;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2341  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2342  	fcport = sp->fcport;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2343  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2344  	sense_len = par_sense_len = rsp_info_len = resid_len =
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2345  		fw_resid_len = 0;
80464ce86e0dbd Hannes Reinecke    2020-11-25  2346  	if (scsi_status & SS_SENSE_LEN_VALID)
1f8deefecdda5a Saurav Kashyap     2013-06-25  2347  		sense_len = sts->sense_len;
80464ce86e0dbd Hannes Reinecke    2020-11-25  2348  	if (scsi_status & (SS_RESIDUAL_UNDER | SS_RESIDUAL_OVER))
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2349  		resid_len = le32_to_cpu(sts->residual_len);
80464ce86e0dbd Hannes Reinecke    2020-11-25  2350  	if (comp_status == CS_DATA_UNDERRUN)
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2351  		fw_resid_len = le32_to_cpu(sts->residual_len);
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2352  	rsp_info = sense_data = sts->data;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2353  	par_sense_len = sizeof(sts->data);
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2354  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2355  	/* Check for overrun. */
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2356  	if (comp_status == CS_COMPLETE &&
80464ce86e0dbd Hannes Reinecke    2020-11-25  2357  	    (scsi_status & SS_RESIDUAL_OVER))
80464ce86e0dbd Hannes Reinecke    2020-11-25  2358  		comp_status = CS_DATA_OVERRUN;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2359  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2360  	/*
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2361  	 * Based on Host and scsi status generate status code for Linux
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2362  	 */
80464ce86e0dbd Hannes Reinecke    2020-11-25  2363  	switch (comp_status) {
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2364  	case CS_COMPLETE:
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2365  	case CS_QUEUE_FULL:
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2366  		if (scsi_status == 0) {
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2367  			res = DID_OK << 16;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2368  			break;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2369  		}
80464ce86e0dbd Hannes Reinecke    2020-11-25  2370  		if (scsi_status & (SS_RESIDUAL_UNDER |SS_RESIDUAL_OVER)) {
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2371  			resid = resid_len;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2372  			scsi_set_resid(cp, resid);
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2373  
80464ce86e0dbd Hannes Reinecke    2020-11-25  2374  			if (lscsi_status == SAM_STAT_GOOD &&
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2375  			    ((unsigned)(scsi_bufflen(cp) - resid) <
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2376  			     cp->underflow)) {
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2377  				ql_dbg(ql_dbg_io, fcport->vha, 0x3050,
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2378  				    "Mid-layer underflow "
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2379  				    "detected (0x%x of 0x%x bytes).\n",
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2380  				    resid, scsi_bufflen(cp));
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2381  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2382  				res = DID_ERROR << 16;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2383  				break;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2384  			}
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2385  		}
80464ce86e0dbd Hannes Reinecke    2020-11-25  2386  		res = DID_OK << 16 | lscsi_status;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2387  
80464ce86e0dbd Hannes Reinecke    2020-11-25  2388  		if (lscsi_status == SAM_STAT_TASK_SET_FULL) {
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2389  			ql_dbg(ql_dbg_io, fcport->vha, 0x3051,
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2390  			    "QUEUE FULL detected.\n");
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2391  			break;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2392  		}
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2393  		logit = 0;
80464ce86e0dbd Hannes Reinecke    2020-11-25  2394  		if (lscsi_status != SAM_STAT_CHECK_CONDITION)
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2395  			break;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2396  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2397  		memset(cp->sense_buffer, 0, SCSI_SENSE_BUFFERSIZE);
80464ce86e0dbd Hannes Reinecke    2020-11-25  2398  		if (!(scsi_status & SS_SENSE_LEN_VALID))
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2399  			break;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2400  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2401  		qlafx00_handle_sense(sp, sense_data, par_sense_len, sense_len,
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2402  		    rsp, res);
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2403  		break;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2404  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2405  	case CS_DATA_UNDERRUN:
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2406  		/* Use F/W calculated residual length. */
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2407  		if (IS_FWI2_CAPABLE(ha) || IS_QLAFX00(ha))
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2408  			resid = fw_resid_len;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2409  		else
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2410  			resid = resid_len;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2411  		scsi_set_resid(cp, resid);
80464ce86e0dbd Hannes Reinecke    2020-11-25  2412  		if (scsi_status & SS_RESIDUAL_UNDER) {
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2413  			if ((IS_FWI2_CAPABLE(ha) || IS_QLAFX00(ha))
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2414  			    && fw_resid_len != resid_len) {
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2415  				ql_dbg(ql_dbg_io, fcport->vha, 0x3052,
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2416  				    "Dropped frame(s) detected "
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2417  				    "(0x%x of 0x%x bytes).\n",
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2418  				    resid, scsi_bufflen(cp));
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2419  
80464ce86e0dbd Hannes Reinecke    2020-11-25  2420  				res = DID_ERROR << 16 | lscsi_status;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2421  				goto check_scsi_status;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2422  			}
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2423  
80464ce86e0dbd Hannes Reinecke    2020-11-25  2424  			if (lscsi_status == SAM_STAT_GOOD &&
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2425  			    ((unsigned)(scsi_bufflen(cp) - resid) <
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2426  			    cp->underflow)) {
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2427  				ql_dbg(ql_dbg_io, fcport->vha, 0x3053,
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2428  				    "Mid-layer underflow "
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2429  				    "detected (0x%x of 0x%x bytes, "
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2430  				    "cp->underflow: 0x%x).\n",
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2431  				    resid, scsi_bufflen(cp), cp->underflow);
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2432  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2433  				res = DID_ERROR << 16;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2434  				break;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2435  			}
80464ce86e0dbd Hannes Reinecke    2020-11-25  2436  		} else if (lscsi_status != SAM_STAT_TASK_SET_FULL &&
80464ce86e0dbd Hannes Reinecke    2020-11-25  2437  			   lscsi_status != SAM_STAT_BUSY) {
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2438  			/*
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2439  			 * scsi status of task set and busy are considered
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2440  			 * to be task not completed.
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2441  			 */
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2442  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2443  			ql_dbg(ql_dbg_io, fcport->vha, 0x3054,
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2444  			    "Dropped frame(s) detected (0x%x "
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2445  			    "of 0x%x bytes).\n", resid,
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2446  			    scsi_bufflen(cp));
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2447  
80464ce86e0dbd Hannes Reinecke    2020-11-25  2448  			res = DID_ERROR << 16 | lscsi_status;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2449  			goto check_scsi_status;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2450  		} else {
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2451  			ql_dbg(ql_dbg_io, fcport->vha, 0x3055,
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2452  			    "scsi_status: 0x%x, lscsi_status: 0x%x\n",
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2453  			    scsi_status, lscsi_status);
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2454  		}
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2455  
80464ce86e0dbd Hannes Reinecke    2020-11-25  2456  		res = DID_OK << 16 | lscsi_status;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2457  		logit = 0;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2458  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2459  check_scsi_status:
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2460  		/*
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2461  		 * Check to see if SCSI Status is non zero. If so report SCSI
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2462  		 * Status.
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2463  		 */
80464ce86e0dbd Hannes Reinecke    2020-11-25  2464  		if (lscsi_status != SAM_STAT_GOOD) {
80464ce86e0dbd Hannes Reinecke    2020-11-25  2465  			if (lscsi_status == SAM_STAT_TASK_SET_FULL) {
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2466  				ql_dbg(ql_dbg_io, fcport->vha, 0x3056,
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2467  				    "QUEUE FULL detected.\n");
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2468  				logit = 1;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2469  				break;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2470  			}
80464ce86e0dbd Hannes Reinecke    2020-11-25  2471  			if (lscsi_status != SAM_STAT_CHECK_CONDITION)
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2472  				break;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2473  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2474  			memset(cp->sense_buffer, 0, SCSI_SENSE_BUFFERSIZE);
80464ce86e0dbd Hannes Reinecke    2020-11-25  2475  			if (!(scsi_status & SS_SENSE_LEN_VALID))
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2476  				break;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2477  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2478  			qlafx00_handle_sense(sp, sense_data, par_sense_len,
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2479  			    sense_len, rsp, res);
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2480  		}
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2481  		break;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2482  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2483  	case CS_PORT_LOGGED_OUT:
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2484  	case CS_PORT_CONFIG_CHG:
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2485  	case CS_PORT_BUSY:
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2486  	case CS_INCOMPLETE:
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2487  	case CS_PORT_UNAVAILABLE:
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2488  	case CS_TIMEOUT:
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2489  	case CS_RESET:
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2490  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2491  		/*
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2492  		 * We are going to have the fc class block the rport
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2493  		 * while we try to recover so instruct the mid layer
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2494  		 * to requeue until the class decides how to handle this.
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2495  		 */
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2496  		res = DID_TRANSPORT_DISRUPTED << 16;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2497  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2498  		ql_dbg(ql_dbg_io, fcport->vha, 0x3057,
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2499  		    "Port down status: port-state=0x%x.\n",
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2500  		    atomic_read(&fcport->state));
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2501  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2502  		if (atomic_read(&fcport->state) == FCS_ONLINE)
3c75ad1d87c7d2 Himanshu Madhani   2019-12-17  2503  			qla2x00_mark_device_lost(fcport->vha, fcport, 1);
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2504  		break;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2505  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2506  	case CS_ABORTED:
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2507  		res = DID_RESET << 16;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2508  		break;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2509  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2510  	default:
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2511  		res = DID_ERROR << 16;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2512  		break;
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2513  	}
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2514  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2515  	if (logit)
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2516  		ql_dbg(ql_dbg_io, fcport->vha, 0x3058,
9cb78c16f5dade Hannes Reinecke    2014-06-25  2517  		    "FCP command status: 0x%x-0x%x (0x%x) nexus=%ld:%d:%llu "
7b8335589035b4 Oleksandr Khoshaba 2013-08-27  2518  		    "tgt_id: 0x%x lscsi_status: 0x%x cdb=%10phN len=0x%x "
c3ff356d082759 Bart Van Assche    2015-07-09  2519  		    "rsp_info=%p resid=0x%x fw_resid=0x%x sense_len=0x%x, "
7b8335589035b4 Oleksandr Khoshaba 2013-08-27  2520  		    "par_sense_len=0x%x, rsp_info_len=0x%x\n",
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2521  		    comp_status, scsi_status, res, vha->host_no,
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2522  		    cp->device->id, cp->device->lun, fcport->tgt_id,
7b8335589035b4 Oleksandr Khoshaba 2013-08-27  2523  		    lscsi_status, cp->cmnd, scsi_bufflen(cp),
c3ff356d082759 Bart Van Assche    2015-07-09  2524  		    rsp_info, resid_len, fw_resid_len, sense_len,
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2525  		    par_sense_len, rsp_info_len);
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2526  
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2527  	if (rsp->status_srb == NULL)
25ff6af10562cf Joe Carnuccio      2017-01-19  2528  		sp->done(sp, res);
88263208dd2332 Bart Van Assche    2019-08-08  2529  	else
88263208dd2332 Bart Van Assche    2019-08-08  2530  		WARN_ON_ONCE(true);
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2531  }
8ae6d9c7eb1004 Giridhar Malavali  2013-03-28  2532  

:::::: The code at line 2320 was first introduced by commit
:::::: 8ae6d9c7eb1004bc134813287010d57a863ba13b [SCSI] qla2xxx: Enhancements to support ISPFx00.

:::::: TO: Giridhar Malavali <giridhar.malavali@qlogic.com>
:::::: CC: James Bottomley <JBottomley@Parallels.com>

---
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: 33813 bytes --]

                 reply	other threads:[~2021-04-21 21:31 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=202104220525.Ro5uvGac-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.