It's possible to "restart" discovery before it was started if
an RSCN is received early enough.  We were jumping to 0
due to the disc_callback function pointer not getting set.

Don't restart discovery if disc_callback is NULL.

Signed-off-by: Joe Eykholt <[email protected]>
---
 drivers/scsi/libfc/fc_disc.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)


diff --git a/drivers/scsi/libfc/fc_disc.c b/drivers/scsi/libfc/fc_disc.c
index 4284218..1a699f4 100644
--- a/drivers/scsi/libfc/fc_disc.c
+++ b/drivers/scsi/libfc/fc_disc.c
@@ -219,6 +219,9 @@ static void fc_disc_recv_req(struct fc_seq *sp, struct 
fc_frame *fp,
  */
 static void fc_disc_restart(struct fc_disc *disc)
 {
+       if (!disc->disc_callback)
+               return;
+
        FC_DISC_DBG(disc, "Restarting discovery\n");
 
        disc->requested = 1;


_______________________________________________
devel mailing list
[email protected]
http://www.open-fcoe.org/mailman/listinfo/devel

Reply via email to