Hi all, it turned out that my original patch for fixing up disc_mutex handling wasn't quite perfect, as it was causing 'scheduling while atomie' warnings. Upon inspection it turns out that we can't use RCU list traversal in most cases, as these list iterations would be calling fc_rport_login() / fc_rport_logoff(), which in turn would be acquiring a mutex. So this patchset fixes up the remoaining uses, and also adds a warining to catch reference counting issues. As usual, comments and reviews are welcome. Hannes Reinecke (4): libfc: fixup lockdep annotations libfc: hold disc_mutex in fc_disc_stop_rports() libfc: Add WARN_ON() when deleting rports fcoe: hold disc_mutex when traversing rport lists drivers/scsi/fcoe/fcoe_ctlr.c | 12 ++++-------- drivers/scsi/libfc/fc_disc.c | 10 ++++------ drivers/scsi/libfc/fc_rport.c | 3 ++- 3 files changed, 10 insertions(+), 15 deletions(-) -- 2.12.3