--- x/drivers/nvme/target/fc.c +++ y/drivers/nvme/target/fc.c @@ -1278,7 +1278,6 @@ nvmet_fc_portentry_unbind(struct nvmet_f nvmet_fc_tgtport_put(pe->tgtport); pe->tgtport->pe = NULL; } - list_del(&pe->pe_list); spin_unlock_irqrestore(&nvmet_fc_tgtlock, flags); } @@ -2922,6 +2921,7 @@ nvmet_fc_remove_port(struct nvmet_port * spin_lock_irqsave(&nvmet_fc_tgtlock, flags); if (pe->tgtport && nvmet_fc_tgtport_get(pe->tgtport)) tgtport = pe->tgtport; + list_del(&pe->pe_list); spin_unlock_irqrestore(&nvmet_fc_tgtlock, flags); nvmet_fc_portentry_unbind(pe);