Skip to content

Commit

Permalink
NFC: Set active target upon DEP up event reception
Browse files Browse the repository at this point in the history
As we can potentially get DEP up events without having sent a netlink
command, we need to set the active target properly from dep_link_is_up.
Spontaneous DEP up events can come from devices that detected an active
p2p target. In that case there is no need to call the netlink DEP up
command as the link is already up and running.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
  • Loading branch information
Samuel Ortiz committed Sep 24, 2013
1 parent fa544ff commit e29a9e2
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions net/nfc/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -384,6 +384,19 @@ int nfc_dep_link_is_up(struct nfc_dev *dev, u32 target_idx,
{
dev->dep_link_up = true;

if (!dev->active_target) {
struct nfc_target *target;

target = nfc_find_target(dev, target_idx);
if (target == NULL)
return -ENOTCONN;

dev->active_target = target;
}

dev->polling = false;
dev->rf_mode = rf_mode;

nfc_llcp_mac_is_up(dev, target_idx, comm_mode, rf_mode);

return nfc_genl_dep_link_up_event(dev, target_idx, comm_mode, rf_mode);
Expand Down

0 comments on commit e29a9e2

Please sign in to comment.