s390/ap: Refine AP bus bindings complete processing
commitb4f5bd60d5upstream. With the rework of the AP bus scan and the introduction of a bindings complete completion also the timing until the userspace finally receives a AP bus binding complete uevent had increased. Unfortunately this event triggers some important jobs for preparation of KVM guests, for example the modification of card/queue masks to reassign AP resources to the alternate AP queue device driver (vfio_ap) which is the precondition for building mediated devices which may be a precondition for starting KVM guests using AP resources. This small fix now triggers the check for binding complete each time an AP device driver has registered. With this patch the bindings complete may be posted up to 30s earlier as there is no need to wait for the next AP bus scan any more. Fixes:778412ab91("s390/ap: rearm APQNs bindings complete completion") Signed-off-by: Harald Freudenberger <freude@linux.ibm.com> Reviewed-by: Holger Dengler <dengler@linux.ibm.com> Cc: stable@vger.kernel.org Acked-by: Alexander Gordeev <agordeev@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
402eb19d09
commit
976b77dd3d
@@ -971,11 +971,16 @@ int ap_driver_register(struct ap_driver *ap_drv, struct module *owner,
|
||||
char *name)
|
||||
{
|
||||
struct device_driver *drv = &ap_drv->driver;
|
||||
int rc;
|
||||
|
||||
drv->bus = &ap_bus_type;
|
||||
drv->owner = owner;
|
||||
drv->name = name;
|
||||
return driver_register(drv);
|
||||
rc = driver_register(drv);
|
||||
|
||||
ap_check_bindings_complete();
|
||||
|
||||
return rc;
|
||||
}
|
||||
EXPORT_SYMBOL(ap_driver_register);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user