Messages in this thread | | | Date | Wed, 16 Jan 2013 11:05:22 +0800 | Subject | Re: USB device cannot be reconnected and khubd "blocked for more than 120 seconds" | From | Ming Lei <> |
| |
On Wed, Jan 16, 2013 at 1:36 AM, Linus Torvalds <torvalds@linux-foundation.org> wrote: > > Because it's not just sd.c that uses async_schedule(), and would need > the async synchronize. It's floppy.c, it's generic scsi scanning (so > scsi tapes etc), and it's libata-core.c.
As discussed previously, only the module which will populate device node for user space inside async func may require the synchronization, so that the below
modprobe A mount /dev/XXX /mnt
script can't be broken, and that should be the original bug report:
https://bugzilla.kernel.org/attachment.cgi?id=20937
For other modules, looks the synchonization isn't needed, at least there are lots of other async(work, kthread, ...) things which is scheduled in driver probe() and no any synchronize is added after the module init() completes inside loading module. Do we need to add that sync for all async things inside loading module?
So looks only sd.c and floppy.c are to be synchronized suppose some sync interfaces are introduced, doesn't it?
Thanks -- Ming Lei
| |