summaryrefslogtreecommitdiff
path: root/drivers/staging/rtl8712/rtl871x_cmd.c
diff options
context:
space:
mode:
authorGeliang Tang <geliangtang@163.com>2016-02-01 14:47:03 (GMT)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-02-08 03:53:04 (GMT)
commit818ff7b28b7777ac71d13215bc7a332e126da268 (patch)
treecd16f34705947eb6775369996e83d15fcc66944a /drivers/staging/rtl8712/rtl871x_cmd.c
parent97e2ba90fc89f375e88ad5d825c149fb82d8207b (diff)
downloadlinux-818ff7b28b7777ac71d13215bc7a332e126da268.tar.xz
staging: rtl8712: use list_first_entry_or_null()
Use list_first_entry_or_null() instead of list_empty() + LIST_CONTAINOR() to simplify the code. Signed-off-by: Geliang Tang <geliangtang@163.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/rtl8712/rtl871x_cmd.c')
-rw-r--r--drivers/staging/rtl8712/rtl871x_cmd.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/staging/rtl8712/rtl871x_cmd.c b/drivers/staging/rtl8712/rtl871x_cmd.c
index 562a102..5875677 100644
--- a/drivers/staging/rtl8712/rtl871x_cmd.c
+++ b/drivers/staging/rtl8712/rtl871x_cmd.c
@@ -136,15 +136,12 @@ static struct cmd_obj *_dequeue_cmd(struct __queue *queue)
unsigned long irqL;
struct cmd_obj *obj;
- spin_lock_irqsave(&(queue->lock), irqL);
- if (list_empty(&(queue->queue))) {
- obj = NULL;
- } else {
- obj = LIST_CONTAINOR(queue->queue.next,
- struct cmd_obj, list);
+ spin_lock_irqsave(&queue->lock, irqL);
+ obj = list_first_entry_or_null(&queue->queue,
+ struct cmd_obj, list);
+ if (obj)
list_del_init(&obj->list);
- }
- spin_unlock_irqrestore(&(queue->lock), irqL);
+ spin_unlock_irqrestore(&queue->lock, irqL);
return obj;
}