浏览代码

[SCSI] be2iscsi: The session failure only when Link Goes down

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>
Jayamohan Kallickal 15 年之前
父节点
当前提交
da7408c800
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      drivers/scsi/be2iscsi/be_cmds.c

+ 2 - 2
drivers/scsi/be2iscsi/be_cmds.c

@@ -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",
 		SE_DEBUG(DBG_LVL_1, "Link Down on Physical Port %d \n",
 						evt->physical_port);
 						evt->physical_port);
 		phba->state |= BE_ADAPTER_LINK_DOWN;
 		phba->state |= BE_ADAPTER_LINK_DOWN;
+		iscsi_host_for_each_session(phba->shost,
+					    be2iscsi_fail_session);
 		break;
 		break;
 	case ASYNC_EVENT_LINK_UP:
 	case ASYNC_EVENT_LINK_UP:
 		phba->state = BE_ADAPTER_UP;
 		phba->state = BE_ADAPTER_UP;
 		SE_DEBUG(DBG_LVL_1, "Link UP on Physical Port %d \n",
 		SE_DEBUG(DBG_LVL_1, "Link UP on Physical Port %d \n",
 						evt->physical_port);
 						evt->physical_port);
-		iscsi_host_for_each_session(phba->shost,
-					    be2iscsi_fail_session);
 		break;
 		break;
 	default:
 	default:
 		SE_DEBUG(DBG_LVL_1, "Unexpected Async Notification %d on"
 		SE_DEBUG(DBG_LVL_1, "Unexpected Async Notification %d on"