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(-)


Reply via email to