--- src/udev-builtin-path_id.c	2012-03-13 07:55:38.067724531 -0400
+++ /home/dank/src/udev-175/udev/udev-builtin-path_id.c	2011-08-04 17:31:09.831212578 -0400
@@ -265,11 +265,6 @@
                 i = strtoul(&dent->d_name[4], &rest, 10);
                 if (rest[0] != '\0')
                         continue;
-                /*
-                 * find the smallest number; the host really needs to export its
-                 * own instance number per parent device; relying on the global host
-                 * enumeration and plainly rebasing the numbers sounds unreliable
-                 */
                 if (basenum == -1 || i < basenum)
                         basenum = i;
         }
@@ -322,19 +317,6 @@
                 goto out;
         }
 
-        /*
-         * We do not support the ATA transport class, it creates duplicated link
-         * names as the fake SCSI host adapters are all separated, they are all
-         * re-based as host == 0. ATA should just stop faking two duplicated
-         * hierarchies for a single topology and leave the SCSI stuff alone;
-         * until that happens, there are no by-path/ links for ATA devices behind
-         * an ATA transport class.
-         */
-        if (strstr(name, "/ata") != NULL) {
-                parent = NULL;
-                goto out;
-        }
-
         parent = handle_scsi_default(parent, path);
 out:
         return parent;
@@ -378,6 +360,11 @@
         return parent;
 }
 
+static struct udev_device *handle_cciss(struct udev_device *parent, char **path)
+{
+	return NULL;
+}
+
 static struct udev_device *handle_ccw(struct udev_device *parent, struct udev_device *dev, char **path)
 {
         struct udev_device *scsi_dev;
@@ -403,7 +390,7 @@
         return parent;
 }
 
-static int builtin_path_id(struct udev_device *dev, int argc, char *argv[], bool test)
+static int builtin_path_id(struct udev_device *dev, bool test)
 {
         struct udev_device *parent;
         char *path = NULL;
@@ -427,6 +414,8 @@
                         handle_scsi_tape(parent, &path);
                 } else if (strcmp(subsys, "scsi") == 0) {
                         parent = handle_scsi(parent, &path);
+		} else if (strcmp(subsys, "cciss") == 0) {
+			handle_cciss(parent, &path);
                 } else if (strcmp(subsys, "usb") == 0) {
                         parent = handle_usb(parent, &path);
                 } else if (strcmp(subsys, "serio") == 0) {
@@ -494,5 +483,4 @@
         .name = "path_id",
         .cmd = builtin_path_id,
         .help = "compose persistent device path",
-        .run_once = true,
 };
