]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - drivers/s390/cio/ccwgroup.c
[S390] cio: fix sanity checks in ccwgroup driver.
[mirror_ubuntu-bionic-kernel.git] / drivers / s390 / cio / ccwgroup.c
index ec2742813bf2ffd3177480b67bad6ffdbcb2ae98..2becedbe88830a48c99d959426b8c24f51ac8214 100644 (file)
@@ -454,13 +454,17 @@ ccwgroup_remove (struct device *dev)
        struct ccwgroup_device *gdev;
        struct ccwgroup_driver *gdrv;
 
+       device_remove_file(dev, &dev_attr_online);
+
+       if (!dev->driver)
+               return 0;
+
        gdev = to_ccwgroupdev(dev);
        gdrv = to_ccwgroupdrv(dev->driver);
 
-       device_remove_file(dev, &dev_attr_online);
-
-       if (gdrv && gdrv->remove)
+       if (gdrv->remove)
                gdrv->remove(gdev);
+
        return 0;
 }
 
@@ -469,9 +473,13 @@ static void ccwgroup_shutdown(struct device *dev)
        struct ccwgroup_device *gdev;
        struct ccwgroup_driver *gdrv;
 
+       if (!dev->driver)
+               return;
+
        gdev = to_ccwgroupdev(dev);
        gdrv = to_ccwgroupdrv(dev->driver);
-       if (gdrv && gdrv->shutdown)
+
+       if (gdrv->shutdown)
                gdrv->shutdown(gdev);
 }