  			return (EINVAL);
  		if (kapi->edge & ~pps->ppscap)
  			return (EINVAL);
-@@ -1410,82 +1424,109 @@ pps_init(struct pps_state *pps)
+@@ -1412,82 +1426,109 @@ pps_init(struct pps_state *pps)
  
  void
  pps_capture(struct pps_state *pps)

 	if (fhard) {
Index: sys/sys/timepps.h
===================================================================
--- sys.orig/sys/timepps.h	2011-07-13 21:27:32.000000000 +1000
+++ sys/sys/timepps.h	2011-07-14 10:22:12.000000000 +1000
@@ -1,29 +1,38 @@
 /*-
  * ----------------------------------------------------------------------------

 		return (0);
 	case PPS_IOC_DESTROY:
 		return (0);
@@ -1373,20 +1376,31 @@ pps_ioctl(u_long cmd, caddr_t data, stru
 		return (0);
 	case PPS_IOC_FETCH:
 		fapi = (struct pps_fetch_args *)data;
