Re: [AX25] inconsistent lock state
From: Arnd Bergmann <arnd@arndb.de>
Date: 2011-06-17 14:11:34
Also in:
linux-hams, lkml
From: Arnd Bergmann <arnd@arndb.de>
Date: 2011-06-17 14:11:34
Also in:
linux-hams, lkml
On Friday 17 June 2011 15:51:48 Ralf Baechle wrote:
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