RDMA v6.12 third rc pull

- Revert a change to the VLAN logic, this broke previously work ROCE
   configurations
 
 - Fix a memory leak on error unwinding in bnxt_re
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRRRCHOFoQz/8F5bUaFwuHvBreFYQUCZzdj8AAKCRCFwuHvBreF
 YcsYAQCEv9kx5iw+Z0hoAyUw4a8nXZN75FMQZuQqJNfQAdhexgD+MorBq4RgZgD8
 EIHxQPMyK0S9dlS12J55yVDu72dZ8gg=
 =H/X8
 -----END PGP SIGNATURE-----

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()
This commit is contained in:
Linus Torvalds 2024-11-15 10:48:28 -08:00
commit f539573284
2 changed files with 8 additions and 21 deletions

View File

@ -269,8 +269,6 @@ rdma_find_ndev_for_src_ip_rcu(struct net *net, const struct sockaddr *src_in)
break; break;
#endif #endif
} }
if (!ret && dev && is_vlan_dev(dev))
dev = vlan_dev_real_dev(dev);
return ret ? ERR_PTR(ret) : dev; return ret ? ERR_PTR(ret) : dev;
} }

View File

@ -300,9 +300,6 @@ static void bnxt_re_shutdown(struct auxiliary_device *adev)
struct bnxt_re_en_dev_info *en_info = auxiliary_get_drvdata(adev); struct bnxt_re_en_dev_info *en_info = auxiliary_get_drvdata(adev);
struct bnxt_re_dev *rdev; struct bnxt_re_dev *rdev;
if (!en_info)
return;
rdev = en_info->rdev; rdev = en_info->rdev;
ib_unregister_device(&rdev->ibdev); ib_unregister_device(&rdev->ibdev);
bnxt_re_dev_uninit(rdev, BNXT_RE_COMPLETE_REMOVE); bnxt_re_dev_uninit(rdev, BNXT_RE_COMPLETE_REMOVE);
@ -316,9 +313,6 @@ static void bnxt_re_stop_irq(void *handle)
struct bnxt_qplib_nq *nq; struct bnxt_qplib_nq *nq;
int indx; int indx;
if (!en_info)
return;
rdev = en_info->rdev; rdev = en_info->rdev;
rcfw = &rdev->rcfw; rcfw = &rdev->rcfw;
@ -339,9 +333,6 @@ static void bnxt_re_start_irq(void *handle, struct bnxt_msix_entry *ent)
struct bnxt_qplib_nq *nq; struct bnxt_qplib_nq *nq;
int indx, rc; int indx, rc;
if (!en_info)
return;
rdev = en_info->rdev; rdev = en_info->rdev;
msix_ent = rdev->en_dev->msix_entries; msix_ent = rdev->en_dev->msix_entries;
rcfw = &rdev->rcfw; rcfw = &rdev->rcfw;
@ -1991,10 +1982,6 @@ static void bnxt_re_remove(struct auxiliary_device *adev)
struct bnxt_re_dev *rdev; struct bnxt_re_dev *rdev;
mutex_lock(&bnxt_re_mutex); mutex_lock(&bnxt_re_mutex);
if (!en_info) {
mutex_unlock(&bnxt_re_mutex);
return;
}
rdev = en_info->rdev; rdev = en_info->rdev;
if (rdev) if (rdev)
@ -2025,7 +2012,15 @@ static int bnxt_re_probe(struct auxiliary_device *adev,
auxiliary_set_drvdata(adev, en_info); auxiliary_set_drvdata(adev, en_info);
rc = bnxt_re_add_device(adev, BNXT_RE_COMPLETE_INIT); rc = bnxt_re_add_device(adev, BNXT_RE_COMPLETE_INIT);
if (rc)
goto err;
mutex_unlock(&bnxt_re_mutex); mutex_unlock(&bnxt_re_mutex);
return 0;
err:
mutex_unlock(&bnxt_re_mutex);
kfree(en_info);
return rc; return rc;
} }
@ -2035,9 +2030,6 @@ static int bnxt_re_suspend(struct auxiliary_device *adev, pm_message_t state)
struct bnxt_en_dev *en_dev; struct bnxt_en_dev *en_dev;
struct bnxt_re_dev *rdev; struct bnxt_re_dev *rdev;
if (!en_info)
return 0;
rdev = en_info->rdev; rdev = en_info->rdev;
en_dev = en_info->en_dev; en_dev = en_info->en_dev;
mutex_lock(&bnxt_re_mutex); mutex_lock(&bnxt_re_mutex);
@ -2082,9 +2074,6 @@ static int bnxt_re_resume(struct auxiliary_device *adev)
struct bnxt_re_en_dev_info *en_info = auxiliary_get_drvdata(adev); struct bnxt_re_en_dev_info *en_info = auxiliary_get_drvdata(adev);
struct bnxt_re_dev *rdev; struct bnxt_re_dev *rdev;
if (!en_info)
return 0;
mutex_lock(&bnxt_re_mutex); mutex_lock(&bnxt_re_mutex);
/* L2 driver may invoke this callback during device recovery, resume. /* L2 driver may invoke this callback during device recovery, resume.
* reset. Current RoCE driver doesn't recover the device in case of * reset. Current RoCE driver doesn't recover the device in case of