summaryrefslogtreecommitdiffstats
path: root/NetworkPkg/IScsiDxe
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 /NetworkPkg/IScsiDxe
parentbef3fd0c68eed51708dcce83443b83ac08b29eff (diff)
downloadedk2-75acfab6c310d12666bcd7f7655a1c6fb8e1822d.tar.gz
edk2-75acfab6c310d12666bcd7f7655a1c6fb8e1822d.tar.bz2
edk2-75acfab6c310d12666bcd7f7655a1c6fb8e1822d.zip
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
Diffstat (limited to 'NetworkPkg/IScsiDxe')
-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.