Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fcc2cf12 authored by Geliang Tang's avatar Geliang Tang Committed by Greg Kroah-Hartman
Browse files

staging: rtl8712: use container_of() instead of LIST_CONTAINOR()



This patch drops the local definition of LIST_CONTAINOR(), and uses
container_of() instead of it.

Signed-off-by: default avatarGeliang Tang <geliangtang@163.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 3faa966b
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -57,9 +57,6 @@ struct __queue {
		spin_lock_init(&((pqueue)->lock));	\
	} while (0)

#define LIST_CONTAINOR(ptr, type, member) \
	((type *)((char *)(ptr)-(SIZE_T)(&((type *)0)->member)))

static inline u32 _down_sema(struct semaphore *sema)
{
	if (down_interruptible(sema))
+5 −5
Original line number Diff line number Diff line
@@ -204,7 +204,7 @@ static union recv_frame *recvframe_defrag(struct _adapter *adapter,
	pfree_recv_queue = &adapter->recvpriv.free_recv_queue;
	phead = &defrag_q->queue;
	plist = phead->next;
	prframe = LIST_CONTAINOR(plist, union recv_frame, u);
	prframe = container_of(plist, union recv_frame, u.list);
	list_del_init(&prframe->u.list);
	pfhdr = &prframe->u.hdr;
	curfragnum = 0;
@@ -219,7 +219,7 @@ static union recv_frame *recvframe_defrag(struct _adapter *adapter,
	plist = &defrag_q->queue;
	plist = plist->next;
	while (!end_of_queue_search(phead, plist)) {
		pnextrframe = LIST_CONTAINOR(plist, union recv_frame, u);
		pnextrframe = container_of(plist, union recv_frame, u.list);
		pnfhdr = &pnextrframe->u.hdr;
		/*check the fragment sequence  (2nd ~n fragment frame) */
		if (curfragnum != pnfhdr->attrib.frag_num) {
@@ -492,7 +492,7 @@ static int enqueue_reorder_recvframe(struct recv_reorder_ctrl *preorder_ctrl,
	phead = &ppending_recvframe_queue->queue;
	plist = phead->next;
	while (!end_of_queue_search(phead, plist)) {
		pnextrframe = LIST_CONTAINOR(plist, union recv_frame, u);
		pnextrframe = container_of(plist, union recv_frame, u.list);
		pnextattrib = &pnextrframe->u.hdr.attrib;
		if (SN_LESS(pnextattrib->seq_num, pattrib->seq_num))
			plist = plist->next;
@@ -525,14 +525,14 @@ int r8712_recv_indicatepkts_in_order(struct _adapter *padapter,
		if (list_empty(phead))
			return true;

		prframe = LIST_CONTAINOR(plist, union recv_frame, u);
		prframe = container_of(plist, union recv_frame, u.list);
		pattrib = &prframe->u.hdr.attrib;
		preorder_ctrl->indicate_seq = pattrib->seq_num;
	}
	/* Prepare indication list and indication.
	 * Check if there is any packet need indicate. */
	while (!list_empty(phead)) {
		prframe = LIST_CONTAINOR(plist, union recv_frame, u);
		prframe = container_of(plist, union recv_frame, u.list);
		pattrib = &prframe->u.hdr.attrib;
		if (!SN_LESS(preorder_ctrl->indicate_seq, pattrib->seq_num)) {
			plist = plist->next;
+4 −4
Original line number Diff line number Diff line
@@ -169,7 +169,7 @@ static struct xmit_frame *dequeue_one_xmitframe(struct xmit_priv *pxmitpriv,
	xmitframe_phead = &pframe_queue->queue;
	xmitframe_plist = xmitframe_phead->next;
	if (!end_of_queue_search(xmitframe_phead, xmitframe_plist)) {
		pxmitframe = LIST_CONTAINOR(xmitframe_plist,
		pxmitframe = container_of(xmitframe_plist,
					  struct xmit_frame, list);
		list_del_init(&pxmitframe->list);
		ptxservq->qcnt--;
@@ -209,7 +209,7 @@ static struct xmit_frame *dequeue_xframe_ex(struct xmit_priv *pxmitpriv,
		sta_phead = &phwxmit->sta_queue->queue;
		sta_plist = sta_phead->next;
		while (!end_of_queue_search(sta_phead, sta_plist)) {
			ptxservq = LIST_CONTAINOR(sta_plist, struct tx_servq,
			ptxservq = container_of(sta_plist, struct tx_servq,
						tx_pending);
			pframe_queue = &ptxservq->sta_pending;
			pxmitframe = dequeue_one_xmitframe(pxmitpriv, phwxmit,
+6 −6
Original line number Diff line number Diff line
@@ -1060,7 +1060,7 @@ static int r8711_wx_set_wap(struct net_device *dev,
	while (1) {
		if (end_of_queue_search(phead, pmlmepriv->pscanned))
			break;
		pnetwork = LIST_CONTAINOR(pmlmepriv->pscanned,
		pnetwork = container_of(pmlmepriv->pscanned,
					struct wlan_network, list);
		pmlmepriv->pscanned = pmlmepriv->pscanned->next;
		dst_bssid = pnetwork->network.MacAddress;
@@ -1216,7 +1216,7 @@ static int r8711_wx_get_scan(struct net_device *dev,
			ret = -E2BIG;
			break;
		}
		pnetwork = LIST_CONTAINOR(plist, struct wlan_network, list);
		pnetwork = container_of(plist, struct wlan_network, list);
		ev = translate_scan(padapter, a, pnetwork, ev, stop);
		plist = plist->next;
	}
@@ -1271,7 +1271,7 @@ static int r8711_wx_set_essid(struct net_device *dev,
		while (1) {
			if (end_of_queue_search(phead, pmlmepriv->pscanned))
				break;
			pnetwork = LIST_CONTAINOR(pmlmepriv->pscanned,
			pnetwork = container_of(pmlmepriv->pscanned,
						struct wlan_network, list);
			pmlmepriv->pscanned = pmlmepriv->pscanned->next;
			dst_ssid = pnetwork->network.Ssid.Ssid;
@@ -1986,7 +1986,7 @@ static int r871x_get_ap_info(struct net_device *dev,
	while (1) {
		if (end_of_queue_search(phead, plist))
			break;
		pnetwork = LIST_CONTAINOR(plist, struct wlan_network, list);
		pnetwork = container_of(plist, struct wlan_network, list);
		if (!mac_pton(data, bssid)) {
			netdev_info(dev, "r8712u: Invalid BSSID '%s'.\n",
				    (u8 *)data);
+6 −6
Original line number Diff line number Diff line
@@ -155,7 +155,7 @@ static struct wlan_network *_r8712_find_network(struct __queue *scanned_queue,
	phead = &scanned_queue->queue;
	plist = phead->next;
	while (plist != phead) {
		pnetwork = LIST_CONTAINOR(plist, struct wlan_network, list);
		pnetwork = container_of(plist, struct wlan_network, list);
		plist = plist->next;
		if (!memcmp(addr, pnetwork->network.MacAddress, ETH_ALEN))
			break;
@@ -176,7 +176,7 @@ static void _free_network_queue(struct _adapter *padapter)
	phead = &scanned_queue->queue;
	plist = phead->next;
	while (!end_of_queue_search(phead, plist)) {
		pnetwork = LIST_CONTAINOR(plist, struct wlan_network, list);
		pnetwork = container_of(plist, struct wlan_network, list);
		plist = plist->next;
		_free_network(pmlmepriv, pnetwork);
	}
@@ -304,7 +304,7 @@ struct wlan_network *r8712_get_oldest_wlan_network(
	while (1) {
		if (end_of_queue_search(phead, plist) ==  true)
			break;
		pwlan = LIST_CONTAINOR(plist, struct wlan_network, list);
		pwlan = container_of(plist, struct wlan_network, list);
		if (pwlan->fixed != true) {
			if (oldest == NULL ||
			    time_after((unsigned long)oldest->last_scanned,
@@ -390,7 +390,7 @@ static void update_scanned_network(struct _adapter *adapter,
		if (end_of_queue_search(phead, plist))
			break;

		pnetwork = LIST_CONTAINOR(plist, struct wlan_network, list);
		pnetwork = container_of(plist, struct wlan_network, list);
		if (is_same_network(&pnetwork->network, target))
			break;
		if ((oldest == ((struct wlan_network *)0)) ||
@@ -1135,7 +1135,7 @@ int r8712_select_and_join_from_scan(struct mlme_priv *pmlmepriv)
			}
			return _FAIL;
		}
		pnetwork = LIST_CONTAINOR(pmlmepriv->pscanned,
		pnetwork = container_of(pmlmepriv->pscanned,
					struct wlan_network, list);
		if (pnetwork == NULL)
			return _FAIL;
Loading