Re: [for-next V2] bnxt_re: fix the regression due to changes in alloc_pbl

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Devesh,

I love your patch! Yet something to improve:

[auto build test ERROR on rdma/for-next]
[also build test ERROR on next-20190222]
[cannot apply to v5.0-rc4]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Devesh-Sharma/bnxt_re-fix-the-regression-due-to-changes-in-alloc_pbl/20190223-033010
base:   https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git for-next
config: powerpc-allyesconfig (attached as .config)
compiler: powerpc64-linux-gnu-gcc (Debian 8.2.0-11) 8.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=8.2.0 make.cross ARCH=powerpc 

All errors (new ones prefixed by >>):

   drivers/infiniband/hw/bnxt_re/ib_verbs.c: In function 'bnxt_re_destroy_qp':
>> drivers/infiniband/hw/bnxt_re/ib_verbs.c:806:31: error: 'struct bnxt_re_qp' has no member named 'res'; did you mean 'rdev'?
     if (!rdma_is_kernel_res(&qp->res)) {
                                  ^~~
                                  rdev

vim +806 drivers/infiniband/hw/bnxt_re/ib_verbs.c

   790	
   791	/* Queue Pairs */
   792	int bnxt_re_destroy_qp(struct ib_qp *ib_qp)
   793	{
   794		struct bnxt_re_qp *qp = container_of(ib_qp, struct bnxt_re_qp, ib_qp);
   795		struct bnxt_re_dev *rdev = qp->rdev;
   796		unsigned int flags;
   797		int rc;
   798	
   799		bnxt_qplib_flush_cqn_wq(&qp->qplib_qp);
   800		rc = bnxt_qplib_destroy_qp(&rdev->qplib_res, &qp->qplib_qp);
   801		if (rc) {
   802			dev_err(rdev_to_dev(rdev), "Failed to destroy HW QP");
   803			return rc;
   804		}
   805	
 > 806		if (!rdma_is_kernel_res(&qp->res)) {
   807			flags = bnxt_re_lock_cqs(qp);
   808			bnxt_qplib_clean_qp(&qp->qplib_qp);
   809			bnxt_re_unlock_cqs(qp, flags);
   810		}
   811	
   812		bnxt_qplib_free_qp_res(&rdev->qplib_res, &qp->qplib_qp);
   813	
   814		if (ib_qp->qp_type == IB_QPT_GSI && rdev->qp1_sqp) {
   815			rc = bnxt_qplib_destroy_ah(&rdev->qplib_res,
   816						   &rdev->sqp_ah->qplib_ah, false);
   817			if (rc) {
   818				dev_err(rdev_to_dev(rdev),
   819					"Failed to destroy HW AH for shadow QP");
   820				return rc;
   821			}
   822	
   823			bnxt_qplib_clean_qp(&qp->qplib_qp);
   824			rc = bnxt_qplib_destroy_qp(&rdev->qplib_res,
   825						   &rdev->qp1_sqp->qplib_qp);
   826			if (rc) {
   827				dev_err(rdev_to_dev(rdev),
   828					"Failed to destroy Shadow QP");
   829				return rc;
   830			}
   831			bnxt_qplib_free_qp_res(&rdev->qplib_res,
   832					       &rdev->qp1_sqp->qplib_qp);
   833			mutex_lock(&rdev->qp_lock);
   834			list_del(&rdev->qp1_sqp->list);
   835			atomic_dec(&rdev->qp_count);
   836			mutex_unlock(&rdev->qp_lock);
   837	
   838			kfree(rdev->sqp_ah);
   839			kfree(rdev->qp1_sqp);
   840			rdev->qp1_sqp = NULL;
   841			rdev->sqp_ah = NULL;
   842		}
   843	
   844		if (!IS_ERR_OR_NULL(qp->rumem))
   845			ib_umem_release(qp->rumem);
   846		if (!IS_ERR_OR_NULL(qp->sumem))
   847			ib_umem_release(qp->sumem);
   848	
   849		mutex_lock(&rdev->qp_lock);
   850		list_del(&qp->list);
   851		atomic_dec(&rdev->qp_count);
   852		mutex_unlock(&rdev->qp_lock);
   853		kfree(qp);
   854		return 0;
   855	}
   856	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux