aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCornelia Huck <cohuck@redhat.com>2020-03-26 18:30:09 +0100
committerCornelia Huck <cohuck@redhat.com>2020-03-26 18:35:17 +0100
commit74e43d3f824edab751462945fe8c99dc02a5504d (patch)
tree4bd2796021674f26d40e8026b9becf9f6d504aa1
parent190fe3117e2e8803e3a23817b7e2b51df47d4bd6 (diff)
downloadlinux-cio-uevents.tar.gz
s390/cio: generate delayed uevent for vfio-ccw subchannelscio-uevents
The common I/O layer delays the ADD uevent for subchannels and delegates generating this uevent to the individual subchannel drivers. The vfio-ccw I/O subchannel driver, however, did not do that, and will not generate an ADD uevent for subchannels that had not been bound to a different driver (or none at all, which also triggers the uevent). Generate the ADD uevent at the end of the probe function if uevents were still suppressed for the device. Fixes: 63f1934d562d ("vfio: ccw: basic implementation for vfio_ccw driver") Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-rw-r--r--drivers/s390/cio/vfio_ccw_drv.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/s390/cio/vfio_ccw_drv.c b/drivers/s390/cio/vfio_ccw_drv.c
index e401a3d0aa570f..339a6bc0339b0f 100644
--- a/drivers/s390/cio/vfio_ccw_drv.c
+++ b/drivers/s390/cio/vfio_ccw_drv.c
@@ -167,6 +167,11 @@ static int vfio_ccw_sch_probe(struct subchannel *sch)
if (ret)
goto out_disable;
+ if (dev_get_uevent_suppress(&sch->dev)) {
+ dev_set_uevent_suppress(&sch->dev, 0);
+ kobject_uevent(&sch->dev.kobj, KOBJ_ADD);
+ }
+
VFIO_CCW_MSG_EVENT(4, "bound to subchannel %x.%x.%04x\n",
sch->schid.cssid, sch->schid.ssid,
sch->schid.sch_no);