Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5da7e4d3 authored by Ursula Braun's avatar Ursula Braun Committed by David S. Miller
Browse files

net/smc: return active RoCE port only



SMC requires an active ib port on the RoCE device.
smc_pnet_find_roce_resource() determines the matching RoCE device port
according to the configured PNET table. Do not return the found
RoCE device port, if it is not flagged active.

Signed-off-by: default avatarUrsula Braun <ubraun@linux.vnet.ibm.com>
Reviewed-by: default avatarThomas Richter <tmricht@linux.vnet.ibm.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 249633a4
Loading
Loading
Loading
Loading
+5 −2
Original line number Original line Diff line number Diff line
@@ -523,8 +523,11 @@ void smc_pnet_find_roce_resource(struct sock *sk,
	read_lock(&smc_pnettable.lock);
	read_lock(&smc_pnettable.lock);
	list_for_each_entry(pnetelem, &smc_pnettable.pnetlist, list) {
	list_for_each_entry(pnetelem, &smc_pnettable.pnetlist, list) {
		if (dst->dev == pnetelem->ndev) {
		if (dst->dev == pnetelem->ndev) {
			if (smc_ib_port_active(pnetelem->smcibdev,
					       pnetelem->ib_port)) {
				*smcibdev = pnetelem->smcibdev;
				*smcibdev = pnetelem->smcibdev;
				*ibport = pnetelem->ib_port;
				*ibport = pnetelem->ib_port;
			}
			break;
			break;
		}
		}
	}
	}