Hello, i tested the problem with leap 42.3. Reproducing is very simple: - reset interface (echo "1" > /sys/class/fc_host/<host>/issue_lip or - shutdown interface I agree with the analysis of Jia-Ju Bai (see attachment proposed patch), but i don't agree with the patch itself. In my opinion with this patch, some lines of code are unprotected in contrast to the previous version (eg @@ -2175,11 +2175,14 @@ static void fcoe_ctlr_disc_stop_locked(struct fc_lport *lport) { struct fc_rport_priv *rdata; +restart: rcu_read_lock(); list_for_each_entry_rcu(rdata, &lport->disc.rports, peers) { if (kref_get_unless_zero(&rdata->kref)) { + rcu_read_unlock(); fc_rport_logoff(rdata); kref_put(&rdata->kref, fc_rport_destroy); + goto restart; } } rcu_read_unlock(); fc_rport_logoff(rdata); kref_put(&rdata->kref, fc_rport_destroy); are unprotected) My proposed solution is: Discard the change of Sep 30, 2016, use mutex_lock(&lport->disc.disc_mutex); etc I perform simple tests, works. Holger will perform tests in a heavy load environment.