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()

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