summaryrefslogtreecommitdiffstats
path: root/net/nfc/core.c
diff options
context:
space:
mode:
authorThierry Escande <thierry.escande@linux.intel.com>2012-10-05 11:05:45 +0200
committerSamuel Ortiz <sameo@linux.intel.com>2012-10-26 18:26:47 +0200
commit5bcf099c17323a8760620511b1b8e415c2783571 (patch)
tree60f922dba9f36caefb69a269352e28c6ae899701 /net/nfc/core.c
parent19cfe5843e86cc95542d9d875c9386e197956d75 (diff)
downloadlinux-5bcf099c17323a8760620511b1b8e415c2783571.tar.gz
linux-5bcf099c17323a8760620511b1b8e415c2783571.tar.bz2
linux-5bcf099c17323a8760620511b1b8e415c2783571.zip
NFC: Set rf_mode to NFC_RF_NONE where necessary
rf_mode is now set to NFC_RF_NONE when a device gets allocated, when the link goes down, and when stop polling. Signed-off-by: Thierry Escande <thierry.escande@linux.intel.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'net/nfc/core.c')
-rw-r--r--net/nfc/core.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/net/nfc/core.c b/net/nfc/core.c
index 4cb069766ce5..f1c33f233311 100644
--- a/net/nfc/core.c
+++ b/net/nfc/core.c
@@ -181,6 +181,7 @@ int nfc_stop_poll(struct nfc_dev *dev)
dev->ops->stop_poll(dev);
dev->polling = false;
+ dev->rf_mode = NFC_RF_NONE;
error:
device_unlock(&dev->dev);
@@ -274,12 +275,14 @@ int nfc_dep_link_down(struct nfc_dev *dev)
if (!rc) {
dev->dep_link_up = false;
dev->active_target = NULL;
+ dev->rf_mode = NFC_RF_NONE;
nfc_llcp_mac_is_down(dev);
nfc_genl_dep_link_down_event(dev);
}
error:
device_unlock(&dev->dev);
+
return rc;
}
@@ -503,6 +506,7 @@ EXPORT_SYMBOL(nfc_tm_activated);
int nfc_tm_deactivated(struct nfc_dev *dev)
{
dev->dep_link_up = false;
+ dev->rf_mode = NFC_RF_NONE;
return nfc_genl_tm_deactivated(dev);
}
@@ -782,6 +786,7 @@ struct nfc_dev *nfc_allocate_device(struct nfc_ops *ops,
nfc_genl_data_init(&dev->genl_data);
+ dev->rf_mode = NFC_RF_NONE;
/* first generation must not be 0 */
dev->targets_generation = 1;