Thread (22 messages) 22 messages, 7 authors, 2012-10-21

Re: [AX25] inconsistent lock state

From: f6bvp <hidden>
Date: 2011-06-17 15:31:41
Also in: linux-hams, lkml

Hi Arnd,

I will apply your patch with write_lock_bh only following your
remark about recursive call.

I agree that the error message did not appear systematically
when doing what I did i.e. unpluging the ethernet cable from
the computer interface.

However, I will perform the same a few times and see what happens.

Many thanks.

Bernard


Le 17/06/2011 16:11, Arnd Bergmann a écrit :
On Friday 17 June 2011 15:51:48 Ralf Baechle wrote:
quoted
On Fri, Jun 17, 2011 at 03:36:15PM +0200, Arnd Bergmann wrote:

(Removed Jarek from cc; his email bounces.)
quoted
The message hints that disc_data_lock is aquired with softirqs disabled,
but does not itself disable softirqs, which can in rare circumstances
lead to a deadlock.

Does this fix it?
If so, drivers/net/hamradio.c, function sp_get() would probably need the
equivalent fix.  Same for drivers/net/ppp_async.c:ap_get() and sp_get() in
drivers/net/ppp_synctty.c.
It seems that ppp_synctty.c is ok, it uses write_lock_irq() already,
sixpack.c looks like it has the same bug as mkiss. I also realized
after sending out the patch that only the write_lock needs to be
changed to write_lock_bh, while read_lock can leave softirqs enabled
because it can be called recursively.

	Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-hams" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help