On Wed, 31 Oct 2012, Alan Stern wrote: > On Wed, 31 Oct 2012, Ming Lei wrote: > > > 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(). > > Why would you want to do that? The probe and disconnect routines > usually -- but not always -- run in the khubd thread. Surely you don't > want to prevent khubd from using GFP_KERNEL? > > And what if probe runs in khubd but disconnect runs in a different > thread? Sorry, I misread your message. You are setting the device's flag, not the thread's flag. This still doesn't help in this case where CONFIG_PM_RUNTIME is disabled. I think it will be simpler to set the noio flag during every device reset. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html