[bus] Allow a WvBusAddDev() caller to create PDO
authorShao Miller <Shao.Miller@yrdsb.edu.on.ca>
Sat, 8 Jan 2011 20:36:15 +0000 (15:36 -0500)
committerShao Miller <Shao.Miller@yrdsb.edu.on.ca>
Sat, 8 Jan 2011 20:36:15 +0000 (15:36 -0500)
They must set the 'Self' member to notify of this.

src/winvblock/bus.c

index f237e90..83b58e2 100644 (file)
@@ -274,11 +274,14 @@ BOOLEAN STDCALL WvBusAddDev(
         DBG("No bus or no device!\n");
         return FALSE;
       }
-    /* Create the child device. */
-    dev_obj = WvDevCreatePdo(Dev);
+    /* Create the child device, if needed. */
+    dev_obj = Dev->Self;
     if (!dev_obj) {
-        DBG("PDO creation failed!\n");
-        return FALSE;
+        dev_obj = WvDevCreatePdo(Dev);
+        if (!dev_obj) {
+            DBG("PDO creation failed!\n");
+            return FALSE;
+          }
       }
     WvlBusInitNode(&Dev->BusNode, dev_obj);
     /* Associate the parent bus. */