Gleb> This is the case only if close() can return before Gleb> workqueues are ran. Is this possible? If yes perhaps it is Gleb> better to use tascklets. Yes, it's possible. Unfortunately a tasklet can't be used because tasklet context can't do down_write(). - R.