X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=drivers%2Fs390%2Fcio%2Fccwgroup.c;h=2becedbe88830a48c99d959426b8c24f51ac8214;hb=50f1548399b7bd00ceb38c84a84463a89c82afe8;hp=ec2742813bf2ffd3177480b67bad6ffdbcb2ae98;hpb=40c9f9992bc1caa1bb890bd8163361dbf2eefa86;p=mirror_ubuntu-bionic-kernel.git diff --git a/drivers/s390/cio/ccwgroup.c b/drivers/s390/cio/ccwgroup.c index ec2742813bf2..2becedbe8883 100644 --- a/drivers/s390/cio/ccwgroup.c +++ b/drivers/s390/cio/ccwgroup.c @@ -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); }