mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-10 07:00:48 +00:00
staging: r8188eu: simplify rtw_alloc_xmitframe
Make the rtw_alloc_xmitframe function a bit simpler. The container_of() call never returns NULL. The if (pxframe) check is false only if pfree_xmit_queue is empty. Handle this special case explicitly and save one level of indentation. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Tested-by: Philipp Hortmann <philipp.g.hortmann@gmail.com> # Edimax N150 Link: https://lore.kernel.org/r/20230207192319.294203-3-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
aec9b5bb8f
commit
f141c234cb
@ -1256,38 +1256,32 @@ struct xmit_frame *rtw_alloc_xmitframe(struct xmit_priv *pxmitpriv)/* _queue *pf
|
||||
|
||||
spin_lock_bh(&pfree_xmit_queue->lock);
|
||||
|
||||
if (list_empty(&pfree_xmit_queue->queue)) {
|
||||
pxframe = NULL;
|
||||
} else {
|
||||
phead = get_list_head(pfree_xmit_queue);
|
||||
if (list_empty(&pfree_xmit_queue->queue))
|
||||
goto out;
|
||||
|
||||
plist = phead->next;
|
||||
phead = get_list_head(pfree_xmit_queue);
|
||||
plist = phead->next;
|
||||
pxframe = container_of(plist, struct xmit_frame, list);
|
||||
list_del_init(&pxframe->list);
|
||||
|
||||
pxframe = container_of(plist, struct xmit_frame, list);
|
||||
pxmitpriv->free_xmitframe_cnt--;
|
||||
|
||||
list_del_init(&pxframe->list);
|
||||
}
|
||||
pxframe->buf_addr = NULL;
|
||||
pxframe->pxmitbuf = NULL;
|
||||
|
||||
if (pxframe) { /* default value setting */
|
||||
pxmitpriv->free_xmitframe_cnt--;
|
||||
memset(&pxframe->attrib, 0, sizeof(struct pkt_attrib));
|
||||
/* pxframe->attrib.psta = NULL; */
|
||||
|
||||
pxframe->buf_addr = NULL;
|
||||
pxframe->pxmitbuf = NULL;
|
||||
pxframe->frame_tag = DATA_FRAMETAG;
|
||||
|
||||
memset(&pxframe->attrib, 0, sizeof(struct pkt_attrib));
|
||||
/* pxframe->attrib.psta = NULL; */
|
||||
pxframe->pkt = NULL;
|
||||
pxframe->pkt_offset = 1;/* default use pkt_offset to fill tx desc */
|
||||
|
||||
pxframe->frame_tag = DATA_FRAMETAG;
|
||||
|
||||
pxframe->pkt = NULL;
|
||||
pxframe->pkt_offset = 1;/* default use pkt_offset to fill tx desc */
|
||||
|
||||
pxframe->agg_num = 1;
|
||||
pxframe->ack_report = 0;
|
||||
}
|
||||
pxframe->agg_num = 1;
|
||||
pxframe->ack_report = 0;
|
||||
|
||||
out:
|
||||
spin_unlock_bh(&pfree_xmit_queue->lock);
|
||||
|
||||
return pxframe;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user