summaryrefslogtreecommitdiffstats
path: root/net/nfc
diff options
context:
space:
mode:
authorEric Lapuyade <eric.lapuyade@linux.intel.com>2012-10-17 16:48:21 +0200
committerSamuel Ortiz <sameo@linux.intel.com>2012-11-19 23:56:58 +0100
commit23f7e6d0d060e2eb0be1daef818d030025453b44 (patch)
tree6272fc7af32be8c116e15e10c1c185994bce0dc8 /net/nfc
parent07887e92205c5808820de0be53bf326b4019d060 (diff)
downloadlinux-stable-23f7e6d0d060e2eb0be1daef818d030025453b44.tar.gz
linux-stable-23f7e6d0d060e2eb0be1daef818d030025453b44.tar.bz2
linux-stable-23f7e6d0d060e2eb0be1daef818d030025453b44.zip
NFC: Ignore err when chip doesn't implement HW/SW info registers
NFC_HCI_ID_MGMT_VERSION_SW and NFC_HCI_ID_MGMT_VERSION_HW are optional registers for gate NFC_HCI_ID_MGMT_GATE in standard HCI. When chip doesn't implement, just leave all the information as zeros. Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'net/nfc')
-rw-r--r--net/nfc/hci/core.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/net/nfc/hci/core.c b/net/nfc/hci/core.c
index bc571b0efb92..a58db89b4555 100644
--- a/net/nfc/hci/core.c
+++ b/net/nfc/hci/core.c
@@ -38,6 +38,8 @@ static int nfc_hci_result_to_errno(u8 result)
switch (result) {
case NFC_HCI_ANY_OK:
return 0;
+ case NFC_HCI_ANY_E_REG_PAR_UNKNOWN:
+ return -EOPNOTSUPP;
case NFC_HCI_ANY_E_TIMEOUT:
return -ETIME;
default:
@@ -419,6 +421,10 @@ static int hci_dev_version(struct nfc_hci_dev *hdev)
r = nfc_hci_get_param(hdev, NFC_HCI_ID_MGMT_GATE,
NFC_HCI_ID_MGMT_VERSION_SW, &skb);
+ if (r == -EOPNOTSUPP) {
+ pr_info("Software/Hardware info not available\n");
+ return 0;
+ }
if (r < 0)
return r;