summaryrefslogtreecommitdiff
path: root/net/nfc/hci/core.c
diff options
context:
space:
mode:
authorMathias Jeppsson <mathias.jeppsson@sonymobile.com>2012-07-06 22:53:18 (GMT)
committerJohn W. Linville <linville@tuxdriver.com>2012-07-10 15:42:50 (GMT)
commit1913e57cf9a7be4565c56a3fbfd85106919ea006 (patch)
treeb2c0e0c33b42a229b7cba1555a4331f1d511ff42 /net/nfc/hci/core.c
parentb48d96652626b315229b1b82c6270eead6a77a6d (diff)
downloadlinux-1913e57cf9a7be4565c56a3fbfd85106919ea006.tar.xz
NFC: Fix empty HCI message list check
list_first_entry() will never return NULL. Instead use list_for_each_entry_safe() to iterate through the list. Signed-off-by: Mathias Jeppsson <mathias.jeppsson@sonymobile.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/nfc/hci/core.c')
-rw-r--r--net/nfc/hci/core.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/net/nfc/hci/core.c b/net/nfc/hci/core.c
index e1a640d..da6e039 100644
--- a/net/nfc/hci/core.c
+++ b/net/nfc/hci/core.c
@@ -682,13 +682,12 @@ EXPORT_SYMBOL(nfc_hci_register_device);
void nfc_hci_unregister_device(struct nfc_hci_dev *hdev)
{
- struct hci_msg *msg;
+ struct hci_msg *msg, *n;
skb_queue_purge(&hdev->rx_hcp_frags);
skb_queue_purge(&hdev->msg_rx_queue);
- while ((msg = list_first_entry(&hdev->msg_tx_queue, struct hci_msg,
- msg_l)) != NULL) {
+ list_for_each_entry_safe(msg, n, &hdev->msg_tx_queue, msg_l) {
list_del(&msg->msg_l);
skb_queue_purge(&msg->msg_frags);
kfree(msg);