Re: staging: r8188eu: how to handle nested mutex under spinlock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/4/22 15:33, Dan Carpenter wrote:
On Sun, Apr 03, 2022 at 02:18:04PM +0200, Michael Straube wrote:
On 4/3/22 14:10, Fabio M. De Francesco wrote:
For a list of all the paths to a given function you may use Smatch:

./smatch/smatch_data/db/smdb.py ips_leave

or

./smatch/smatch_data/db/smdb.py call_tree ips_leave

But perhaps you already know how to do it.

Yes, but thank you anyway. :)


My email (gmail account) has been so weird recently.  I don't know why
I'm not getting Fabio's emails...  Presumably they will show up in a few
days.

The other command to use is:

$ ./smatch/smatch_data/db/smdb.py preempt ips_leave
rtw_set_802_11_disassociate() <- disables preempt
-> _rtw_pwr_wakeup()
    -> LeaveAllPowerSaveMode()
       -> ips_leave()

I save that to a file, open it with with vim and run a vim function
`hall` (for highlight all) from my .vimrc file.

" Use :hall to highlight all the words in a file (for debugging sleeping bugs)
function HLall()
   let a=[]
   %s/\w\+/\=add(a, submatch(0))/gn
   let @/ = join(a, "\\|")
endfunction
cnoreabbrev hall call HLall() <CR>:set hls<CR>

That highlights all the functions is the call tree, then I use cscope to
jump to rtw_set_802_11_disassociate and follow the highlighted functions
to ips_leave().

Thank you for this hint Dan. :)

thanks,
Michael





[Index of Archives]     [Linux Driver Development]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux