[PATCH v3] nvme-tcp: Do not reset transport on data digest errors

kernel test robot lkp at intel.com
Thu Aug 26 17:45:44 PDT 2021


Hi Daniel,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on next-20210825]
[cannot apply to linux/master linus/master v5.14-rc7 v5.14-rc6 v5.14-rc5 v5.14-rc7]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Daniel-Wagner/nvme-tcp-Do-not-reset-transport-on-data-digest-errors/20210826-162342
base:    7636510f976d75b860848884169ba985c8f844d8
config: arc-randconfig-s031-20210826 (attached as .config)
compiler: arc-elf-gcc (GCC) 11.2.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-348-gf0e6938b-dirty
        # https://github.com/0day-ci/linux/commit/92725dd7ae69044f33fd17f708da5d3079a041ce
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Daniel-Wagner/nvme-tcp-Do-not-reset-transport-on-data-digest-errors/20210826-162342
        git checkout 92725dd7ae69044f33fd17f708da5d3079a041ce
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arc 

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


sparse warnings: (new ones prefixed by >>)
>> drivers/nvme/host/tcp.c:505:24: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short [assigned] [usertype] status @@     got restricted __le16 [usertype] status @@
   drivers/nvme/host/tcp.c:505:24: sparse:     expected unsigned short [assigned] [usertype] status
   drivers/nvme/host/tcp.c:505:24: sparse:     got restricted __le16 [usertype] status
>> drivers/nvme/host/tcp.c:507:40: sparse: sparse: incorrect type in argument 2 (different base types) @@     expected restricted __le16 [usertype] status @@     got unsigned short [assigned] [usertype] status @@
   drivers/nvme/host/tcp.c:507:40: sparse:     expected restricted __le16 [usertype] status
   drivers/nvme/host/tcp.c:507:40: sparse:     got unsigned short [assigned] [usertype] status

vim +505 drivers/nvme/host/tcp.c

   485	
   486	static int nvme_tcp_process_nvme_cqe(struct nvme_tcp_queue *queue,
   487			struct nvme_completion *cqe)
   488	{
   489		struct nvme_tcp_request *req;
   490		struct request *rq;
   491		u16 status;
   492	
   493		rq = nvme_find_rq(nvme_tcp_tagset(queue), cqe->command_id);
   494		if (!rq) {
   495			dev_err(queue->ctrl->ctrl.device,
   496				"got bad cqe.command_id %#x on queue %d\n",
   497				cqe->command_id, nvme_tcp_queue_id(queue));
   498			nvme_tcp_error_recovery(&queue->ctrl->ctrl);
   499			return -EINVAL;
   500		}
   501	
   502		req = blk_mq_rq_to_pdu(rq);
   503		status = req->status;
   504		if (status == NVME_SC_SUCCESS)
 > 505			status = cqe->status;
   506	
 > 507		if (!nvme_try_complete_req(rq, status, cqe->result))
   508			nvme_complete_rq(rq);
   509		queue->nr_cqe++;
   510	
   511		return 0;
   512	}
   513	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 41302 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-nvme/attachments/20210827/e386de71/attachment-0001.gz>


More information about the Linux-nvme mailing list