]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/IScsiDxe/IScsiProto.c
Removes irrelevant parameter during negotiation to avoid login fail.
[mirror_edk2.git] / NetworkPkg / IScsiDxe / IScsiProto.c
index acb7876ab54b6480a5bc9058d387719e3186eb71..72c90a7fe8c997550a639318810964e187b8b1eb 100644 (file)
@@ -1291,7 +1291,7 @@ ON_EXIT:
 \r
 \r
 /**\r
-  Check and get the result of the prameter negotiation.\r
+  Check and get the result of the parameter negotiation.\r
 \r
   @param[in, out]  Conn          The connection in iSCSI login.\r
 \r
@@ -1539,6 +1539,12 @@ IScsiCheckOpParams (
   IScsiGetValueByKeyFromList (KeyValueList, ISCSI_KEY_DATA_PDU_IN_ORDER);\r
   IScsiGetValueByKeyFromList (KeyValueList, ISCSI_KEY_DATA_SEQUENCE_IN_ORDER);\r
 \r
+  //\r
+  // Remove irrelevant parameter, if any.\r
+  //\r
+  if (Session->InitialR2T && !Session->ImmediateData) {\r
+    IScsiGetValueByKeyFromList (KeyValueList, ISCSI_KEY_FIRST_BURST_LENGTH);\r
+  }\r
 \r
   if (IsListEmpty (KeyValueList)) {\r
     //\r
@@ -1558,7 +1564,7 @@ ON_ERROR:
 \r
 \r
 /**\r
-  Fill the oprational parameters.\r
+  Fill the operational parameters.\r
 \r
   @param[in]       Conn    The connection in iSCSI login.\r
   @param[in, out]  Pdu     The iSCSI login request PDU to fill the parameters.\r