[S390] dasd: sync after async probe
Some functions called as a late_initcall depend on completely
initialized devices. Since commit
f3445a1a65
the dasd driver uses the
new async framework and relies on the fact that synchronization is
done in prepare_namespace which is called after the late_initcalls.
Fix this by calling async_synchronize_full at the end of the related
init functions.
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
92636b152f
commit
736e6ea0bf
@@ -3277,8 +3277,14 @@ static struct dasd_discipline dasd_eckd_discipline = {
|
|||||||
static int __init
|
static int __init
|
||||||
dasd_eckd_init(void)
|
dasd_eckd_init(void)
|
||||||
{
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
ASCEBC(dasd_eckd_discipline.ebcname, 4);
|
ASCEBC(dasd_eckd_discipline.ebcname, 4);
|
||||||
return ccw_driver_register(&dasd_eckd_driver);
|
ret = ccw_driver_register(&dasd_eckd_driver);
|
||||||
|
if (!ret)
|
||||||
|
wait_for_device_probe();
|
||||||
|
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __exit
|
static void __exit
|
||||||
|
@@ -604,8 +604,14 @@ static struct dasd_discipline dasd_fba_discipline = {
|
|||||||
static int __init
|
static int __init
|
||||||
dasd_fba_init(void)
|
dasd_fba_init(void)
|
||||||
{
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
ASCEBC(dasd_fba_discipline.ebcname, 4);
|
ASCEBC(dasd_fba_discipline.ebcname, 4);
|
||||||
return ccw_driver_register(&dasd_fba_driver);
|
ret = ccw_driver_register(&dasd_fba_driver);
|
||||||
|
if (!ret)
|
||||||
|
wait_for_device_probe();
|
||||||
|
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __exit
|
static void __exit
|
||||||
|
Reference in New Issue
Block a user