Thread (7 messages) 7 messages, 2 authors, 2011-02-03

Re: [RFC] Bluetooth: process received S-frames when socket is locked by user process

From: Gustavo F. Padovan <hidden>
Date: 2011-02-02 16:28:18

Hi Suraj,

* Suraj Sumangala [off-list ref] [2011-01-31 18:42:51 +0530]:
This patch lets L2CAP process received S-frames even when socket is
continuously being locked by user process.

This issue was seen when testing with l2test without using "-D" option.

Since the user process does not expect any Rx packets,
it hogs the socket with continuous call to "send()".

When the TxWindow is full Tx stops untill the I-frames are acked by the receiver.

But the Rx S-Frame acknowleding the Tx frames will stay in the backlog queue
because the "sock_owned_by_user()" call in l2cap_data_channel()
will always return true.

The user process does not have an idea about this
mechanism and keep pumping data and locking the socket and cause a deadlock.
In which kernel are you seeing this error? I think it is already fixed.

Regards,

-- 
Gustavo F. Padovan
http://profusion.mobi
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help