NFC: Release LLCP SAP when the owner is released
The LLCP SAP should only be freed when the socket owning it is released. As long as the socket is alive, the SAP should be reserved in order to e.g. send the right wks array when bringing the MAC up. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
parent
4d22ea1532
commit
cbbf472181
3 changed files with 11 additions and 14 deletions
|
@ -131,17 +131,6 @@ int nfc_llcp_local_put(struct nfc_llcp_local *local)
|
|||
return kref_put(&local->ref, local_release);
|
||||
}
|
||||
|
||||
static void nfc_llcp_clear_sdp(struct nfc_llcp_local *local)
|
||||
{
|
||||
mutex_lock(&local->sdp_lock);
|
||||
|
||||
local->local_wks = 0;
|
||||
local->local_sdp = 0;
|
||||
local->local_sap = 0;
|
||||
|
||||
mutex_unlock(&local->sdp_lock);
|
||||
}
|
||||
|
||||
static void nfc_llcp_timeout_work(struct work_struct *work)
|
||||
{
|
||||
struct nfc_llcp_local *local = container_of(work, struct nfc_llcp_local,
|
||||
|
@ -993,8 +982,6 @@ void nfc_llcp_mac_is_down(struct nfc_dev *dev)
|
|||
if (local == NULL)
|
||||
return;
|
||||
|
||||
nfc_llcp_clear_sdp(local);
|
||||
|
||||
/* Close and purge all existing sockets */
|
||||
nfc_llcp_socket_release(local, true);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue