Check CCB state before executing channel state machine events
Use Case: When a disconnect response is being executed, a timeout may occur and timeout event gets enqueued in BTU process. When processing of the disconnect event completes, timout event is received at csm and is executed. However, by this time the Channel Control Block is already released during previous event causing errors. Steps: Various connection/disconnection scenario. Failure: If ccb is already released while processing of previous event, the occurance of new enqueued event causes crash. Root cause: Disconnection response event has already released ccb and set lcb for this channel to null. The occurance of timer event after this results in crash because lcb is dereferenced while header creation to send disc response to peer device. Fix: Added check for ccb state for whether it is currently in use or released before executing events in csm. Change-Id: I9110e6dd5273fa162b51c8aa15bd0030567d664b
Loading
Please register or sign in to comment