On Wednesday 31 October 2012 11:05:33 Ming Lei wrote: > On Wed, Oct 31, 2012 at 10:08 AM, Ming Lei <ming.lei@xxxxxxxxxxxxx> wrote: > >> I am afraid it is, because a disk may just have been probed as the deviceis being reset. > > > > Yes, it is probable, and sounds like similar with 'root_wait' problem, see > > prepare_namespace(): init/do_mounts.c, so looks no good solution > > for the problem, and maybe we have to set the flag always before resetting > > usb device. > > The below idea may help the problem which 'memalloc_noio' flag isn't set during > usb_reset_device(). > > - for usb mass storage device, call pm_runtime_set_memalloc_noio(true) > inside usb_stor_probe2() and uas_probe(), and call > pm_runtime_set_memalloc_noio(false) inside uas_disconnect() > and usb_stor_disconnect(). > > - for usb network device, register_netdev() is always called inside usb > interface's probe(), looks no such problem. This still leaves networking done over PPP in the cold. Regards Oliver -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>