Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma

Pull rdma fixes from Jason Gunthorpe:

- Revert a change to the VLAN logic, this broke previously working ROCE
configurations

- Fix a memory leak on error unwinding in bnxt_re

* tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
Revert "RDMA/core: Fix ENODEV error for iWARP test over vlan"
RDMA/bnxt_re: Remove some dead code
RDMA/bnxt_re: Fix some error handling paths in bnxt_re_probe()

+8 -21
-2
drivers/infiniband/core/addr.c
··· 269 break; 270 #endif 271 } 272 - if (!ret && dev && is_vlan_dev(dev)) 273 - dev = vlan_dev_real_dev(dev); 274 return ret ? ERR_PTR(ret) : dev; 275 } 276
··· 269 break; 270 #endif 271 } 272 return ret ? ERR_PTR(ret) : dev; 273 } 274
+8 -19
drivers/infiniband/hw/bnxt_re/main.c
··· 300 struct bnxt_re_en_dev_info *en_info = auxiliary_get_drvdata(adev); 301 struct bnxt_re_dev *rdev; 302 303 - if (!en_info) 304 - return; 305 - 306 rdev = en_info->rdev; 307 ib_unregister_device(&rdev->ibdev); 308 bnxt_re_dev_uninit(rdev, BNXT_RE_COMPLETE_REMOVE); ··· 312 struct bnxt_re_dev *rdev; 313 struct bnxt_qplib_nq *nq; 314 int indx; 315 - 316 - if (!en_info) 317 - return; 318 319 rdev = en_info->rdev; 320 rcfw = &rdev->rcfw; ··· 332 struct bnxt_re_dev *rdev; 333 struct bnxt_qplib_nq *nq; 334 int indx, rc; 335 - 336 - if (!en_info) 337 - return; 338 339 rdev = en_info->rdev; 340 msix_ent = rdev->en_dev->msix_entries; ··· 1982 struct bnxt_re_dev *rdev; 1983 1984 mutex_lock(&bnxt_re_mutex); 1985 - if (!en_info) { 1986 - mutex_unlock(&bnxt_re_mutex); 1987 - return; 1988 - } 1989 rdev = en_info->rdev; 1990 1991 if (rdev) ··· 2012 auxiliary_set_drvdata(adev, en_info); 2013 2014 rc = bnxt_re_add_device(adev, BNXT_RE_COMPLETE_INIT); 2015 mutex_unlock(&bnxt_re_mutex); 2016 return rc; 2017 } 2018 ··· 2029 struct bnxt_re_en_dev_info *en_info = auxiliary_get_drvdata(adev); 2030 struct bnxt_en_dev *en_dev; 2031 struct bnxt_re_dev *rdev; 2032 - 2033 - if (!en_info) 2034 - return 0; 2035 2036 rdev = en_info->rdev; 2037 en_dev = en_info->en_dev; ··· 2073 { 2074 struct bnxt_re_en_dev_info *en_info = auxiliary_get_drvdata(adev); 2075 struct bnxt_re_dev *rdev; 2076 - 2077 - if (!en_info) 2078 - return 0; 2079 2080 mutex_lock(&bnxt_re_mutex); 2081 /* L2 driver may invoke this callback during device recovery, resume.
··· 300 struct bnxt_re_en_dev_info *en_info = auxiliary_get_drvdata(adev); 301 struct bnxt_re_dev *rdev; 302 303 rdev = en_info->rdev; 304 ib_unregister_device(&rdev->ibdev); 305 bnxt_re_dev_uninit(rdev, BNXT_RE_COMPLETE_REMOVE); ··· 315 struct bnxt_re_dev *rdev; 316 struct bnxt_qplib_nq *nq; 317 int indx; 318 319 rdev = en_info->rdev; 320 rcfw = &rdev->rcfw; ··· 338 struct bnxt_re_dev *rdev; 339 struct bnxt_qplib_nq *nq; 340 int indx, rc; 341 342 rdev = en_info->rdev; 343 msix_ent = rdev->en_dev->msix_entries; ··· 1991 struct bnxt_re_dev *rdev; 1992 1993 mutex_lock(&bnxt_re_mutex); 1994 rdev = en_info->rdev; 1995 1996 if (rdev) ··· 2025 auxiliary_set_drvdata(adev, en_info); 2026 2027 rc = bnxt_re_add_device(adev, BNXT_RE_COMPLETE_INIT); 2028 + if (rc) 2029 + goto err; 2030 mutex_unlock(&bnxt_re_mutex); 2031 + return 0; 2032 + 2033 + err: 2034 + mutex_unlock(&bnxt_re_mutex); 2035 + kfree(en_info); 2036 + 2037 return rc; 2038 } 2039 ··· 2034 struct bnxt_re_en_dev_info *en_info = auxiliary_get_drvdata(adev); 2035 struct bnxt_en_dev *en_dev; 2036 struct bnxt_re_dev *rdev; 2037 2038 rdev = en_info->rdev; 2039 en_dev = en_info->en_dev; ··· 2081 { 2082 struct bnxt_re_en_dev_info *en_info = auxiliary_get_drvdata(adev); 2083 struct bnxt_re_dev *rdev; 2084 2085 mutex_lock(&bnxt_re_mutex); 2086 /* L2 driver may invoke this callback during device recovery, resume.