From f9159b97834ba4b4e42a07953a33866e7ac90dbd Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Sat, 4 Jun 2011 12:30:06 +0100 Subject: [PATCH] linux: Only set errno after an error errno is only valid after an error, and was being filled with a garbage value upon eof. Signed-off-by: Chris Wilson --- src/linux_sysfs.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/linux_sysfs.c b/src/linux_sysfs.c index 1832ee7..bbd4dfa 100644 --- a/src/linux_sysfs.c +++ b/src/linux_sysfs.c @@ -387,7 +387,9 @@ pci_device_linux_sysfs_read( struct pci_device * dev, void * data, /* If zero bytes were read, then we assume it's the end of the * config file. */ - if ( bytes <= 0 ) { + if (bytes == 0) + break; + if ( bytes < 0 ) { err = errno; break; } @@ -445,7 +447,9 @@ pci_device_linux_sysfs_write( struct pci_device * dev, const void * data, /* If zero bytes were written, then we assume it's the end of the * config file. */ - if ( bytes <= 0 ) { + if ( bytes == 0 ) + break; + if ( bytes < 0 ) { err = errno; break; } -- 2.7.4