[SCSI] be2iscsi: The session failure only when Link Goes down
authorJayamohan Kallickal <jayamohank@serverengines.com>
Mon, 4 Jan 2010 23:41:23 +0000 (05:11 +0530)
committerJames Bottomley <James.Bottomley@suse.de>
Mon, 18 Jan 2010 16:48:24 +0000 (10:48 -0600)
This fixes a situation where the sessions were being killed whenever
LinkUP is notified rather than LinkDown

Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/be2iscsi/be_cmds.c

index d4a0d1da4875fc02dab07ae19cc7ad49a8dcef27..44e69bdf359a675dce602aa078e7d955be508bfd 100644 (file)
@@ -161,13 +161,13 @@ void beiscsi_async_link_state_process(struct beiscsi_hba *phba,
                SE_DEBUG(DBG_LVL_1, "Link Down on Physical Port %d \n",
                                                evt->physical_port);
                phba->state |= BE_ADAPTER_LINK_DOWN;
+               iscsi_host_for_each_session(phba->shost,
+                                           be2iscsi_fail_session);
                break;
        case ASYNC_EVENT_LINK_UP:
                phba->state = BE_ADAPTER_UP;
                SE_DEBUG(DBG_LVL_1, "Link UP on Physical Port %d \n",
                                                evt->physical_port);
-               iscsi_host_for_each_session(phba->shost,
-                                           be2iscsi_fail_session);
                break;
        default:
                SE_DEBUG(DBG_LVL_1, "Unexpected Async Notification %d on"