mwifiex: put multicast/broadcast packets to the same RA
authorAmitkumar Karwar <akarwar@marvell.com>
Thu, 14 Jul 2011 03:51:57 +0000 (20:51 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 21 Jul 2011 18:52:02 +0000 (14:52 -0400)
For ad-hoc mode, RA is created for each peer connected. In case of
multicast traffic new RA will be created for each multicast
address. While processing Tx packets we have to go through this
RA list. We can avoid some RA nodes by sharing same RA for both
multicast and broadcast packets.

Therefore "memset(0xff)" is used to treat multicast packet as broadcast
one while choosing RA.

Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/mwifiex/wmm.c

index 67b2d0b..69e260b 100644 (file)
@@ -634,6 +634,8 @@ mwifiex_wmm_add_buf_txqueue(struct mwifiex_adapter *adapter,
                        ra_list = NULL;
        } else {
                memcpy(ra, skb->data, ETH_ALEN);
+               if (ra[0] & 0x01)
+                       memset(ra, 0xff, ETH_ALEN);
                ra_list = mwifiex_wmm_get_queue_raptr(priv, tid_down, ra);
        }