NFC: Fix target mode p2p link establishment
authorArron Wang <arron.wang@intel.com>
Thu, 14 Nov 2013 09:03:41 +0000 (17:03 +0800)
committerSamuel Ortiz <sameo@linux.intel.com>
Sat, 4 Jan 2014 02:31:32 +0000 (03:31 +0100)
With commit e29a9e2ae165620d, we set the active_target pointer from
nfc_dep_link_is_up() in order to support the case where the target
detection and the DEP link setting are done atomically by the driver.
That can only happen in initiator mode, so we need to check for that
otherwise we fail to bring a p2p link in target mode.

Signed-off-by: Arron Wang <arron.wang@intel.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
net/nfc/core.c

index 8725291..83b9927 100644 (file)
@@ -384,7 +384,7 @@ int nfc_dep_link_is_up(struct nfc_dev *dev, u32 target_idx,
 {
        dev->dep_link_up = true;
 
-       if (!dev->active_target) {
+       if (!dev->active_target && rf_mode == NFC_RF_INITIATOR) {
                struct nfc_target *target;
 
                target = nfc_find_target(dev, target_idx);