|
@@ -35,10 +35,10 @@ extern int sysdev_shutdown(void);
|
|
|
*/
|
|
|
void device_shutdown(void)
|
|
|
{
|
|
|
- struct device * dev;
|
|
|
+ struct device * dev, *devn;
|
|
|
|
|
|
down_write(&devices_subsys.rwsem);
|
|
|
- list_for_each_entry_reverse(dev, &devices_subsys.kset.list,
|
|
|
+ list_for_each_entry_safe_reverse(dev, devn, &devices_subsys.kset.list,
|
|
|
kobj.entry) {
|
|
|
if (dev->bus && dev->bus->shutdown) {
|
|
|
dev_dbg(dev, "shutdown\n");
|