Use case:
1. Sometimes pairing pop up occurs during Android beam
transfer though it is not required.
2. No OPP Tx request over OBEX if we cancel during file transfer.
Steps:
1. Pair and connect from DUT to remote.
2. Go to gallery and send a file.
3. Accept same file and stop it from remote during transfer.
4. Repeat step 2-4 10 times.
Failure:
OPP Tx should not fail.
Root cause:
Close request was not properly handled from BTIF layer.
Fix:
1. Close the request properly from BTIF layer
to close the socket variables and instruct the BTA layer
close from there as well.
2. Clean up L2CAP socket properly on closure to free
the entry registered with security manager to avoid
leak in security manager records.
3. Close the socket for all valid handles including handle 0.
Change-Id: I4e37dcd858af258fbd64fbfb2fbf0083bd743e06
BTA_JvFreeChannel(sock->channel, BTA_JV_CONN_TYPE_L2CAP_LE);
else
BTA_JvFreeChannel(sock->channel, BTA_JV_CONN_TYPE_L2CAP);
+
+ if (!sock->fixed_chan) {
+ APPL_TRACE_DEBUG("%s stopping L2CAP server channel %d", __func__, sock->channel);
+ BTA_JvL2capStopServer(sock->channel, UINT_TO_PTR(sock->id));
+ }
}
}