mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
ide: Fix ordering of procfs registry.
We must ensure that ide_proc_port_register_devices() occurs on an interface before ide_proc_register_driver() executes for that interfaces drives. Therefore defer the registry of the driver device objects backed by ide_bus_type until after ide_proc_port_register_devices() has run and thus all of the drive->proc procfs directory pointers have been setup. Signed-off-by: Wolfram Sang <w.sang@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
cd078af65d
commit
dbee032295
@ -1444,14 +1444,6 @@ int ide_host_register(struct ide_host *host, const struct ide_port_info *d,
|
||||
ide_acpi_port_init_devices(hwif);
|
||||
}
|
||||
|
||||
ide_host_for_each_port(i, hwif, host) {
|
||||
if (hwif == NULL)
|
||||
continue;
|
||||
|
||||
if (hwif->present)
|
||||
hwif_register_devices(hwif);
|
||||
}
|
||||
|
||||
ide_host_for_each_port(i, hwif, host) {
|
||||
if (hwif == NULL)
|
||||
continue;
|
||||
@ -1459,8 +1451,10 @@ int ide_host_register(struct ide_host *host, const struct ide_port_info *d,
|
||||
ide_sysfs_register_port(hwif);
|
||||
ide_proc_register_port(hwif);
|
||||
|
||||
if (hwif->present)
|
||||
if (hwif->present) {
|
||||
ide_proc_port_register_devices(hwif);
|
||||
hwif_register_devices(hwif);
|
||||
}
|
||||
}
|
||||
|
||||
return j ? 0 : -1;
|
||||
|
Loading…
Reference in New Issue
Block a user