summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortye1 <tye1@6f19259b-4bc3-4df7-8a09-765794883524>2012-04-12 09:54:59 +0000
committertye1 <tye1@6f19259b-4bc3-4df7-8a09-765794883524>2012-04-12 09:54:59 +0000
commit75acfab6c310d12666bcd7f7655a1c6fb8e1822d (patch)
treec90debd29fc45167229a21b56ab41a59672d98ae
parentbef3fd0c68eed51708dcce83443b83ac08b29eff (diff)
downloadedk2-platforms-75acfab6c310d12666bcd7f7655a1c6fb8e1822d.tar.xz
Removes irrelevant parameter during negotiation to avoid login fail.
Signed-off-by: Ye Ting<ting.ye@intel.com> Reviewed by: Ouyang, Qian <qian.ouyang@intel.com> Reviewed by: Tian, Feng<feng.tian@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13193 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--NetworkPkg/IScsiDxe/IScsiProto.c10
-rw-r--r--NetworkPkg/IScsiDxe/IScsiProto.h6
2 files changed, 11 insertions, 5 deletions
diff --git a/NetworkPkg/IScsiDxe/IScsiProto.c b/NetworkPkg/IScsiDxe/IScsiProto.c
index acb7876ab5..72c90a7fe8 100644
--- a/NetworkPkg/IScsiDxe/IScsiProto.c
+++ b/NetworkPkg/IScsiDxe/IScsiProto.c
@@ -1291,7 +1291,7 @@ ON_EXIT:
/**
- Check and get the result of the prameter negotiation.
+ Check and get the result of the parameter negotiation.
@param[in, out] Conn The connection in iSCSI login.
@@ -1539,6 +1539,12 @@ IScsiCheckOpParams (
IScsiGetValueByKeyFromList (KeyValueList, ISCSI_KEY_DATA_PDU_IN_ORDER);
IScsiGetValueByKeyFromList (KeyValueList, ISCSI_KEY_DATA_SEQUENCE_IN_ORDER);
+ //
+ // Remove irrelevant parameter, if any.
+ //
+ if (Session->InitialR2T && !Session->ImmediateData) {
+ IScsiGetValueByKeyFromList (KeyValueList, ISCSI_KEY_FIRST_BURST_LENGTH);
+ }
if (IsListEmpty (KeyValueList)) {
//
@@ -1558,7 +1564,7 @@ ON_ERROR:
/**
- Fill the oprational parameters.
+ Fill the operational parameters.
@param[in] Conn The connection in iSCSI login.
@param[in, out] Pdu The iSCSI login request PDU to fill the parameters.
diff --git a/NetworkPkg/IScsiDxe/IScsiProto.h b/NetworkPkg/IScsiDxe/IScsiProto.h
index 80c62b765c..d97fa083e2 100644
--- a/NetworkPkg/IScsiDxe/IScsiProto.h
+++ b/NetworkPkg/IScsiDxe/IScsiProto.h
@@ -1,7 +1,7 @@
/** @file
The header file of iSCSI Protocol that defines many specific data structures.
-Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2012, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -866,7 +866,7 @@ IScsiReceivePdu (
);
/**
- Check and get the result of the prameter negotiation.
+ Check and get the result of the parameter negotiation.
@param[in, out] Conn The connection in iSCSI login.
@@ -881,7 +881,7 @@ IScsiCheckOpParams (
);
/**
- Fill the oprational prameters.
+ Fill the operational parameters.
@param[in] Conn The connection in iSCSI login.
@param[in, out] Pdu The iSCSI login request PDU to fill the parameters.