From 56bdb961a415df8fdcf7ca61e059ea6710213c01 Mon Sep 17 00:00:00 2001 From: Eric Lapuyade Date: Mon, 11 Jun 2012 15:06:56 +0200 Subject: [PATCH] --- yaml --- r: 315285 b: refs/heads/master c: a070c8591a503ec65e2c84ebaf3454e5cd76e3fe h: refs/heads/master i: 315283: 5ad17e9415d87a0d92c6ba8c855160aec377e41a v: v3 --- [refs] | 2 +- trunk/net/nfc/hci/core.c | 15 +++++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 67b1eb66eca3..eb4759f87c59 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ccca0d6e8805f12fcda2e740c44afa7191923559 +refs/heads/master: a070c8591a503ec65e2c84ebaf3454e5cd76e3fe diff --git a/trunk/net/nfc/hci/core.c b/trunk/net/nfc/hci/core.c index 9a1a12f8687e..e6b2df3981b6 100644 --- a/trunk/net/nfc/hci/core.c +++ b/trunk/net/nfc/hci/core.c @@ -736,10 +736,17 @@ EXPORT_SYMBOL(nfc_hci_get_clientdata); static void nfc_hci_failure(struct nfc_hci_dev *hdev, int err) { - /* - * TODO: lower layer has permanent failure. - * complete potential HCI command or send an empty tag discovered event - */ + mutex_lock(&hdev->msg_tx_mutex); + + if (hdev->cmd_pending_msg == NULL) { + nfc_driver_failure(hdev->ndev, err); + goto exit; + } + + __nfc_hci_cmd_completion(hdev, err, NULL); + +exit: + mutex_unlock(&hdev->msg_tx_mutex); } void nfc_hci_driver_failure(struct nfc_hci_dev *hdev, int err)