From: Eric Lapuyade Date: Wed, 17 Oct 2012 14:48:21 +0000 (+0200) Subject: NFC: Ignore err when chip doesn't implement HW/SW info registers X-Git-Tag: firefly_0821_release~3680^2~1480^2~17^2~164^2~9 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=23f7e6d0d060e2eb0be1daef818d030025453b44;p=firefly-linux-kernel-4.4.55.git 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 Signed-off-by: Samuel Ortiz --- 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;