From 010bb3d2dbb3d91512102ee3f3a4a160835e308a Mon Sep 17 00:00:00 2001 From: oliviermartin Date: Fri, 3 Jun 2011 09:14:16 +0000 Subject: EmbeddedPkg/SerialDxe: Only read Serial Port if data available Poll the Serial Port to ensure data are available. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11730 6f19259b-4bc3-4df7-8a09-765794883524 --- EmbeddedPkg/SerialDxe/SerialIo.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'EmbeddedPkg') diff --git a/EmbeddedPkg/SerialDxe/SerialIo.c b/EmbeddedPkg/SerialDxe/SerialIo.c index 612543be14..b9ea4b9c42 100644 --- a/EmbeddedPkg/SerialDxe/SerialIo.c +++ b/EmbeddedPkg/SerialDxe/SerialIo.c @@ -188,10 +188,12 @@ SerialRead ( OUT VOID *Buffer ) { - UINTN Count; + UINTN Count = 0; - Count = SerialPortRead (Buffer, *BufferSize); - *BufferSize = Count; + if (SerialPortPoll()) { + Count = SerialPortRead (Buffer, *BufferSize); + *BufferSize = Count; + } return (Count == 0) ? EFI_DEVICE_ERROR : EFI_SUCCESS; } -- cgit v1.2.3