mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-18 06:50:08 +00:00
staging: Remove test of is_broadcast with is_multicast
A broadcast packet is a multicast packet, no need to test twice. Reorder one defective test in rtl_core of is_multi_ether_addr before is_broadcast_ether_addr as the is_multi returns true for broadcast frames. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
82a74d4a80
commit
14fc42355f
@ -413,10 +413,7 @@ int ieee80211_rtl_xmit(struct sk_buff *skb,
|
||||
|
||||
/* Determine fragmentation size based on destination (multicast
|
||||
* and broadcast are not fragmented) */
|
||||
// if (is_multicast_ether_addr(dest) ||
|
||||
// is_broadcast_ether_addr(dest)) {
|
||||
if (is_multicast_ether_addr(header.addr1) ||
|
||||
is_broadcast_ether_addr(header.addr1)) {
|
||||
if (is_multicast_ether_addr(header.addr1)) {
|
||||
frag_size = MAX_FRAG_THRESHOLD;
|
||||
qos_ctl = QOS_CTL_NOTCONTAIN_ACK;
|
||||
}
|
||||
|
@ -2003,8 +2003,7 @@ short rtl8180_tx(struct net_device *dev, u8* txbuf, int len, int priority,
|
||||
}
|
||||
|
||||
memcpy(&dest, frag_hdr->addr1, ETH_ALEN);
|
||||
if (is_multicast_ether_addr(dest) ||
|
||||
is_broadcast_ether_addr(dest)) {
|
||||
if (is_multicast_ether_addr(dest)) {
|
||||
Duration = 0;
|
||||
RtsDur = 0;
|
||||
bRTSEnable = 0;
|
||||
|
@ -2024,10 +2024,10 @@ short rtl8192_tx(struct net_device *dev, struct sk_buff *skb)
|
||||
stype = WLAN_FC_GET_STYPE(fc);
|
||||
pda_addr = header->addr1;
|
||||
|
||||
if (is_multicast_ether_addr(pda_addr))
|
||||
multi_addr = true;
|
||||
else if (is_broadcast_ether_addr(pda_addr))
|
||||
if (is_broadcast_ether_addr(pda_addr))
|
||||
broad_addr = true;
|
||||
else if (is_multicast_ether_addr(pda_addr))
|
||||
multi_addr = true;
|
||||
else
|
||||
uni_addr = true;
|
||||
|
||||
@ -2358,8 +2358,7 @@ static void rtl8192_rx_normal(struct net_device *dev)
|
||||
stats.RxBufShift);
|
||||
skb_trim(skb, skb->len - 4/*sCrcLng*/);
|
||||
rtllib_hdr = (struct rtllib_hdr_1addr *)skb->data;
|
||||
if (!is_broadcast_ether_addr(rtllib_hdr->addr1) &&
|
||||
!is_multicast_ether_addr(rtllib_hdr->addr1)) {
|
||||
if (!is_multicast_ether_addr(rtllib_hdr->addr1)) {
|
||||
/* unicast packet */
|
||||
unicast_packet = true;
|
||||
}
|
||||
|
@ -310,7 +310,7 @@ bool GetTs(struct rtllib_device *ieee, struct ts_common_info **ppTS,
|
||||
u8 *Addr, u8 TID, enum tr_select TxRxSelect, bool bAddNewTs)
|
||||
{
|
||||
u8 UP = 0;
|
||||
if (is_broadcast_ether_addr(Addr) || is_multicast_ether_addr(Addr)) {
|
||||
if (is_multicast_ether_addr(Addr)) {
|
||||
RTLLIB_DEBUG(RTLLIB_DL_ERR, "ERR! get TS for Broadcast or "
|
||||
"Multicast\n");
|
||||
return false;
|
||||
|
@ -1000,7 +1000,7 @@ static int rtllib_rx_data_filter(struct rtllib_device *ieee, u16 fc,
|
||||
return -1;
|
||||
|
||||
/* {broad,multi}cast packets to our BSS go through */
|
||||
if (is_multicast_ether_addr(dst) || is_broadcast_ether_addr(dst)) {
|
||||
if (is_multicast_ether_addr(dst)) {
|
||||
if (memcmp(bssid, ieee->current_network.bssid, ETH_ALEN))
|
||||
return -1;
|
||||
}
|
||||
@ -1269,7 +1269,7 @@ static int rtllib_rx_InfraAdhoc(struct rtllib_device *ieee, struct sk_buff *skb,
|
||||
sc = le16_to_cpu(hdr->seq_ctl);
|
||||
|
||||
/*Filter pkt not to me*/
|
||||
multicast = is_multicast_ether_addr(hdr->addr1)|is_broadcast_ether_addr(hdr->addr1);
|
||||
multicast = is_multicast_ether_addr(hdr->addr1);
|
||||
unicast = !multicast;
|
||||
if (unicast && (compare_ether_addr(dev->dev_addr, hdr->addr1) != 0)) {
|
||||
if (ieee->bNetPromiscuousMode)
|
||||
@ -1350,7 +1350,7 @@ static int rtllib_rx_InfraAdhoc(struct rtllib_device *ieee, struct sk_buff *skb,
|
||||
/* Get TS for Rx Reorder */
|
||||
hdr = (struct rtllib_hdr_4addr *) skb->data;
|
||||
if (ieee->current_network.qos_data.active && IsQoSDataFrame(skb->data)
|
||||
&& !is_multicast_ether_addr(hdr->addr1) && !is_broadcast_ether_addr(hdr->addr1)
|
||||
&& !is_multicast_ether_addr(hdr->addr1)
|
||||
&& (!bToOtherSTA)) {
|
||||
TID = Frame_QoSTID(skb->data);
|
||||
SeqNum = WLAN_GET_SEQ_SEQ(sc);
|
||||
|
@ -296,8 +296,7 @@ static void rtllib_tx_query_agg_cap(struct rtllib_device *ieee,
|
||||
return;
|
||||
if (!IsQoSDataFrame(skb->data))
|
||||
return;
|
||||
if (is_multicast_ether_addr(hdr->addr1) ||
|
||||
is_broadcast_ether_addr(hdr->addr1))
|
||||
if (is_multicast_ether_addr(hdr->addr1))
|
||||
return;
|
||||
|
||||
if (tcb_desc->bdhcp || ieee->CntAfterLink < 2)
|
||||
@ -515,7 +514,7 @@ u16 rtllib_query_seqnum(struct rtllib_device *ieee, struct sk_buff *skb,
|
||||
{
|
||||
u16 seqnum = 0;
|
||||
|
||||
if (is_multicast_ether_addr(dst) || is_broadcast_ether_addr(dst))
|
||||
if (is_multicast_ether_addr(dst))
|
||||
return 0;
|
||||
if (IsQoSDataFrame(skb->data)) {
|
||||
struct tx_ts_record *pTS = NULL;
|
||||
@ -698,8 +697,7 @@ int rtllib_xmit_inter(struct sk_buff *skb, struct net_device *dev)
|
||||
ETH_ALEN);
|
||||
}
|
||||
|
||||
bIsMulticast = is_broadcast_ether_addr(header.addr1) ||
|
||||
is_multicast_ether_addr(header.addr1);
|
||||
bIsMulticast = is_multicast_ether_addr(header.addr1);
|
||||
|
||||
header.frame_ctl = cpu_to_le16(fc);
|
||||
|
||||
|
@ -1285,7 +1285,7 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
|
||||
*/
|
||||
//added by amy for reorder
|
||||
if(ieee->current_network.qos_data.active && IsQoSDataFrame(skb->data)
|
||||
&& !is_multicast_ether_addr(hdr->addr1) && !is_broadcast_ether_addr(hdr->addr1))
|
||||
&& !is_multicast_ether_addr(hdr->addr1))
|
||||
{
|
||||
TID = Frame_QoSTID(skb->data);
|
||||
SeqNum = WLAN_GET_SEQ_SEQ(sc);
|
||||
|
@ -314,7 +314,7 @@ void ieee80211_tx_query_agg_cap(struct ieee80211_device* ieee, struct sk_buff* s
|
||||
if (!IsQoSDataFrame(skb->data))
|
||||
return;
|
||||
|
||||
if (is_multicast_ether_addr(hdr->addr1) || is_broadcast_ether_addr(hdr->addr1))
|
||||
if (is_multicast_ether_addr(hdr->addr1))
|
||||
return;
|
||||
//check packet and mode later
|
||||
#ifdef TO_DO_LIST
|
||||
@ -575,7 +575,7 @@ void ieee80211_txrate_selectmode(struct ieee80211_device* ieee, cb_desc* tcb_des
|
||||
|
||||
void ieee80211_query_seqnum(struct ieee80211_device*ieee, struct sk_buff* skb, u8* dst)
|
||||
{
|
||||
if (is_multicast_ether_addr(dst) || is_broadcast_ether_addr(dst))
|
||||
if (is_multicast_ether_addr(dst))
|
||||
return;
|
||||
if (IsQoSDataFrame(skb->data)) //we deal qos data only
|
||||
{
|
||||
@ -693,8 +693,7 @@ int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
|
||||
/* Determine fragmentation size based on destination (multicast
|
||||
* and broadcast are not fragmented) */
|
||||
if (is_multicast_ether_addr(header.addr1) ||
|
||||
is_broadcast_ether_addr(header.addr1)) {
|
||||
if (is_multicast_ether_addr(header.addr1)) {
|
||||
frag_size = MAX_FRAG_THRESHOLD;
|
||||
qos_ctl |= QOS_CTL_NOTCONTAIN_ACK;
|
||||
}
|
||||
|
@ -350,7 +350,7 @@ bool GetTs(
|
||||
// We do not build any TS for Broadcast or Multicast stream.
|
||||
// So reject these kinds of search here.
|
||||
//
|
||||
if(is_broadcast_ether_addr(Addr) || is_multicast_ether_addr(Addr))
|
||||
if (is_multicast_ether_addr(Addr))
|
||||
{
|
||||
IEEE80211_DEBUG(IEEE80211_DL_ERR, "get TS for Broadcast or Multicast\n");
|
||||
return false;
|
||||
|
@ -452,7 +452,7 @@ RXbBulkInProcessData (
|
||||
}
|
||||
}
|
||||
|
||||
if (!is_multicast_ether_addr(pMACHeader->abyAddr1) && !is_broadcast_ether_addr(pMACHeader->abyAddr1)) {
|
||||
if (!is_multicast_ether_addr(pMACHeader->abyAddr1)) {
|
||||
if ( WCTLbIsDuplicate(&(pDevice->sDupRxCache), (PS802_11Header) pbyFrame) ) {
|
||||
pDevice->s802_11Counter.FrameDuplicateCount++;
|
||||
return FALSE;
|
||||
|
Loading…
Reference in New Issue
Block a user