Thanks Meenakshi for digging a bit more If we have use like below Library/DxeNetLib/DxeNetLib.c Status = Snp->Transmit (Snp, 0, Length, Packet, NULL, NULL, NULL); if ((Status != EFI_SUCCESS) && (Status != EFI_NOT_READY)) { Status = EFI_DEVICE_ERROR; break; } Then, we can simple put print when Status is EFI_DEVICE_ERROR;
But with below We are retrying once ☹ , What I think if first time if you got error EFI_NOT_READY, then after MnpRecycleTxBuf we likely not to get this error. I am not 100% sure here. What I think, in MdeModulePkg/Universal/Network/SnpDxe/Transmit.c Have print only for EFI_NOT_READY. And in MdeModulePkg/Universal/Network/MnpDxe/MnpIo.c, print error as well for second case. Hope this helps Thanks Udit > -----Original Message----- > From: Meenakshi Aggarwal > Sent: Friday, September 22, 2017 3:56 PM > To: Udit Kumar <udit.ku...@nxp.com>; edk2-devel@lists.01.org > Cc: feng.t...@intel.com; star.z...@intel.com > Subject: RE: SNP transmit print > > Hi Udit, > > Yes, I think we should print this message is Status is EFI_DEVICE_ERROR > because > in case of EFI_NOT_READY, we are retrying: > > // > // Transmit the packet through SNP. > // > Status = Snp->Transmit ( > Snp, > HeaderSize, > Length, > Packet, > TxData->SourceAddress, > TxData->DestinationAddress, > &ProtocolType > ); > if (Status == EFI_NOT_READY) { > Status = MnpRecycleTxBuf (MnpDeviceData); > if (EFI_ERROR (Status)) { > Token->Status = EFI_DEVICE_ERROR; > goto SIGNAL_TOKEN; > } > > DEBUG ((EFI_D_ERROR, "Snp->Transmit retry\n")); > Status = Snp->Transmit ( > Snp, > HeaderSize, > Length, > Packet, > TxData->SourceAddress, > TxData->DestinationAddress, > &ProtocolType > ); > } > > (MdeModulePkg/Universal/Network/MnpDxe/MnpIo.c) > > > Please suggest if we can remove this print in case of BUSY status. > > Thanks, > Meenakshi > > > -----Original Message----- > > From: Udit Kumar > > Sent: Thursday, September 21, 2017 5:21 PM > > To: Meenakshi Aggarwal <meenakshi.aggar...@nxp.com>; edk2- > > de...@lists.01.org > > Subject: RE: SNP transmit print > > > > I think these error prints should be check against Status > > > > Regards > > Udit > > > > > -----Original Message----- > > > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf > > > Of Meenakshi Aggarwal > > > Sent: Thursday, September 21, 2017 3:36 PM > > > To: edk2-devel@lists.01.org > > > Subject: [edk2] SNP transmit print > > > > > > Hi, > > > > > > > > > While performing tftp using PCI interface, below message is coming > > > continuously: > > > > > > Snp->undi.transmit() 8000h:4h > > > > > > Snp->undi.transmit() 8000h:4h > > > [======================================> ] 34812 Kb > > > Snp->undi.transmit() 8000h:4h > > > > > > Snp->undi.transmit() 8000h:4h > > > > > > Snp->undi.transmit() 8000h:4h > > > > > > Snp->undi.transmit() 8000h:4h > > > > > > > > > It is coming from file > > "MdeModulePkg/Universal/Network/SnpDxe/Transmit.c" > > > > > > DEBUG ( > > > (EFI_D_ERROR, > > > "\nSnp->undi.transmit() %xh:%xh\n", > > > Snp->Cdb.StatFlags, > > > Snp->Cdb.StatCode) > > > ); > > > > > > > > > I want to know if it is really an error message because tftp and > > > ping are working perfectly, but this error message is coming. > > > > > > > > > Thanks, > > > Meenakshi > > > > > > > > > > > > _______________________________________________ > > > edk2-devel mailing list > > > edk2-devel@lists.01.org > > > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel