[S390] cio: fix sanity checks in ccwgroup driver.

Some sanity checks in the ccw group driver test the output of
container_of macros to be !NULL. Test the input parameters instead.

Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
Sebastian Ott
2009-03-26 15:24:14 +01:00
committed by Martin Schwidefsky
parent 40c9f9992b
commit 50f1548399

View File

@@ -454,13 +454,17 @@ ccwgroup_remove (struct device *dev)
struct ccwgroup_device *gdev; struct ccwgroup_device *gdev;
struct ccwgroup_driver *gdrv; struct ccwgroup_driver *gdrv;
device_remove_file(dev, &dev_attr_online);
if (!dev->driver)
return 0;
gdev = to_ccwgroupdev(dev); gdev = to_ccwgroupdev(dev);
gdrv = to_ccwgroupdrv(dev->driver); gdrv = to_ccwgroupdrv(dev->driver);
device_remove_file(dev, &dev_attr_online); if (gdrv->remove)
if (gdrv && gdrv->remove)
gdrv->remove(gdev); gdrv->remove(gdev);
return 0; return 0;
} }
@@ -469,9 +473,13 @@ static void ccwgroup_shutdown(struct device *dev)
struct ccwgroup_device *gdev; struct ccwgroup_device *gdev;
struct ccwgroup_driver *gdrv; struct ccwgroup_driver *gdrv;
if (!dev->driver)
return;
gdev = to_ccwgroupdev(dev); gdev = to_ccwgroupdev(dev);
gdrv = to_ccwgroupdrv(dev->driver); gdrv = to_ccwgroupdrv(dev->driver);
if (gdrv && gdrv->shutdown)
if (gdrv->shutdown)
gdrv->shutdown(gdev); gdrv->shutdown(gdev);
} }