[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:
committed by
Martin Schwidefsky
parent
40c9f9992b
commit
50f1548399
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user