Messages in this thread | | | From | "Fabio M. De Francesco" <> | Subject | Re: [PATCH v2] staging: r8188eu: Provide a TODO file for this driver | Date | Sun, 10 Oct 2021 11:21:49 +0200 |
| |
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 > > > >
| |