Module Name: src Committed By: tsutsui Date: Sat May 9 01:59:17 UTC 2009
Modified Files: src/sys/arch/hp700/dev: pdc.c Log Message: Check return values of pdc_call() in pdcgettod() and pdcsettod(). To generate a diff of this commit: cvs rdiff -u -r1.28 -r1.29 src/sys/arch/hp700/dev/pdc.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/hp700/dev/pdc.c diff -u src/sys/arch/hp700/dev/pdc.c:1.28 src/sys/arch/hp700/dev/pdc.c:1.29 --- src/sys/arch/hp700/dev/pdc.c:1.28 Fri May 8 09:33:58 2009 +++ src/sys/arch/hp700/dev/pdc.c Sat May 9 01:59:17 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: pdc.c,v 1.28 2009/05/08 09:33:58 skrll Exp $ */ +/* $NetBSD: pdc.c,v 1.29 2009/05/09 01:59:17 tsutsui Exp $ */ /* $OpenBSD: pdc.c,v 1.14 2001/04/29 21:05:43 mickey Exp $ */ @@ -33,7 +33,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: pdc.c,v 1.28 2009/05/08 09:33:58 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pdc.c,v 1.29 2009/05/09 01:59:17 tsutsui Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -456,14 +456,17 @@ pdcgettod(todr_chip_handle_t tch, volatile struct timeval *tvp) { int pagezero_cookie; + int error; pagezero_cookie = hp700_pagezero_map(); - pdc_call((iodcio_t)PAGE0->mem_pdc, 1, PDC_TOD, PDC_TOD_READ, + error = pdc_call((iodcio_t)PAGE0->mem_pdc, 1, PDC_TOD, PDC_TOD_READ, &tod, 0, 0, 0, 0, 0); hp700_pagezero_unmap(pagezero_cookie); - tvp->tv_sec = tod.sec; - tvp->tv_usec = tod.usec; + if (error == 0) { + tvp->tv_sec = tod.sec; + tvp->tv_usec = tod.usec; + } return 0; } @@ -471,13 +474,14 @@ pdcsettod(todr_chip_handle_t tch, volatile struct timeval *tvp) { int pagezero_cookie; + int error; tod.sec = tvp->tv_sec; tod.usec = tvp->tv_usec; pagezero_cookie = hp700_pagezero_map(); - pdc_call((iodcio_t)PAGE0->mem_pdc, 1, PDC_TOD, PDC_TOD_WRITE, + error = pdc_call((iodcio_t)PAGE0->mem_pdc, 1, PDC_TOD, PDC_TOD_WRITE, tod.sec, tod.usec); hp700_pagezero_unmap(pagezero_cookie); - return 0; + return error; }