|
@@ -523,8 +523,11 @@ void smc_pnet_find_roce_resource(struct sock *sk,
|
|
|
read_lock(&smc_pnettable.lock);
|
|
|
list_for_each_entry(pnetelem, &smc_pnettable.pnetlist, list) {
|
|
|
if (dst->dev == pnetelem->ndev) {
|
|
|
- *smcibdev = pnetelem->smcibdev;
|
|
|
- *ibport = pnetelem->ib_port;
|
|
|
+ if (smc_ib_port_active(pnetelem->smcibdev,
|
|
|
+ pnetelem->ib_port)) {
|
|
|
+ *smcibdev = pnetelem->smcibdev;
|
|
|
+ *ibport = pnetelem->ib_port;
|
|
|
+ }
|
|
|
break;
|
|
|
}
|
|
|
}
|