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

Commit fcad7668 authored by dingtianhong's avatar dingtianhong Committed by David S. Miller
Browse files

mwifiex: slight optimization of addr compare



Use possibly more efficient ether_addr_equal
instead of memcmp.

Cc: Bing Zhao <bzhao@marvell.com>
Cc: John W. Linville <linville@tuxdriver.com>
Cc: linux-wireless@vger.kernel.org
Cc: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: default avatarWeilong Chen <chenweilong@huawei.com>
Signed-off-by: default avatarDing Tianhong <dingtianhong@huawei.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 36325f3a
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -483,7 +483,7 @@ mwifiex_get_ba_tbl(struct mwifiex_private *priv, int tid, u8 *ra)


	spin_lock_irqsave(&priv->tx_ba_stream_tbl_lock, flags);
	spin_lock_irqsave(&priv->tx_ba_stream_tbl_lock, flags);
	list_for_each_entry(tx_ba_tsr_tbl, &priv->tx_ba_stream_tbl_ptr, list) {
	list_for_each_entry(tx_ba_tsr_tbl, &priv->tx_ba_stream_tbl_ptr, list) {
		if (!memcmp(tx_ba_tsr_tbl->ra, ra, ETH_ALEN) &&
		if (ether_addr_equal_unaligned(tx_ba_tsr_tbl->ra, ra) &&
		    tx_ba_tsr_tbl->tid == tid) {
		    tx_ba_tsr_tbl->tid == tid) {
			spin_unlock_irqrestore(&priv->tx_ba_stream_tbl_lock,
			spin_unlock_irqrestore(&priv->tx_ba_stream_tbl_lock,
					       flags);
					       flags);
+1 −2
Original line number Original line Diff line number Diff line
@@ -782,8 +782,7 @@ static int mwifiex_ret_ibss_coalescing_status(struct mwifiex_private *priv,
	}
	}


	/* If BSSID is diff, modify current BSS parameters */
	/* If BSSID is diff, modify current BSS parameters */
	if (memcmp(priv->curr_bss_params.bss_descriptor.mac_address,
	if (!ether_addr_equal(priv->curr_bss_params.bss_descriptor.mac_address, ibss_coal_resp->bssid)) {
		   ibss_coal_resp->bssid, ETH_ALEN)) {
		/* BSSID */
		/* BSSID */
		memcpy(priv->curr_bss_params.bss_descriptor.mac_address,
		memcpy(priv->curr_bss_params.bss_descriptor.mac_address,
		       ibss_coal_resp->bssid, ETH_ALEN);
		       ibss_coal_resp->bssid, ETH_ALEN);
+1 −1
Original line number Original line Diff line number Diff line
@@ -224,7 +224,7 @@ int mwifiex_process_sta_rx_packet(struct mwifiex_private *priv,
	 * directly to os. Don't pass thru rx reordering
	 * directly to os. Don't pass thru rx reordering
	 */
	 */
	if (!IS_11N_ENABLED(priv) ||
	if (!IS_11N_ENABLED(priv) ||
	    memcmp(priv->curr_addr, rx_pkt_hdr->eth803_hdr.h_dest, ETH_ALEN)) {
	    !ether_addr_equal_unaligned(priv->curr_addr, rx_pkt_hdr->eth803_hdr.h_dest)) {
		mwifiex_process_rx_packet(priv, skb);
		mwifiex_process_rx_packet(priv, skb);
		return ret;
		return ret;
	}
	}