--- x/drivers/nvme/target/fc.c +++ y/drivers/nvme/target/fc.c @@ -1319,12 +1319,13 @@ nvmet_fc_portentry_rebind_tgt(struct nvm spin_lock_irqsave(&nvmet_fc_tgtlock, flags); list_for_each_entry(pe, &nvmet_fc_portentry_list, pe_list) { + if (pe->tgtport) + continue; if (tgtport->fc_target_port.node_name == pe->node_name && tgtport->fc_target_port.port_name == pe->port_name) { if (!nvmet_fc_tgtport_get(tgtport)) - continue; + break; - WARN_ON(pe->tgtport); tgtport->pe = pe; pe->tgtport = tgtport; break;