On Saturday, October 9, 2021 6:31:12 PM CEST Fabio M. De Francesco wrote: > On Thursday, August 26, 2021 3:54:13 PM CEST Dan Carpenter wrote: > > Another thing to fix are some of the sleeping in atomic bugs. > > > > drivers/staging/r8188eu/core/rtw_ap.c:139 update_BCNTIM() warn: sleeping > > in atomic context > > drivers/staging/r8188eu/core/rtw_ap.c:1296 update_bcn_wps_ie() warn: > > sleeping in atomic context > > > > [...] > > > Hello Dan, > > I'd like to address these kind of bugs, but I have a couple of questions > about them. > > 1) You've listed what looks like the output of a compiler or static > analyzer. > How did you get the warnings you copy-pasted above? > > 2) I know that both the execution of interrupt handlers (ISRs) as well as > any > code blocks that are executed holding spinlocks are "atomic contexts". In > these cases, "sleeping" is not allowed (for obvious reasons). Besides the > two > mentioned above, are there any further cases of "atomic contexts" in the > kernel? After some research, I've found that Softirqs and Tasklets are also executed in "atomic context", as hardware interrupt service routines are. Furthermore, I've also found a .config option named DEBUG_ATOMIC_SLEEP that should warn if some code is sleeping in "atomic context". However, the documentation of that option does not explain where the output of these checks can be read. I would appreciate any help on this matter. Thanks, Fabio > > Thank you in advance, > > Fabio > > > >