+ } else {\r
+ if ((Instance->MaxRecycledTxBuf + SNP_TX_BUFFER_INCREASEMENT) >= SNP_MAX_TX_BUFFER_NUM) {\r
+ return EFI_NOT_READY;\r
+ }\r
+\r
+ if (Instance->RecycledTxBufCount < Instance->MaxRecycledTxBuf) {\r
+ Instance->RecycledTxBuf[Instance->RecycledTxBufCount] = (UINT64) Buffer;\r
+ Instance->RecycledTxBufCount ++;\r
+ } else {\r
+ Tmp = AllocatePool (sizeof (UINT64) * (Instance->MaxRecycledTxBuf + SNP_TX_BUFFER_INCREASEMENT));\r
+ if (Tmp == NULL) {\r
+ return EFI_DEVICE_ERROR;\r
+ }\r
+ CopyMem (Tmp, Instance->RecycledTxBuf, sizeof (UINT64) * Instance->RecycledTxBufCount);\r
+ FreePool (Instance->RecycledTxBuf);\r
+ Instance->RecycledTxBuf = Tmp;\r
+ Instance->MaxRecycledTxBuf += SNP_TX_BUFFER_INCREASEMENT;\r
+ }\r