]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/s390/cio/ccwgroup.c
[S390] bus_id -> dev_name conversions
[linux-2.6-omap-h63xx.git] / drivers / s390 / cio / ccwgroup.c
index e0ce65fca4e797ed2da7370093a56f1a86d04c81..e17b462ace03e7ca30ceb8201f9d85c594c69850 100644 (file)
@@ -113,7 +113,8 @@ ccwgroup_release (struct device *dev)
 
        for (i = 0; i < gdev->count; i++) {
                if (gdev->cdev[i]) {
-                       dev_set_drvdata(&gdev->cdev[i]->dev, NULL);
+                       if (dev_get_drvdata(&gdev->cdev[i]->dev) == gdev)
+                               dev_set_drvdata(&gdev->cdev[i]->dev, NULL);
                        put_device(&gdev->cdev[i]->dev);
                }
        }
@@ -269,7 +270,7 @@ int ccwgroup_create_from_string(struct device *root, unsigned int creator_id,
        }
 
        snprintf (gdev->dev.bus_id, BUS_ID_SIZE, "%s",
-                       gdev->cdev[0]->dev.bus_id);
+                       dev_name(&gdev->cdev[0]->dev));
 
        rc = device_add(&gdev->dev);
        if (rc)
@@ -296,6 +297,7 @@ error:
                        if (dev_get_drvdata(&gdev->cdev[i]->dev) == gdev)
                                dev_set_drvdata(&gdev->cdev[i]->dev, NULL);
                        put_device(&gdev->cdev[i]->dev);
+                       gdev->cdev[i] = NULL;
                }
        mutex_unlock(&gdev->reg_mutex);
        put_device(&gdev->dev);