Re: [ROSE] [AX25] possible circular locking
From: Jarek Poplawski <hidden>
Date: 2007-12-18 22:01:08
On Tue, Dec 18, 2007 at 10:12:31PM +0100, Pidoux wrote:
Hi, Thank you Jarek for the analysis of the circular locking dependency report. I applied the patch you proposed and it works well as soon as I am able to reboot now without lock warning message and I can also killall kissattach. I tried also the patch without the loop, that is only spin_unlock_bh() before calling ax25_disconnect() and spin_lock_bh() just after. It worked also well. However I must say that I only have one ax25 device running (ax0). Is the loop really necessary here ? in case there are more than one ax25 device ? Also, I will let my AX25 - ROSE application running in order to test the system stability with the full patch. I will let you know the results in a while.
Thank you Bernard for the bravery! The loop is only for debugging: I don't know exactly what is done during this ax25_disconnect(), and how the list can change in the meantime because of some other activities. So, it's e.g. against possible list_del of this node - then some sockets would stay not disconnected. I think, it's up to Ralf or some other ax25 expert to judge if this could be done like this. Since it's not used very often, I think this should better stay during testing: if there are no warnings - the loop isn't repeated; otherwise it could simply take a little more time, but all sockets should be serviced, plus we know about problems. Thanks, Jarek P.