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 67b2d0b78c71f2a9899851aea28036b16b084b55..69e260b417116c0a815d0b8502a6e0e63666d56b 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);
        }