[Bug 99301] socket shutdown of L2CAP ERTM channel causes hung tasks when S or I frame ACK is pending

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.kernel.org/show_bug.cgi?id=99301

--- Comment #1 from Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> ---
Usual case:
Unit under test:                              Mobile Phone
Establish ERTM channel
...
I frame: Media Browsing request --->
                                         <--- S (or I) frame ACK
...
                                         <--- I frame: Media data
S (or I) frame ACK --->
...
Close ERTM channel

Normally, the service will wait for the media data to arrive before closing the
channel is requested. This case is OK

Failure case:
Unit under test:                              Mobile phone
Establish ERTM channel
...
I frame: Media Browsing request --->
Close ERTM channel
                                         <--- S (or I) frame ACK

The failure occurs when the userland decides to close the ERTM channel before
the S (or I) frame ACK is processed. This means that userland is performing a
scenario that causes the mediaplayer browsing request to be aborted.

So you can see that the window for failure is small as timing is critical.
Processor loading probably influences the size of the failure window.

The l2test testcase mimics the failure case by closing the channel after
sending some data and not waiting for the ACK; no return data is used. The
failure is repeatable 100% so far using l2test as there is a design flaw in the
architecture of the locking mechanism used in the L2CAP ERTM channel closure
procedure via sock shutdown.

-- 
You are receiving this mail because:
You are the assignee for the bug.
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux