summaryrefslogtreecommitdiffstats
path: root/hwclock/cmos.c
diff options
context:
space:
mode:
authorKarel Zak2007-03-21 16:21:34 +0100
committerKarel Zak2007-03-21 16:21:34 +0100
commit72bcf1898b3fb6ebb11f65a9b5b1980eafbc9c21 (patch)
treef54c69c32932b585c36ba1cc464bdf0a694d02fe /hwclock/cmos.c
parenthwclock: remove tailing white-spaces and clean up clock.h (diff)
downloadkernel-qcow2-util-linux-72bcf1898b3fb6ebb11f65a9b5b1980eafbc9c21.tar.gz
kernel-qcow2-util-linux-72bcf1898b3fb6ebb11f65a9b5b1980eafbc9c21.tar.xz
kernel-qcow2-util-linux-72bcf1898b3fb6ebb11f65a9b5b1980eafbc9c21.zip
hwclock: make ggc happy and check return values from fgets, read and write
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'hwclock/cmos.c')
-rw-r--r--hwclock/cmos.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/hwclock/cmos.c b/hwclock/cmos.c
index 93f74294b..ca3ca61ed 100644
--- a/hwclock/cmos.c
+++ b/hwclock/cmos.c
@@ -290,9 +290,11 @@ unsigned long cmos_read(unsigned long reg)
if (use_dev_port) {
unsigned char v = reg | 0x80;
lseek(dev_port_fd, clock_ctl_addr, 0);
- write(dev_port_fd, &v, 1);
+ if (write(dev_port_fd, &v, 1) == -1 && debug)
+ printf("cmos_read(): write to control address %X failed: %s\n", clock_ctl_addr, strerror(errno));
lseek(dev_port_fd, clock_data_addr, 0);
- read(dev_port_fd, &v, 1);
+ if (read(dev_port_fd, &v, 1) == -1 && debug)
+ printf("cmos_read(): read data address %X failed: %s\n", clock_data_addr, strerror(errno));
return v;
} else {
/* We only want to read CMOS data, but unfortunately
@@ -322,10 +324,12 @@ unsigned long cmos_write(unsigned long reg, unsigned long val)
if (use_dev_port) {
unsigned char v = reg | 0x80;
lseek(dev_port_fd, clock_ctl_addr, 0);
- write(dev_port_fd, &v, 1);
+ if (write(dev_port_fd, &v, 1) == -1 && debug)
+ printf("cmos_write(): write to control address %X failed: %s\n", clock_ctl_addr, strerror(errno));
v = (val & 0xff);
lseek(dev_port_fd, clock_data_addr, 0);
- write(dev_port_fd, &v, 1);
+ if (write(dev_port_fd, &v, 1) == -1 && debug)
+ printf("cmos_write(): write to data address %X failed: %s\n", clock_data_addr, strerror(errno));
} else {
outb (reg, clock_ctl_addr);
outb (val, clock_data_addr);