summaryrefslogtreecommitdiffstats
path: root/net/nfc
diff options
context:
space:
mode:
authorMathias Jeppsson <mathias.jeppsson@sonymobile.com>2012-07-07 00:53:18 +0200
committerJohn W. Linville <linville@tuxdriver.com>2012-07-10 17:42:50 +0200
commit1913e57cf9a7be4565c56a3fbfd85106919ea006 (patch)
treeb2c0e0c33b42a229b7cba1555a4331f1d511ff42 /net/nfc
parentiwlegacy: don't mess up the SCD when removing a key (diff)
downloadlinux-1913e57cf9a7be4565c56a3fbfd85106919ea006.tar.xz
linux-1913e57cf9a7be4565c56a3fbfd85106919ea006.zip
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')
-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 e1a640d2b588..da6e039c8606 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);