net: irda: hang when doing anything to a socket in accept()

From: Sasha Levin
Date: Fri Dec 06 2013 - 16:05:33 EST


Hi all,

I've noticed that once an IRDA socket is in accept(), any further action that requires locking the
socket will result in a hang until accept() is completed (which may take a while). After a while
hung task spew is printed out.

thread 1 | thread 2
|
listen(sock) |
bind(sock) |
accept(sock) |
| setsockopt(sock)
*HANG*

I'm not sure I can provide a properly tested fix since I don't actually have IRDA hardware to test
on.


Thanks,
Sasha
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/