| From 8d4a124cb4e2b2259dfe43e3db57a685e31c7cb2 Mon Sep 17 00:00:00 2001 |
| From: Cornelia Huck <cohuck@redhat.com> |
| Date: Fri, 27 Mar 2020 13:45:03 +0100 |
| Subject: [PATCH] s390/cio: generate delayed uevent for vfio-ccw subchannels |
| |
| commit 2bc55eaeb88d30accfc1b6ac2708d4e4b81ca260 upstream. |
| |
| 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. |
| |
| Message-Id: <20200327124503.9794-3-cohuck@redhat.com> |
| Fixes: 63f1934d562d ("vfio: ccw: basic implementation for vfio_ccw driver") |
| Reviewed-by: Eric Farman <farman@linux.ibm.com> |
| Signed-off-by: Cornelia Huck <cohuck@redhat.com> |
| Signed-off-by: Vasily Gorbik <gor@linux.ibm.com> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/s390/cio/vfio_ccw_drv.c b/drivers/s390/cio/vfio_ccw_drv.c |
| index 8a8fbde7e186..013117113ede 100644 |
| --- a/drivers/s390/cio/vfio_ccw_drv.c |
| +++ b/drivers/s390/cio/vfio_ccw_drv.c |
| @@ -159,6 +159,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); |
| + } |
| + |
| return 0; |
| |
| out_disable: |
| -- |
| 2.7.4 |
| |