⬢ DragonFlyBSD Kernel Audit
DF-5625 / fix.diff
← back to finding ↓ download raw
--- a/sys/dev/misc/b/sys/dev/misc/ppc/ppc.c	2026-10-08 23:00:10.324518447 +0000
+++ b/sys/dev/misc/ppc/ppc.c	2026-10-08 23:00:23.680345920 +0000
@@ -140,30 +140,30 @@
 /*
  * ppc_ecp_sync()		XXX
  */
-static void
+static int
 ppc_ecp_sync(device_t dev)
 {
 	int i, r;
 	struct ppc_data *ppc = DEVTOSOFTC(dev);
 
 	if (!(ppc->ppc_avm & PPB_ECP) && !(ppc->ppc_dtm & PPB_ECP))
-		return;
+		return (0);
 
 	r = r_ecr(ppc);
 	if ((r & 0xe0) != PPC_ECR_EPP)
-		return;
+		return (0);
 
 	for (i = 0; i < 100; i++) {
 		r = r_ecr(ppc);
 		if (r & 0x1)
-			return;
+			return (0);
 		DELAY(100);
 	}
 
 	kprintf("ppc%d: ECP sync failed as data still " \
 		"present in FIFO.\n", ppc->ppc_unit);
 
-	return;
+	return (ETIMEDOUT);	/* FIFO never drained */
 }
 
 /*
@@ -1781,14 +1781,14 @@
 	return (error);
 }
 
-static void
+static int
 ppc_reset_epp(device_t dev)
 {
 	struct ppc_data *ppc = DEVTOSOFTC(dev);
-	
+
 	ppc_reset_epp_timeout(ppc);
 
-	return;
+	return (0);
 }
 
 static int