diff options
author | Martijn Coenen <maco@google.com> | 2011-07-27 07:27:53 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-07-27 07:27:53 -0700 |
commit | 979c4c6363f8d0bc42770884ec79f022fdfb8de0 (patch) | |
tree | a95b86a7f536c0b76e44562469d20a868e43c90a /src | |
parent | 9ce2972f3f2051d71239f8b9ebba4f164c7a35be (diff) | |
parent | 54b847c7f7a5bc2e36ebe877ce832cdfefabc733 (diff) | |
download | external_libnfc-nxp-979c4c6363f8d0bc42770884ec79f022fdfb8de0.zip external_libnfc-nxp-979c4c6363f8d0bc42770884ec79f022fdfb8de0.tar.gz external_libnfc-nxp-979c4c6363f8d0bc42770884ec79f022fdfb8de0.tar.bz2 |
Merge "Don't wait for timeout to send SYMM PDU's."
Diffstat (limited to 'src')
-rw-r--r-- | src/phFriNfc_Llcp.c | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/src/phFriNfc_Llcp.c b/src/phFriNfc_Llcp.c index 8b2624e..2a4fcb4 100644 --- a/src/phFriNfc_Llcp.c +++ b/src/phFriNfc_Llcp.c @@ -196,24 +196,11 @@ static NFCSTATUS phFriNfc_Llcp_InternalDeactivate( phFriNfc_Llcp_t *Llcp ) static NFCSTATUS phFriNfc_Llcp_SendSymm( phFriNfc_Llcp_t *Llcp ) { phFriNfc_Llcp_sPacketHeader_t sHeader; - bool_t bPendingFlag; - /* Check for pending messages to send */ - bPendingFlag = phFriNfc_Llcp_HandlePendingSend(Llcp); - - if (bPendingFlag == FALSE) - { - /* No send pending, send a SYMM instead */ - sHeader.dsap = PHFRINFC_LLCP_SAP_LINK; - sHeader.ssap = PHFRINFC_LLCP_SAP_LINK; - sHeader.ptype = PHFRINFC_LLCP_PTYPE_SYMM; - return phFriNfc_Llcp_InternalSend(Llcp, &sHeader, NULL, NULL); - } - else - { - /* A pending send has been sent, there is no need to send SYMM */ - return NFCSTATUS_SUCCESS; - } + sHeader.dsap = PHFRINFC_LLCP_SAP_LINK; + sHeader.ssap = PHFRINFC_LLCP_SAP_LINK; + sHeader.ptype = PHFRINFC_LLCP_PTYPE_SYMM; + return phFriNfc_Llcp_InternalSend(Llcp, &sHeader, NULL, NULL); } @@ -917,6 +904,11 @@ static bool_t phFriNfc_Llcp_HandlePendingSend ( phFriNfc_Llcp_t *Llcp ) phFriNfc_Llcp_InternalDeactivate(Llcp); } return_value = TRUE; + } else if (Llcp->pfSendCB == NULL) { + // Nothing to send, send SYMM instead to allow peer to send something + // if it wants. + phFriNfc_Llcp_SendSymm(Llcp); + return_value = TRUE; } clean_and_return: |