The -f test is implied by the -x test.
I see no reason to exit with rc=1.

diff -ruN hotplug-2004_03_11.orig/sbin/hotplug hotplug-2004_03_11/sbin/hotplug
--- hotplug-2004_03_11.orig/sbin/hotplug	2003-09-24 22:27:42.000000000 +0200
+++ hotplug-2004_03_11/sbin/hotplug	2004-03-13 14:16:49.000000000 +0100
@@ -28,9 +28,7 @@
 DIR="/etc/hotplug.d"
 
 for I in "${DIR}/$1/"*.hotplug "${DIR}/"default/*.hotplug ; do
-	if [ -f $I ]; then
-		test -x $I && $I $1 ;
-	fi
+	test -x "$I" && "$I" "$1"
 done
 
-exit 1
+exit 0
