linux/net/mac80211/rx.c
<<
>>
Prefs
   1/*
   2 * Copyright 2002-2005, Instant802 Networks, Inc.
   3 * Copyright 2005-2006, Devicescape Software, Inc.
   4 * Copyright 2006-2007  Jiri Benc <jbenc@suse.cz>
   5 * Copyright 2007-2010  Johannes Berg <johannes@sipsolutions.net>
   6 *
   7 * This program is free software; you can redistribute it and/or modify
   8 * it under the terms of the GNU General Public License version 2 as
   9 * published by the Free Software Foundation.
  10 */
  11
  12#include <linux/jiffies.h>
  13#include <linux/slab.h>
  14#include <linux/kernel.h>
  15#include <linux/skbuff.h>
  16#include <linux/netdevice.h>
  17#include <linux/etherdevice.h>
  18#include <linux/rcupdate.h>
  19#include <linux/export.h>
  20#include <net/mac80211.h>
  21#include <net/ieee80211_radiotap.h>
  22#include <asm/unaligned.h>
  23
  24#include "ieee80211_i.h"
  25#include "driver-ops.h"
  26#include "led.h"
  27#include "mesh.h"
  28#include "wep.h"
  29#include "wpa.h"
  30#include "tkip.h"
  31#include "wme.h"
  32#include "rate.h"
  33
  34/*
  35 * monitor mode reception
  36 *
  37 * This function cleans up the SKB, i.e. it removes all the stuff
  38 * only useful for monitoring.
  39 */
  40static struct sk_buff *remove_monitor_info(struct ieee80211_local *local,
  41                                           struct sk_buff *skb)
  42{
  43        if (local->hw.flags & IEEE80211_HW_RX_INCLUDES_FCS) {
  44                if (likely(skb->len > FCS_LEN))
  45                        __pskb_trim(skb, skb->len - FCS_LEN);
  46                else {
  47                        /* driver bug */
  48                        WARN_ON(1);
  49                        dev_kfree_skb(skb);
  50                        skb = NULL;
  51                }
  52        }
  53
  54        return skb;
  55}
  56
  57static inline int should_drop_frame(struct sk_buff *skb,
  58                                    int present_fcs_len)
  59{
  60        struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
  61        struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data;
  62
  63        if (status->flag & (RX_FLAG_FAILED_FCS_CRC |
  64                            RX_FLAG_FAILED_PLCP_CRC |
  65                            RX_FLAG_AMPDU_IS_ZEROLEN))
  66                return 1;
  67        if (unlikely(skb->len < 16 + present_fcs_len))
  68                return 1;
  69        if (ieee80211_is_ctl(hdr->frame_control) &&
  70            !ieee80211_is_pspoll(hdr->frame_control) &&
  71            !ieee80211_is_back_req(hdr->frame_control))
  72                return 1;
  73        return 0;
  74}
  75
  76static int
  77ieee80211_rx_radiotap_len(struct ieee80211_local *local,
  78                          struct ieee80211_rx_status *status)
  79{
  80        int len;
  81
  82        /* always present fields */
  83        len = sizeof(struct ieee80211_radiotap_header) + 9;
  84
  85        if (status->flag & RX_FLAG_MACTIME_MPDU)
  86                len += 8;
  87        if (local->hw.flags & IEEE80211_HW_SIGNAL_DBM)
  88                len += 1;
  89
  90        if (len & 1) /* padding for RX_FLAGS if necessary */
  91                len++;
  92
  93        if (status->flag & RX_FLAG_HT) /* HT info */
  94                len += 3;
  95
  96        if (status->flag & RX_FLAG_AMPDU_DETAILS) {
  97                /* padding */
  98                while (len & 3)
  99                        len++;
 100                len += 8;
 101        }
 102
 103        return len;
 104}
 105
 106/*
 107 * ieee80211_add_rx_radiotap_header - add radiotap header
 108 *
 109 * add a radiotap header containing all the fields which the hardware provided.
 110 */
 111static void
 112ieee80211_add_rx_radiotap_header(struct ieee80211_local *local,
 113                                 struct sk_buff *skb,
 114                                 struct ieee80211_rate *rate,
 115                                 int rtap_len, bool has_fcs)
 116{
 117        struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
 118        struct ieee80211_radiotap_header *rthdr;
 119        unsigned char *pos;
 120        u16 rx_flags = 0;
 121
 122        rthdr = (struct ieee80211_radiotap_header *)skb_push(skb, rtap_len);
 123        memset(rthdr, 0, rtap_len);
 124
 125        /* radiotap header, set always present flags */
 126        rthdr->it_present =
 127                cpu_to_le32((1 << IEEE80211_RADIOTAP_FLAGS) |
 128                            (1 << IEEE80211_RADIOTAP_CHANNEL) |
 129                            (1 << IEEE80211_RADIOTAP_ANTENNA) |
 130                            (1 << IEEE80211_RADIOTAP_RX_FLAGS));
 131        rthdr->it_len = cpu_to_le16(rtap_len);
 132
 133        pos = (unsigned char *)(rthdr+1);
 134
 135        /* the order of the following fields is important */
 136
 137        /* IEEE80211_RADIOTAP_TSFT */
 138        if (status->flag & RX_FLAG_MACTIME_MPDU) {
 139                put_unaligned_le64(status->mactime, pos);
 140                rthdr->it_present |=
 141                        cpu_to_le32(1 << IEEE80211_RADIOTAP_TSFT);
 142                pos += 8;
 143        }
 144
 145        /* IEEE80211_RADIOTAP_FLAGS */
 146        if (has_fcs && (local->hw.flags & IEEE80211_HW_RX_INCLUDES_FCS))
 147                *pos |= IEEE80211_RADIOTAP_F_FCS;
 148        if (status->flag & (RX_FLAG_FAILED_FCS_CRC | RX_FLAG_FAILED_PLCP_CRC))
 149                *pos |= IEEE80211_RADIOTAP_F_BADFCS;
 150        if (status->flag & RX_FLAG_SHORTPRE)
 151                *pos |= IEEE80211_RADIOTAP_F_SHORTPRE;
 152        pos++;
 153
 154        /* IEEE80211_RADIOTAP_RATE */
 155        if (!rate || status->flag & RX_FLAG_HT) {
 156                /*
 157                 * Without rate information don't add it. If we have,
 158                 * MCS information is a separate field in radiotap,
 159                 * added below. The byte here is needed as padding
 160                 * for the channel though, so initialise it to 0.
 161                 */
 162                *pos = 0;
 163        } else {
 164                rthdr->it_present |= cpu_to_le32(1 << IEEE80211_RADIOTAP_RATE);
 165                *pos = rate->bitrate / 5;
 166        }
 167        pos++;
 168
 169        /* IEEE80211_RADIOTAP_CHANNEL */
 170        put_unaligned_le16(status->freq, pos);
 171        pos += 2;
 172        if (status->band == IEEE80211_BAND_5GHZ)
 173                put_unaligned_le16(IEEE80211_CHAN_OFDM | IEEE80211_CHAN_5GHZ,
 174                                   pos);
 175        else if (status->flag & RX_FLAG_HT)
 176                put_unaligned_le16(IEEE80211_CHAN_DYN | IEEE80211_CHAN_2GHZ,
 177                                   pos);
 178        else if (rate && rate->flags & put_unaligned_le16f">skb->>skb->  8r> 177                                   pos);
 178        else if ( & <7b,
        else if (flu32" class="line" nfKH">  8r> 177              nfK>skb->>skb->  8r> 177                                     81
 178        else if ( & <7b,
        cpu_to_s" cl="s  89
flu32" class="line" D_5GH">  8r> 177                       name="L178"> 178        else if ( & <7b,
status1-18L125" class="line" name="L12->freq, RX_F1LAG_MACTIME_MPDU)
freq, pos++;
IEEE802111_HW_SIGNAL_DBM)
present_fcs_len))

 146        if (  87        if (            !  88   1     19_ctl( 174                                   pos);
IEEE80211mac80211NO+code=loVA"de=flad="L162" class="line" name="L16290" class1="line" name="L90">  90<1/a>  1     if ( 174                                   mactime, pos);
  911     19> 164                rthdr->) |code=l & <7b,
statu1s->flag &  / 5;
/* HT info */
 =   94   1     19 class="line" name="L135"> 135 e=status"1 class="sref">status1->19of the following fields is important */
RX_1FLAG_AMPDU_DETAILS) 1{
pos++;
l2n & 3)
 174                                   antenne1" id="L151" class="line" name="L12n" class=2sref">len++;
status->2100                <2 href2"+code=len" class="sref">len +=28;
pos++;
 102
<2 href20+code=pos" class="sref">pos +=2ass="line2 name="L103"> 103   2    r2043" class="line" name="L143"> 143        }
 143 ensure 2    * ="+comx.c#Lt">    2    * nformaas requir df="+code=RX_FLAG_AMPDU_DETAILS" class="2=ver-ops.h05" id="L105" class="lin2" nam20net/mac80211/rx.cine" name="L174"lt; led.hflags->mesh.hrx_radiotap_header - add2radio20sref">present_fcs_len))
 174                                   pos);
status->status->usrthdr->usstatus<
flu32eigned char * 178        else if ( & <7b,
 1121=pos" class="sref">pos |= freq,  1132     2              ="line" name="L174"> 174                                   pos);
                2     2          struct mactime, pos);
 164                class="sref">freq, status->(1 << 
bool<2a> flags &  161 *s21f="+code=flags" classss="sref">pos |= IEEE80211_RADIOTAP_F_BADFCS;
mesh.h> 118        struct 2a hre21                      (1 <=flag" class="sref">flag & rthdr;
statuss="sref">pos |= IEEE80211_RADIOTAP_F_BADFCS;
  8r> 177                flag &  id="LORTPRE" class="srefM"s_BW_ed1" id="L151" class="line" name="L12  id="L112" class="sref">u16 <2 href22( 174                                   pos);
 *)flag & flag &  / 5;
rthdr, 02 cpu_to_le32(1 <<  174                                   pos = freq,  137        /* IEEE80211_RADIOTAP_TSFT */
  96        if ( 128    2                      OLEN))
 119        uname="L146"> 146        if 61"> 161 129    2       161 1302     23    if ( 143 ensure 4    * ="+comx.c#="+code=RX_FLAG_AMPDU_DETAILS" class="2a>->2_le16" cl2ss="sref">cpu_to_le16 / 5;
23pos" class="sref">pos = 0;
 163        } else {
pos = (unsigned ch2r *)(23         struct  164                ))
class="sref">freq, status->flu32> 174                                    178        else if ( & <7b,
/* th2 orde23"> 126        ,
 136
pos |= IEEE80211_RADIOTAP_F_BADFCS;
RX_FREP211_G_FAILEde=fl211/rx.c#L166" id="L166" clas2de=status2 class="sref">status2><2 href="+code=flag" cla      146        if ="+code=RX_FLAG_SHORTPRE" class="srefine" nREP211_G_FAILED_PLCP_CRC" claORTPRE" class="srefine" nREP211_G_FAILE1" id="L151" class="line" name="L12ut_unalig2ed_le64(statuss="sref">pos |= IEEE80211_RADIOTAP_F_BADFCS;
RX_FLAG_FAILED_PLCP="L151" class="line" name="L12u80211/rx2class="line" name="L140"2 140<2a>                 146        if ="+code=RX_FLAG_SHORTPRE" class="srefine" nFLAG_FAILED_PLCP_CRC" claORTPRE" class="srefine" nFLAG_FAILE1" id="L151" class="line" name="L12u>->cpu_to_ss="sref">pos |= IEEE80211_RADIOTAP_F_BADFCS;
RX_FLAST_KNOWE_PLCP="L151" class="line" name="L12ule16" cl2IOTAP_TSFT);
 146        if ="+code=RX_FLAG_SHORTPRE" class="srefine" nLAST_KNOWED_PLCP_CRC" claORTPRE" class="srefine" nLAST_KNOWE1" id="L151" class="line" name="L12u33" id="2142                <2 href24pos" class="sref">posss="sref">pos |= IEEE80211_RADIOTAP_F_BADFCS;
RX_FLAGLAST_PLCP="L151" class="line" name="L12u=rthdr" 2="net/mac80211/rx.c#L1432 id="24         struct  146        if ="+code=RX_FLAG_SHORTPRE" class="srefine" nFLALASTD_PLCP_CRC" claORTPRE" class="srefine" nFLALAST1" id="L151" class="line" name="L12ua href="24"> 144
status->pos |= IEEE80211_RADIOTAP_F_BADFCS;
hw.flags 146        if ="+code=RX_FLAG_SHORTPRE" class="srefine" namLIM"+co_ERRD_PLCP_CRC" claORTPRE" class="srefine" namLIM"+co_ERR1" id="L151" class="line" name="L12u        27"> 147             2  *pos |= IEEE80211_RADIOTAP_F_BADFCS;
RX_FamLIM"+co_KNOWE_PLCP="L151" class="line" name="L12ue=status2"+code=RX_FLAG_FAILED_FC2_CRC"2class="sref">RX_FLAG_Fef="+codref="net/mac802ame="L146"> 146        if ="+code=RX_FLAG_SHORTPRE" class="srefine" namLIM"+co_KNOWED_PLCP_CRC" claORTPRE" class="srefine" namLIM"+co_KNOWE_PLCd="L151" class="line" name="L12"L149"> 129                *status->flu32ame="L146"> 146        if name="L178"> 178        else if ( & <7b,
2tatus2/a>->pos |= freq,  151                *cpu_to_ss="sref">pos |= IEEE80211_RADIOTAP_F_BADFCS;
RX_FamLIM"+co_KNOWE_PLCP="L151" class="line" name="L12f">IEEE80211_RADIOTAP_F_SHORTPRE;
flag &  174                                    152<2a>   25pos" class="sref">pos62RXamp; <7b,
 153
flag &  161 || <2 href="+code=status" cla2s="sr2f">status->flag &  161RX_FLAG_HT2/a>) 25" class="srefpos =  =  159flag &  160flag &  1512 160   efef">flag & IEEE802       */
 160  here is needed as padding
 162 109 * add a radiotap header cont2present |= ieee80211_local * 163    .c#L116" id=monitor" cla 111static void
 112ieee80211_local *rate->flagssk_buff *skb,
 166      2 }
        if ( 167<2a>   2    has_fcs)
 116{
 117        struct  168
has_fcs)sub_if_dateee80211_hdrs_fcs)sub_if_date class="line" name="L1dateee80211_hdrsdate cla& <7b,
 151pos);2ieee80211_local *local,
64" id="L164" clf">6 cla& <7b,
IEEE802status" class="sref">sta2usieeal<_devicd="L130"  131        } els    131"  if 61"> 161 || <2 143mment"> * add a radiotap header cont2unaligned2le16( becaus efef">flag &  157n/rx.c#L1(iforotp  } els),thsrefef">flag & rate2><27"line" name="L158"> 158+ 
pos);
 159mment"> * add a radiotap header cont2IOTAP_AN{2 160     rmatbyt,     gohrefytene" namment"> * add a radiotap header cont2I"> 151        2lse i28a hrene" name="L160"> 160
IEEE802name="L81">  81
 160 * add a radiotap header cont2Iligned_l2a>        pos +=2I_5GHZ 143 room#Lt">    n/rx.c#L108" id=ban df 156river fe"ne } c*omment"> * add a radiotap header cont2I/a> || <2tus" class="sref">status2-28L125" class="line" name="L12rmatio0211/roomee80211_hdrrmatio0211/room cla80211/rx.c#L117" ix.c#L116" id=cet/mac80s="sref">IEEE80211_.c#L116" id=cet/mac80s="truct  116{
RX_F2LAG_MACTIME_MPDU)
freq,  146        if (has_fcs && (lass="sref">freq, )
flag } els    131"> 131        } els    131"  if 61lass="sref">fla"L14ILED_PLCP_CRC" cla"L14ILE cla& <7b,
  88   2     29      161  90<2/a>  2     if ( 143 maketsure hdr>
  912     29>statu2s->flagne" na211/rx.c#L117" iNULldr" class="srefNULl cla& <7b,
/* HT info */
 =   94   2     29 class="line" name="L135"> 1352e=status"2 class="sref">status2->29net/mac80211/rx.c"L154" class="li80211_RADIOTAP_FLAGS */
 146 monitor"ee80 d="L162" class="line" name="L162 
) 2{
pos |=hould_/rop_frid=116{
flag } els    131"> 131        } els    131"  iflad="L162" class="line" name="L162 +code=ra2g */
RX_FLAG_Fef="+codref="net/mac802dev_kfree_e=rthdr" class="srdev_kfree_e=rtruct l3n & 3)
len++;
->3100                <3 href3"+code=len" class="sref">len +=38;
 =  103   3    r304" id 161flag } els    131"> 131        } els    131"  iflad="L162" class="line" name="L163=ver-ops.305" id="L105" class="lin3" nam30"> 126         143 onlyormatbyteex" nd 211/room id=necessary#="+code=RX_FLAG_AMPDU_DETAILS" class="3=">led.h<3="net/mac80211/rx.c#L1073 id="30f="+code=flags" class="sref">flagslocal,
flaorige=rthdr" class="srorige=ree80& <7b,
led.h<3= */
flaorige=rthdr" class="srorige=ree8080211/rx.c#L117" iNULldr" class="srefNULl cla& <7b,
 143+code=RX_FLAG_AMPDU_DETAILS" class="3" id="L113" class="line" name="L113"> 1131a hrene" name="L160"> 160     trigger2often becaus hmost devicdspan cntamment"> * add a radiotap header cont3ss="sref"3ieee80211_add_rx_radiota3_head31c8021ne" name="L160"> 160 * add a radiotap header cont3s4
 1133     31pos" "> 109ou">n/rx.c#L1          *. We5fhouldmment"> * add a radiotap header cont3sss="line3 114                3     3      "> 109 * add a radiotap header cont3squot;
 109
bool<3a> s31f="+code=flags" classss="sref">pos |=kb0211/roomee80211_hdr=kb0211/roomtruct local,
mesh.3> 118        struct 3a hre31                      (1 L154" class="lip122local,
flarmatio0211/roomee80211_hdrrmatio0211/room cla, 0, lass="sref">flaGFP_ATOMIlass="sref">statGFP_ATOMIl  iflad="L162" class="line" name="L163 class="s3ef">rthdr;
statu     (1 L154" class="lidev_kfree_e=rthdr" class="srdev_kfree_e=rtruct local,
                u16 <3 href32( =  *)flag e" name="L143"> 143+code=RX_FLAG_AMPDU_DETAILS" class="3e=rthdr" 3lass="sref">rthdr, 03  109 109flagslocal,
fla122=kb0copyflarmatio0211/roomee80211_hdrrmatio0211/room cla, 0, lass="sref">flaGFP_ATOMIlass="sref">statGFP_ATOMIl  ifl& <7b,
mesh.3line" name="L128"> 128    32net/mac80211/rx.c#L88" id="L88" cl39" class=3line" name="L129"> 129    33s" class="sref">status-> 1303     33    iamp; <7b,
local,
cpu_to_le16334class="sref"pos = pos = (unsigned ch3r *)(334" id 161 143 prepesr n/rx.c#L1          *cl"+code=RX_FLAG_AMPDU_DETAILS" class="3       /* th3 orde33"> 126   11/rx.c#L117" ix.c#L116" add id=cet/mac8008" idsref">IEEE80211_.c#L116" add id=cet/mac8008" idtruct local,
flaflarmatio0211/roomee80211_hdrrmatio0211/room cla,X_FLAG_AMPDU_DETAILS" class="3         336"> 136
flatruhref="net/mac802truhee80 & <7b,
mesh.3 class="sref">status3><33net/mac80211/rx.c#L88" id="L88" cl3ut_unalig3ed_le64(IEEE80211=kb0 } et_88"008" idtruct local,
statusf">local,
 1dee80211_hdr"p_su> 1dee8080211/rx.c#L117" iCHECKSUM_UNNECESSARYee80211_hdrCHECKSUM_UNNECESSARYee80& <7b,
->statusf">local,
,
);
statusf">local,
 146 hton"truct pos +=3u=rthdr" 3="net/mac80211/rx.c#L1433 id="34         stru "1_erfaceix.c#, lass="sref">fladist/a> 144
status->pos |=dateee80211_hdrsdate cla>
hw.flags 147             3  *RX_FLAG_Fss="sref">pos |=dateee80211_hdrsdate cla>
="ne)amp; <7b,
 139                *statuef="+codcontinue     !3tatus35    iamp; <7b,
 151                *cpu_to_ss=""L154" class="lis_fcs)sdate_runninref">IEEE80211_Rs_fcs)sdate_runninrtruct ;
 152<3a>   35+code=pos" class="sref">pos +=3" name="L353"> 153
pos |prev_dev>flag & rev_dev/mac d="L162" class="line" name="L163 || <3 href="+code=status" cla3s="sr3f">status->statusf">64" id="L164" clf">6 cla 61lass="sref">fla122{
local,
flaGFP_ATOMIlass="sref">statGFP_ATOMIl  ifl& <7b,
RX_FLAG_HT3/a>) 35" class="sref">flagspos |=kb64" id="L164" clf">6 cla d="L162" class="line" name="L163<        3x.c#L157" id="L157" clas3="lin35f="+code=flags" classsssssssssssssssssref">pos |=kb64" id="L164" clf">6 cla>
flag & rev_dev/mac& <7b,
RX_FLAG_Fef="+codsssssssssref">pos |al64" id="L164" clf">6 cla & <7b,
statuef="+codpos = -> 15136+code=len" class="sref">len +=3e">IEEE803       */
flag & rev_dev/mac80211/rx.c#L117" i=dateee80211_hdrsdate cla>
pos = 0;
sdate cla>
{
 |= flag &dev/mac             {
{
fla122local,
 131      31"  if0211/rx.c#L166" id="L166" clas3p/a> || <3           *pos = rate->freq,  166      3 }
 167<3a>   36href="+code==flags" class="sref">fla122local,
flag & rev_dev/mac& <7b,
status->local,
(,
 151pos);3cpu_to_63" class="linedev_kfree_e=rthdr" class="srdev_kfree_e=rtruct local,
IEEE803status" class="sref">sta3us =  || <3 1353unaligned3le16(freq, flag &x.c#L116" parse_qf"tructs_fcs" class="sref">has_fcs)
s_fcs)
skb,
,
rate3><37"line="L162" class="line" name="L163" class="3ref">pos);
has_fcs)="net/mac80211/rx.s_fcs)="nHAN_O"sref">skb,
="net/mac80211/rx.="nHAN_O= ts_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="nHAN_O"2" id="L122" claex="L130" ,
has_fcs)
 116{
 117        struct ,
 151        3lse i38="net/mac802111_rate" class="sretidee80211_hdrtidee802l="line" name="L1eqno_idx="L130" ,
IEEE803name="L81">  81
 143 doeit    frid=ban cnt qf" controlifield?cl"+code=RX_FLAG_AMPDU_DETAILS" class="3I_5GHZflag &x.c#L116" isadate_qf"truct status3-38ef">status->)
 126         143 frid=bans qf" controlil"+code=RX_FLAG_AMPDU_DETAILS" class="3I_2GHZflagstidee808022 href="+code=flqc="L130"  117 QOS_CTL_TID_MASK cla& <7b,
)
  88   3     39s" class="sref">statu     (1 L154" class="li> 174                                   ,
  90<3/a>  39    iamp; <7b,
3
cpu_to_63" class="line1eqno_idx="L130" tidee80& <7b,
IEEE803ine" name="L91">  913     39>tidee80& <7b,
->162" id="L162" class="line" name="L163"comment"3>/* HT info */
 143+code=RX_FLAG_AMPDU_DETAILS" class="3ass="line3" name="L94">  94   3     39g" cl"> 109status3->39 157managemx.c#frid=s, QoS date code=RX_FLAG_AMPDU_DETAILS" class="3a+code=ra3g */
 158ress111>   efef">flag & l4n & 3)
 159ress11 field,thsr s="lnon-QoS date frid=s# else ef">flag & l4n"line" name="L90">  90<4"net/40s="line" name="L160"> 160i   *al shrel efef">flag & l4n if necessary */4 href40a hrene" name="L160"> 160flag & l4nne" name="L91">  914 id="40c8021ne" name="L160"> 160flag & l4n-> 109non-QoS STAshere is needed as padding
 103   4    r40     "> 109status-> && (ee80& <7b,
 126         161 163    .c#L116" isamgm1truct led.h<4= */
 && (ee80& <7b,
status->tidee80802"> 161 =  1141+code=len" class="sref">len +=4ss="sref"4ieee80211_add_rx_radiota4_head41>statusex="L130"  161l4ne" name="L113"> 1134     414gt;statusex="L130" ,
 143 Set=f">     prioritybyte1d tags idhighes_nor id=bit
 109now,pset=f">     prioritybyte0#Lt">obool<4a>  126   11/rx.c#L117" iex="L130" ,
tidee80& <7b,
 *s41 namepos = mesh.4> 118        struct 4a hre41net/mac80211/rx.c#L88" id="L88" cl4 class="s4ef">rthdr;
 159flag &  160flag & u16 <4 href42a hrene" name="L160"> 160flag &  *) 160flag & l4        109rthdr, 04  109flag &  109i   *ally,5fhould,_ss=possibl ,th"+coetef=payload date inat wayhthate ef">flag & flag &  157flag & mesh.4line" name="L128"> 128    42"line" name="L158"> 158<*=payload ytea#Ltur-   * bou1dary (becaus heiflag &  129    43="line" name="L159"> 159*=contaiode,nor IV/RFC1042pa8" id hthat an cnt eengthbdivisibl  by Ltur areefef">flag &  1304     43s="line" name="L160"> 160flag &  160     sup"orc#efficix.c#ef="+code oper    *s, flag & cpu_to_le16 160
43pos" "> 109pos = (unsigned ch4r *)(43     "> 109ress1mus_nyieldetwo moduloere is needed as padding
 109   tA-MSDU#frid=shthate ef">flag & /* th4 orde43flag &  136
 157irefeachtA-MSDUefef">flag & mesh.4 class="sref">status4><43"line" name="L158"> 158<*=subfrid=bytes eengthbyhat is =#Eultiple
( 159*ere is needed as padding
 160ireflik tA   tILS.11pa8" id=hsrefef">flag &  160   tILS.11efef">flag & );
 160
 109 * add a radiotap header cont4u=rthdr" 4="net/mac80211/rx.c#L1434 id="44 clasd. 163    .c#L116" verify_="+comelstructs_fcs" class="sref">has_fcs)
s_fcs)
skb,
,
 144
s="L162" class="line" name="L164u      hw.)VERBOSE_DEBUG="L130" )VERBOSE_DEBUGet/mac80211/rx.c#L88" id="L88" cl4u        47"> 147             4  *,
RX_FLAG_Fline" name="L14s_finre>"ef="+code packet =t 0xa> 7;p\n"mment">, lass="sref">fla,
 149                *4tatus45    ipos =  151                *len +=4"s="sref"411_RADIOTAP_F_SHORTPRE;
 152<4a>   45pos" "> 109 rxpanndlers comment"> * add a radiotap header cont4" name="L453"> 153
 || <4 href="+code=status" cla4s="sr4f">stad.{
hae80211_local *local,
RX_FLAG_HT4/a>) 45" cla="L162" class="line" name="L164<        4x.c#L157" id="L157" clas4="lin45f="+code=flags_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="nHAN_O"sref">skb,
="net/mac80211/rx.="nHAN_O= ts_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="nHAN_O"2class="sref">fla122local,
pos |=kblocal,
 131      31"  if > 16424 || class="sref">hass_Eulticas__e-> 161 15146+code=len" class="sref">len +=4e">IEEE804       */
{
 =  |=  || <4           * 1354p      rate->{
hae80211_local *local,
 166      4 }
 167<4a>   46href="+code==s_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="nHAN_O"sref">skb,
="net/mac80211/rx.="nHAN_O= ts_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="nHAN_O"2class="sref">fla122local,
 168
pos |=kblocal,
 131      31"  if > 16424 || "L154" class="liss_Eulticas__e 151pos);4cpu_to_ne" na2"> 161IEEE804status" class="sref">sta4us{
 =  || <4 1354unaligned4le16(freq,  157 Get tef=BIP key index from MMIE;lne" na2-1sss=this nforotpa=BIP frid=bcomment"> * add a radiotap header cont4"+code=ra4e" class="sref">rate4><47"lined.hae80211_local *local,
pos);
has_fcs)mgm163"> 163    .c#L116" mgm1trucO"sref">skb,
="net/mac80211/rx.="nHAN_O= ts_fcs" class="sref">has_fcs)mgm163"> 163    .c#L116" mgm1trucO"2class="sref">fla122local,
 151        4lse i48="net/mac8021s_fcs" class="sref">has_fcs)mmie63"> 163    .c#L116" mmietrucO"sref">skb,
mmie63"> 163   mmietruc& <7b,
IEEE804name="L81">  81
pos |=kblocal,
 131      31"  if > 16424 + sizeof=2 href="+code=flmmie63"> 163   mmietruc) ||net/mac80211/rx.c#L152" id="L4I_5GHZda cla)) 161 || <4tus" class="sref">status4-48ef">status->,
)
freq, has_fcs)="net/mac80211/rx.s_fcs)="nHAN_O"2class="sref">fla="net/mac80211/rx.="nHAN_)) 161)
 143 rotpa=robus_>managemx.c#frid=bcomment"> * add a radiotap header cont4ass="line4" name="L88">  88   4     49      161  90<4/a>  49=status" class="sref">statusmmie63"> 163   mmietrucO= ts_fcs" class="sref">has_fcs)mmie63"> 163    .c#L116" mmietrucO") 1614
cpu_to_"sref">pos |=kblocal,
fla122local,
 131      31"  if - sizeof=2 href="+code=flmmie63"> 163   mmietruc))     !IEEE804ine" name="L91">  914     49>pos |mmie63"> 163   mmietrucd="L163" class="lineelemx.c_idee80211_hdrelemx.c_idgt;pos |mmie63"> 163   mmietrucd="L163" class="lineeength> 131      31"gthgt; 163   mmietruc) - 2) 161/* HT info */
,
  94   4     49 class="line" name="L135"> 1354analigned4 class="sref">status4->49"> 126   ne" na211/rx.c#L117" ile16_to_cpu> 131      3116_to_cputruct  163   mmietrucd="L163" class="linekey_idee80211_hdrkey_idHAN_)     !
l5n & 3)
l5n"line" name="L90">  90<5"net/50s="lid.has_fcs)id=cesult63"> 163    .c#L116" id=cesult     161l5n if necessary */5 href50a hrenlass="sref">has_fcs)id=mesh_check63"> 163    .c#L116" id=mesh_checktructs_fcs" class="sref">has_fcs)
s_fcs)
skb,
,
l5nne" name="L91">  915 id="50c8021="L162" class="line" name="L165=4sref">l5n->has_fcs)="net/mac80211/rx.s_fcs)="nHAN_O"sref">skb,
="net/mac80211/rx.="nHAN_O= ts_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="nHAN_O"2sref">skb,
,
 103   5    r50         strucharO"sref">skb,
dev_addnet/mac80211/rx.dev_addnHAN_O= sref">skb,
sdate cla>
,
  94   5.c#L150 class="line" name="L135"> 1355=ver-ops.505" id="L105" class="lin5" nam50"> 126    id="L137" class="lx.c#L116" isadate116{
led.h<5="net/mac80211/rx.c#L1075 id="50f="+code=flags" class id="L137" class="lxs_Eulticas__eflag &x.c#L116" has_tod" clat statuuuuuuuuuuuuuuuuu"L154" class="lis_fcs)has_fromd">flag &x.c#L116" has_fromd" clat l5the fields which the har5ware 51a>->,
 1151 class="sref">cpu_to_     fladev_addnet/mac80211/rx.dev_addnHAN_))net/mac80211/rx.c#L152" id="L513sref">l5ieee80211_add_rx_radiota5_head51>,
l5ne" name="L113"> 1135     51pos" class="sref"""""162" id="L162" class="line" name="L165sss="line5 114                5     51         struct status->,
bool<5a> flagspos |eflag &addn48021, lass="sref">fladev_addnet/mac80211/rx.dev_addnHAN_))net/mac80211/rx.c#L152" id="L51">led.h<5="+code=status" class="s5ef">s51f="+code=flags" classssssssssssssssssne" na2F_BADFCS" classaX_DROP_MONITOR#L96" id="L96" aX_DROP_MONITORHAN_& <7b,
led.h<5> 118        struct 5a hre51href="+code==flags" cpos = rthdr;
l5c#L120" id="L120" class=5line"52    iamp; <7b,
u16 <5 href52 class="sref"se" name="L143"> 143 Ifetefre nforotpan establishde peer ef"kbhsr this nforotpa=peer ef"kmment"> * add a radiotap header cont5 s="sref"5der *) 160
l5        109 * add a radiotap header cont5e=rthdr" 5lass="sref">rthdr, 05 status- id="L154" class="listeHAN_O|| class="sref">haste_pef"k="L11e63"> 163   ste_pef"k="L11etruct steHAN_)8!0211/rx.c#L117" iNLL116" PLINK_ESTAine" name="L117"NLL116" PLINK_ESTAiHAN_)8="L162" class="line" name="L165 ver-ops.5d="L126" class="line" na5e="L152" class="sref">flagshas_fcs)mgm163"> 163    .c#L116" mgm1trucO"sref">skb,
mgm163"> 163   mgm1truc& <7b,
mesh.5line" name="L128"> 128    52href="+code==flags" c id="L154" class="lis_fcs)isamgm163"> 163    .c#L116" isamgm1truct  129    53s" class="sref">statuuuuuuuuune" na2F_BADFCS" classaX_DROP_MONITOR#L96" id="L96" aX_DROP_MONITORHAN_& <7b,
 1305     53    iamp; <7b,
cpu_to_ss="L154" class="lis_fcs)isaac   *63"> 163    .c#L116" isaac   * clat cpu_to_le16flag &c11egoryHAN_& <7b,
l5133" class="line" name="5133">53+code=pos" class="sref">pos +=51=rthdr" 5">pos = (unsigned ch5r *)(53         struct  143 make sure c11egory field nfopre elsa*omment"> * add a radiotap header cont51quot;
status->,
 131      31"  if > 16463" class="lineORTPRE" clMIN_ACTION_SIZE="L130" /* th5 orde53" class="sref">flags,
 136
mesh.5 class="sref">status5><53href="+code==flags" c      163   mgm1trucO= ts_fcs" class="sref">has_fcs)mgm163"> 163    .c#L116" mgm1trucO"2 statu     (1 L154" class="lic11egory>flag &c11egoryHAN_O= sref">skb,
mgm163"> 163   mgm1trucd="L163" class="lineu> 131      u cla" class="line" nac   *63"> 163   ac   * cla" class="line" nc11egory>flag &c11egoryHAN_& <7b,
->,
cpu_to_     );
,
,
 =  144
 1355u      hw.flags 163    .c#L116" isaprob=_req clat  147             5  * 163    .c#L116" isaprob=_resp clat mesh.5"+code=RX_FLAG_FAILED_FC5_CRC"5class="sref">RX_FLAG_FlissL154" class="lis_fcs)isabeacon63"> 163    .c#L116" isabeacon clat  159                *statu    L154" class="lis_fcs)isaauth> 131      s_fcs)isaauthtruct 5tatus55a>->,
 151                *len +=5"s="sref"511_RADIOTAP_F_SHORTPRE;
,
 152<5a>   55+code=pos" class="sref">pos +=5" name="L553"> 153
 || <5 href="+code=status" cla5s="sr55 class="line" name="L135"> 1355<      RX_FLAG_HT5/a>) 55"> 126   ne" na211/rx.c#L117" iaX_CONTINUE="L130" ,
 1260x1000ac80211/rx.c#L88" id="L88" cl5f80211/rx5c80211/rx.c#L160" id="L150" cl56a>-&g#def159211/rx.c#L117" iSEQ_MASKne" name="L117"SEQ_MASK> 126 15156+code=len" class="sref">len +=5e">IEEE805       */
hasnspan>
131      snspan> 12611_rate" class="sreseq_les             eq_lesstatate" class="sresq1et/mac80211/rx.sq18021, lass="sref">flau       int       u1">statate" class="sresq2et/mac80211/rx.sq2="ne)amp; <7b,
 126   ne" na2("sref">pos |=q1et/mac80211/rx.sq18021 -tate" class="sresq2et/mac80211/rx.sq2="ne)8( 12)8="L1 "sref">pos |SEQ_MODULO="L130"  126="L1="L1 1)     ! = rate->freq,  166      5 }
hasnspan>
131      snspan> 126lass="sref">flau       int       u1">statate" class="sreseq_inc="L130" statate" class="sresqet/mac80211/rx.sq="ne)amp; <7b,
 167<5a>   56href=="L162" class="line" name="L165ame="L1685> 168
 12     !( 151pos);5len +=5a">IEEE805status" class="sref">sta5ushasnspan>
131      snspan> 126lass="sref">flau       int       u1">statate" class="sreseq_su2local,
statate" class="sresq1et/mac80211/rx.sq18021, lass="sref">flau       int       u1">statate" class="sresq2et/mac80211/rx.sq2="ne)amp; <7b,
 162( 126   ne" na2(sref">pos |=q1et/mac80211/rx.sq18021 -tate" class="sresq2et/mac80211/rx.sq2="ne)8( 12     !(freq, rate5><57"lined.{
has_fcs)su2_ifadate116{
skb,
/dateee80211_hdrsdate cla,X_FLAG_AMPDU_DETAILS" class="5" class="5ref">pos);
statuuuuuuuuuuuuuuuuuuuuuuuuuuuuus_fcs" class="sref">hatid_skb,
tid_->,
 151        5lse i58="net="L162" class="line" name="L165I">IEEE805name="L81">  81
has_fcs)loc11_RADIOTAP_FLAGSs_fcs)loc11trucO"sref">skb,
loc11_RADIOTAP_FLAGSloc11trucO0211/rx.c#L117" i1dateee80211_hdrsdate cla>
        hae80211_local *local,

has_fcs)
flag &x.c#L116" 
flag &d.status5-58 class="line" name="L135"> 1355Inaligned5LAG_MACTIME_MPDU)
 126   11/rx.c#L117" ilockdep_CTIert_heldee80211_hdrlockdep_CTIert_heldtruct(
local,
  88   5     59s" class="sref">statugoto 11/rx.c#L117" ino_frid=116{
  90<5/a>  59    iamp; <7b,
5
 143 releas=t    frid= from     =eor id finr ="+cid *omment"> * add a radiotap header cont59">IEEE805ine" name="L91">  915     59>statustid_
->

131      NULLode=     !flag &d.local,
 || <5" name="L94">  94   5     596        strucal" class="sref.flag &d.
flag &rx_flag"     |0211/rx.c#L117" iORTPRE" claX_DEFERRED_RELEASE="L130" status5->59"> 126   11/rx.c#L117" iref_queue_tai1_RADIOTAP_FLAGSref_queue_tai1truct(
flaf">local,
) 5{
{
l6n & 3)

flag &a8" _req_numtrucO0211/rx.c#L117" i1eq_inc="L130" 
flag &a8" _req_numtruc)     !l6n"line" name="L90">  90<6"net/60    ipos = l6n if necessary */6 href60+code=len" class="sref">len +=6=3sref">l6nne" name="L91">  916 id="60>has_fcs)su2_ifadate116{
skb,
/dateee80211_hdrsdate cla,X_FLAG_AMPDU_DETAILS" class="6=4sref">l6n->hatid_skb,
tid_ 103   6    r60         struct flau       int       u1">statate" class="srea8" _req_num>flag &a8" _req_numtruc)X_FLAG_AMPDU_DETAILS" class="6a6s="line6  name="L94">  94   6.c#L160ef">s="L162" class="line" name="L166=ver-ops.605" id="L105" class="lin6" nam60"> 126    1_rate" class="sre ndex>
131      sndex="ne     !lockdep_CTIert_heldtruct(
l6the fields which the har6ware 61a>->pos |=eq_les             eq_les
flag &a8" _req_numtruc, lass="sref">flaa8" _req_num>flag &a8" _req_numtruc))d="L162" class="line" name="L166" id="L116" class="line" name="L116"> 1161 class="sref">cpu_to_ate" class="sre ndex>
131      sndex="neO0211/rx.c#L117" i1eq_su2local,

flag &a8" _req_numtruc, lass="sref">flatid_
 163   ssn="ne)8(> 7;"L162" class="line" name="L166"3sref">l6ieee80211_add_rx_radiota6_head61>flatid_
l6ne" name="L113"> 1136     61pos" class="sref"""""11/rx.c#L117" ix.c#L116" releas=_reor id_frid=116{
skb,
/dateee80211_hdrsdate cla, lass="sref">flatid_fla ndex>
131      sndex="ne)     !bool<6a> freq, led.h<6="+code=status" class="s6ef">s61 name="L157"> 157mment"> * add a radiotap header cont6"9>led.h<6> 118        struct 6a hre61"line" name="L158"> 158<*=Timeout (in jiffies) for ref(> 9;shthat are waitinr i1>   tRX =eor id ="+cid. Ifmment"> * add a radiotap header cont6 class="s6ef">rthdr;
 159*>   tref was =ddetbyte   t="+cid longid= han this time ago,n    earliermment"> * add a radiotap header cont6 1sref">l6c#L120" id="L120" class=6line"62s="line" name="L160"> 160 * add a radiotap header cont6  id="L116" class="sref">u16 <6 href62a hrene" name="L160"> 160 9;shfrom    mment"> * add a radiotap header cont6 3sref">l6der *) 160l6        109 * add a radiotap header cont6e=rthdr" 6lass="sref">rthdr, 06  160holr tid_

stane" name="L160"> 160 * add a radiotap header cont6 ver-ops.6d="L126" class="line" na6e="L162" cla#def159211/rx.c#L117" iHTlaX_REORDER_BUF_TIMEOUT>
131      HTlaX_REORDER_BUF_TIMEOUT     tsref">skb,
HZ>
131      HZ     / 10)X_FLAG_AMPDU_DETAILS" class="6  *mesh.6line" name="L128"> 128    62"lined.{
has_fcs)su2_ifadate116{
skb,
/dateee80211_hdrsdate cla,X_FLAG_AMPDU_DETAILS" class="69" class=6line" name="L129"> 129    63s" class="sref">statuuuuuuuuuuuuuuuuuuuuuuuuuuus_fcs" class="sref">hatid_skb,
tid_ 1306     63    i="L162" class="line" name="L1669 id="L116href="+code=it_len" clas6="sre63 class="sref" 1_rate" class="sre ndex>
131      sndex="ne, lass="sref">flaj>
131      j="ne     !cpu_to_le16l6133" class="line" name="6133">63pos" class="s11/rx.c#L117" ilockdep_CTIert_heldee80211_hdrlockdep_CTIert_heldtruct(
pos = (unsigned ch6r *)(634" id 161status-se" name="L143"> 143 releas=t    ="+cidsuntil next mis * add a radiotap header cont6       /* th6 orde63"> 126   11/rx.c#L117" i ndex>
131      sndex="neO0211/rx.c#L117" i1eq_su2local,

flag &a8" _req_numtruc, lass="sref">flatid_
 163   ssn="ne)8(> 7;"L162" class="line" name="L1669 * 136

mesh.6 class="sref">status6><63href="+code== id="L154" class="litid_
,
(ss="sref">statustid_
-> 157mment"> * add a radiotap header cont6u id="L116      160 * add a radiotap header cont6us="sref"6IOTAP_TSFT);
 160
 109 * add a radiotap header cont6u=rthdr" 6="net/mac80211/rx.c#L1436 id="64         struct ,
 144
status->
131      sndex="neO+ 1)8(> 7;"11/rx.c#L117" itid_
flaj>
131      j="neO!0211/rx.c#L117" i ndex>
131      sndex="ne     !hw.flagsss="sref">statusj>
131      j="neO= t11/rx.c#L117" ij>
131      j="neO+ 1)8(> 7;"11/rx.c#L117" itid_
 147             6  *
mesh.6"+code=RX_FLAG_FAILED_FC6_CRC"6class="sref">RX_FLAG_Fliss>flagsss="sref">statusskippedee80211_hdrskipped="ne++     ! 169                *statu                continue     !6tatus65a>-> 151                *cpu_to_     ,
;

131      jiffiestruc, lass="sref">flatid_
,
 152<6a>   65pos" class="sref"""""ct 
131      HTlaX_REORDER_BUF_TIMEOUT    )) 161 153
 1356<      RX_FLAG_HT6/a>) 65" class="sref">flagsat_dbg_skb,
/dateee80211_hdrsdate cla,s="line" name="L135"> 1356< * 109&quoa =eleas=t109RX =eor id frid=bduebyte imeout on earlier frid="\n&quoa mment">)     !{
skb,
/dateee80211_hdrsdate cla, lass="sref">flatid_flaj>
131      j="ne)     !-> 157mment"> * add a radiotap header cont6e"> 15166a hrene" name="L160"> 160
IEEE806       */
 160 * add a radiotap header cont6f33" id="6                *
flag &a8" _req_numtruc = * add a radiotap header cont6f name="L6> |= 
flag &a8" _req_numtruc8+1lass="sref">fla12ippedee80211_hdrskipped="ne)8( 12     !status->rate->flags =  166      6 }
pos |tid_
 167<6a>   66href="+code==flags" ch{
skb,
/dateee80211_hdrsdate cla, lass="sref">flatid_fla ndex>
131      sndex="ne)     ! 168
statu11/rx.c#L117" i ndex>
131      sndex="neO0211/rx.c#L117" i1eq_su2local,

flag &a8" _req_numtruc, lass="sref">flatid_
 163   ssn="ne)8(> 7;"L162" class="line" name="L166af="net/m6naligned_le16(statu11/rx.c#L117" itid_
 151pos);6 = IEEE806status" class="sref">sta6us
statusj>
131      j="neO= 11/rx.c#L117" i ndex>
131      sndex="neO0211/rx.c#L117" i1eq_su2local,

flag &a8" _req_numtruc,"L162" class="line" name="L166N/a> || <6status->
 163   ssn="ne)8(> 7;u11/rx.c#L117" itid_
freq, flaj>
131      j="neO!02t11/rx.c#L117" i ndex>
131      sndex="neO- 1)8(> 7;"11/rx.c#L117" itid_
freq, rate6><67href="+code==flags" c     s="sref">statusj>
131      j="neO= t11/rx.c#L117" ij>
131      j="neO+ 1)8(> 7;"11/rx.c#L117" itid_
pos);
statuuuuuuuuu id="L137" class="ltid_
->freq,  151        6lse i68 class="sref">cpu_to_pos = IEEE806name="L81">  81
 || <6tus" class="sref">status6-68">status->
flagsflatid_
,

131      HTlaX_REORDER_BUF_TIMEOUT    ) lass="sref">freq, )
  88   6     69s" class="sref">statu11/rx.c#L117" idel_timenet/mac80211/rx.del_timentruct(
freq,   90<6/a>  69a>-> = 6
 = IEEE806ine" name="L91">  916     69ref="net/mac80211/rx.c#L152" id="L69ligned_l6s-> 109mment"> * add a radiotap header cont69_5GHZ/* HT info */
 160be undermment"> * add a radiotap header cont69/a> || <6" name="L94">  94   6     69">stane" name="L160"> 160 * add a radiotap header cont69naligned6 class="sref">status6->69"> 12ne" name="L160"> 160 1diately, truidss=it was consumethere is needed as padding
) 6{
 157 * add a radiotap header cont6a+code=ra6g */
has_fcs)su2_ifadate116{
skb,
/dateee80211_hdrsdate cla,X_FLAG_AMPDU_DETAILS" class="7="sref">l7n & 3)
statuuuuuuuuuuuuuuuuuuuuuuuuuuuuurs_fcs" class="sref">hatid_skb,
tid_l7n"line" name="L90">  90<7"net/70a>->hae80211_local *local,
l7n if necessary */7 href70="net="L162" class="line" name="L167=3sref">l7nne" name="L91">  917 id="70>has_fcs)="net/mac80211/rx.s_fcs)="node=local" class="sre="net/mac80211/rx.="nHAN_O= ts_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="node=lo) lass="sref">flaf">local,
date cla lass="sref">freq, l7n->statate" class="sresc="L130" freq,  103   7    r70         strucal" class="sreu       int       u1">statate" class="srea du_req_num>flag &a du_req_num="neO= t11/rx.c#L117" isc="L130" freq,   94   7.c#L1706        strucal" class="sreu       int       u1">statate" class="srea8" _req_num>flag &a8" _req_numtruc, lass="sref">fla="+_size="L130" freq,  126    1_rate" class="sre ndex>
131      sndex="ne     !freq, 

l7the fields which the har7ware 71    iamp; <7b,
 1171 class="sref"lass="sref">fla="+_size="L130" 
freq, l7ieee80211_add_rx_radiota7_head71>statusa8" _req_num>flag &a8" _req_numtrucO0211/rx.c#L117" itid_
flag &a8" _req_numtruc lass="sref">freq, l7ne" name="L113"> 1137     71+code=pos" class="sref">pos +=7"ss="line7 114                7     71         struse" name="L143"> 143 frid=bwith out of date sequence numbid *omment"> * add a radiotap header cont716s="line7       int flag &a du_req_num="ne, lass="sref">flaa8" _req_num>flag &a8" _req_numtruc))d="L162" class="line" name="L167"ver-ops.7bool" class="sref">bool<7a> flags<11/rx.c#L117" idev_kfree_f">local,
truct local,
led.h<7="+code=status" class="s7ef">s71f="+code=flags" classgoto 11/rx.c#L117" ioutlocal,
freq,  118        struct 7a hre71href="+code==1lass="sref">freq, rthdr;
l7c#L120" id="L120" class=7line"721        struse" name="L143"> 143mment"> * add a radiotap header cont7  id="L117" class="sref">u16 <7 href72a hrene" name="L160"> 160 * add a radiotap header cont7 3sref">l7der *) 160l7        109 * add a radiotap header cont7e=rthdr" 7lass="sref">rthdr, 07 flag &a du_req_num="ne, lass="sref">flaa8" _req_num>flag &a8" _req_numtruc8+1lass="sref">fla="+_size="L130" status->flag &a8" _req_numtrucO0211/rx.c#L117" i1eq_inc="L130" flag &a du_req_num="ne, lass="sref">fla="+_size="L130" freq, flags<1e" name="L143"> 143 releas=td.ored frid="huphto newta8"  to stacka*omment"> * add a radiotap header cont7e">led.h<7 has_fcs)releas=_reor id_frid=">flag &x.c#L116" 
eleas=_reor id_frid="tructsref">skb,
/dateee80211_hdrsdate cla, lass="sref">flatid_ 128    72lass="sref">RX_FLAG_Fliss>flagssssssssssssssssssslass="sref">flaa8" _req_num>flag &a8" _req_numtruc) lass="sref">freq,  129    73s" class="sre1lass="sref">freq,  1307     73    iamp; <7b,
 143 Nowbth tnewtfrid=bis alway"hi1>   t=ange of    t=eor idinr ="+cid *omment"> * add a radiotap header cont79s="sref"7ss="sref">cpu_to_le16l7133" class="line" name="7133">73pos" class="s11/rx.c#L117" i ndex>
131      sndex="neO0211/rx.c#L117" i1eq_su2local,
flatid_
 163   ssn="ne)8(> 7;u11/rx.c#L117" itid_
pos = (unsigned ch7r *)(734" id 161status-se" name="L143"> 143 check  idwe alreadybd.ored this frid=bcomment"> * add a radiotap header cont7       /* th7 orde73"> 126    id="L137" class="ltid_
 136
local,
truct local,
mesh.7 class="sref">status7><73lass="sref">RX_FLAG_Fgoto 11/rx.c#L117" ioutlocal,
freq, (freq, ,
 143mment"> * add a radiotap header cont7us="sref"7IOTAP_TSFT);
 160   t=ight or id hsr nothinr 2" imment"> * add a radiotap header cont7u4sref">l7142                <7 href74pos" "> 109
 160but=thfre(> 9;shsomethinr d.ored, we may be ablimment"> * add a radiotap header cont7uquot;
 144
stane" name="L160"> 160
hw. 12ne" name="L160"> 160 * add a radiotap header cont7u * 147             7  *
flag &a8" _req_numtrucO>,
mesh.7"+code=RX_FLAG_FAILED_FC7_CRC"7class="sref">RX_FLlass="sref">flatid_
 179                *statu11/rx.c#L117" itid_
flag &a8" _req_numtrucO0211/rx.c#L117" i1eq_inc="L130" 
flag &a8" _req_numtruc)     !7tatus75a>->freq,  151                *cpu_to_goto 11/rx.c#L117" ioutlocal,
freq, ;
freq,  152<7a>   75+code=pos" class="sref">pos +=7" name="L753"> 153
 143 put=thftfrid=bin    t=eor idinr ="+cid *omment"> * add a radiotap header cont7 || <7 href="+code=status" cla7s="sr756        strucal" class="sretid_
local,
freq, RX_FLAG_HT7/a>) 75"> 126   11/rx.c#L117" itid_

131      jiffiestruc lass="sref">freq, 
{
skb,
/dateee80211_hdrsdate cla, lass="sref">flatid_->11/rx.c#L117" ioutlocal,
 15176 class="sref"lass="sref">flaspin_unlock="L130" 
IEEE807       */
freq,  || <7           *stane" name="L160"> 160mment"> * add a radiotap header cont7p      rate-> 12ne" name="L160"> 160 * add a radiotap header cont7p * 166      7 }
 157
 167<7a>   76"line" name="L158"> 158<*omment"> * add a radiotap header cont7ame="L1687> 168
flag &x.c#L116" 
x_=eor id_has_fcs)
x_date116{
( 151pos);7hae80211_local *local,

local,
freq, IEEE807status" class="sref">sta7ushas_fcs)localet/mac80211/rx.s_fcs)localode=local" class="srelocalet/mac80211/rx.localode=l0211/rx.c#L117" i
freq, has_fcs)="net/mac80211/rx.s_fcs)="node=local" class="sre="net/mac80211/rx.="nHAN_O= ts_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="node=lo) lass="sref">flaf">local,
date cla lass="sref">freq, has_fcs)
x_d.flag &x.c#L116" 
x_d.flag &d.flag &ORTPRE" clSKB_RXCBtruct local,
 || <7status-s_fcs" class="sref">haete_info>flag &d.<_infoode=local" class="sref.<>flag &d.<="neO0211/rx.c#L117" i
status-s_fcs" class="sref">hatid_skb,
tid_statate" class="sresc="L130" rate7><77href="+code==11/rx.c#L117" iu8     int       u8>statate" class="sretid="L130" flaack_policy="L130" pos);
->flag &x.c#L116" is_date_qo"truct  151        7lse i78 class="sref">cpu_to_goto 11/rx.c#L117" idont_=eor idee80211_hdrdont_=eor id="ne     !IEEE807name="L81">  81
 160mment"> * add a radiotap header cont7I_5GHZ 160 * add a radiotap header cont7I/a> || <7tus" class="sref">status7-78">stane" name="L160"> 160 * add a radiotap header cont7I      )
 12ne" name="L160"> 160 * add a radiotap header cont7I_2GHZ  88   7     79s" class="sref">statugoto 11/rx.c#L117" idont_=eor idee80211_hdrdont_=eor id="ne     !  90<7/a>  79    iamp; <7b,
7
flaack_policy="L130" skb,
x.c#L116" get_qo"_ctlet/mac80211/rx.s_fcs)get_qo"_ctltruct IEEE807ine" name="L91">  917     79>->skb,
x.c#L116" get_qo"_ctlet/mac80211/rx.s_fcs)get_qo"_ctltruct /* HT info */
 || <7" name="L94">  94   7     796        strucal" class="sretid_status7->79"> 126    id="L154" class="litid_dont_=eor id="ne     !l8n & 3)
 143 qo" null data frid="hare excludeda*omment"> * add a radiotap header cont8=1sref">l8n"line" name="L90">  90<8"net/80a>->flag &ORTPRE" clSTYPE_NULLFUNC="ne)))X_FLAG_AMPDU_DETAILS" class="8=2sref">l8n if necessary */8 href80 class="sref">cpu_to_goto 11/rx.c#L117" idont_=eor idee80211_hdrdont_=eor id="ne     !l8nne" name="L91">  918 id="80ref="net/mac80211/rx.c#L152" id="L8=4sref">l8n-> 160 not part of a BA sess  * *omment"> * add a radiotap header cont8=5sref">l8n/* HT info */
flaack_policy="L130"   94   8.c#L180">status->lass="sref">flaack_policy="L130" flagsdont_=eor id="ne     ! 160 not actually part of this BA sess  * *omment"> * add a radiotap header cont811/rx.c#L809" id="L109" class="lin8" nam810os" class="s id="t flag &d.
flag &rx_flag"="ne8(l8the fields which the har8ware 81a>->dont_=eor id="ne     ! 1181 clas    !l8ieee80211_add_rx_radiota8_head81> 160 new, pot160ially un-or ided,  * add a radiotap header cont814sref">l8ne" name="L113"> 1138     81+code=pos" class="sref">pos +=8"ss="line8 114                8     81         struse" name="L143"> 143 reset sess  * timen *omment"> * add a radiotap header cont816s="line8       int 
bool<8a> flags<11/rx.c#L117" itid_

131      jiffiestruc lass="sref">freq, led.h<8="+code=status" class="s8ef">s81ref="net/mac80211/rx.c#L167" id="L8"9er-ops.8> 118        struct 8a hre819os" class="s1e" name="L160"> 160  idthis a dutis frig 160eda- terminate rx  * add a radiotap header cont8 class="s8ef">rthdr;
freq, l8c#L120" id="L120" class=8line"82a>->flag &ORTPRE" clSCTL_FRAGHAN_)8="L162" class="line" name="L168  id="L118" class="sref">u16 <8 href82 class="sref">cpu_to_lass="sref">flaf">local,
flag &ORTPRE" clSDATA_QUEUE_TYPE_FRAMEtruc lass="sref">freq, l8der *)flaf">_queue_tai1_RADIOTAP_FLAGSr">_queue_tai1truct(
_queue_RADIOTAP_FLAGSr">_queue cla, lass="sref">flaf">local,
l8       skb,
x.c#L116" queue_work="L130" 

rthdr, 08 status-1lass="sref">freq, freq, led.h<8  160mment"> * add a radiotap header cont8e9er-ops.8line" name="L128"> 128    82"line" name="L158"> 158<<<<<<<<<> No lockinr neeteda-- we will only even proces<=onimment"> * add a radiotap header cont89" class=8line" name="L129"> 129    83s" cl" name="L158"> 158<<<<<<<<<> RX packet at a time, hsr thu<=ow* tid_ * add a radiotap header cont891sref">l8ne" name="L130"> 1308     83    i" name="L158"> 158<<<<<<<<<> othfr mac8 manipula  nr it needs to (hsr does) makemment"> * add a radiotap header cont89 id="L118href="+code=it_len" clas8="sre83a hrene" name="L160"> 160 * add a radiotap header cont893sref">l8ss="sref">cpu_to_le16 160
l8133" class="line" name="8133">83pos" "> 109 * add a radiotap header cont81=rthdr" 8">pos = (unsigned ch8r *)(835        stru id=lass="sref">fla .c#L116" ste_manag=_reor id_="+="L130" 
flatid_flaf">local,
status->/* th8 orde83net/mlass="sref">freq,  136
mesh.8 class="sref">status8><83href="+code==11/rx.c#L117" if">_queue_tai1_RADIOTAP_FLAGSr">_queue_tai1truct(
_queue_RADIOTAP_FLAGS
x_d">_queue cla, lass="sref">flaf">local,
(freq, ,
statate" class="sredebug_no nf="+co80211_hdrdebug_no nf="+   iamp; <7b,
l8IOTAP_TSFT);
has_fcs)
x_date116{
l8142                <8 href84pos" ="L162" class="line" name="L168u=rthdr" 8="net/mac80211/rx.c#L1438 id="84         strus_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="node=local" class="sre="net/mac80211/rx.="nHAN_O= ts_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="node=lo)11/rx.c#L117" i
local,
date cla lass="sref">freq,  144
status-s_fcs" class="sref">has_fcs)
x_d.flag &x.c#L116" 
x_d.flag &d.flag &ORTPRE" clSKB_RXCBtruct 
local,
hw.freq,  147             8  * 160 Drop duplicate /a>.11hne"ransmiss  *s (ORTP /a>.11hChap. 9.2.9)a*omment"> * add a radiotap header cont8uf">mesh.8"+code=RX_FLAG_FAILED_FC8_CRC"84href="+code== id= 
 189                *statu id=11/rx.c#L117" iunlikely="L130" )=as_ne"rytruct ,
8tatus85a>->


,
cpu_to_eeeeeeeeeeeee l811_RADIOTAP_F_SHORTPRE;
flag &d.
flag &rx_flag"="ne8(l8"line" name="L152"> 152<8a>   85pos" class="sref"""""odeeeeeeeeeeeeee 
 153


flag &num_duplicate"ode=++     !status->freq, RX_FLAG_HT8/a>) 85" class="sref">flagsflag &aX_DROP_UNUSABLE cla lass="sref">freq, freq, mesh.80211/rx.c#L158" id="L1588 clas85lass="sref">RX_FLAG_Fliss>fla 


freq, freq, ,
 15186 class="sref" id=11/rx.c#L117" iunlikely="L130" 
local,
 163   len="ne8(lt; 16))8="L162" class="line" name="L168e">IEEE808       */
flaIe" _DEBUG_INC>flag &Oe" _DEBUG_INCtruct 
flag &aX_DROP_MONITORtruc lass="sref">freq, freq, stalass="sref">freq, rate-> 126   1e" name="L160"> 160 Drop disallowed frid=ame="Les ba * add a radiotap header cont8p * 166      8 }
 157.11,hChap 5.5here is needed as padding
 167<8a>   86"line" name="L158"> 158
 158<<<<<<<<<> ing * add a radiotap header cont8af="net/m8naligned_le16( 158<<<<<<<<<> C"L15 3 frid="hfrom not a"Locia ed d. * add a radiotap header cont8a"> 151pos);8 160 * add a radiotap header cont8a">IEEE808status" class="sref">sta8us 160 109 * add a radiotap header cont8N_5GHZ || <8)vif is_d="htruct(
vif="ne))X_FLAG_AMPDU_DETAILS" class="8N      (flagsrate8><87href="+code== id= pos);
statuode=balass="sref">flax.c#L116" is_pspollet/mac80211/rx.s_fcs)is_pspolltruct ,
->
vif="ne.cal" class="sretype="L130" )IFTYPE_ADHOC>flag &NLs)IFTYPE_ADHOC="neO(,
 151        8lse i88 class="sref">cpu_to_eeeee11/rx.c#L117" i
vif="ne.cal" class="sretype="L130" )IFTYPE_WDS>flag &NLs)IFTYPE_WDS="neO(,
IEEE808name="L81">  81


flaWLAN_STA_ASSOC>flag &WLAN_STA_ASSOC="ne))))8="L162" class="line" name="L168Iligned_l8a>         160mment"> * add a radiotap header cont8I_5GHZ 160 * add a radiotap header cont8I/a> || <8tus" class="sref">status8-88">stane" name="L160"> 160 9;t set=thfmment"> * add a radiotap header cont8I      )
 12ne" name="L160"> 160frid=mment"> * add a radiotap header cont8I * 157 * add a radiotap header cont8Ie=status811_HW_SIGNAL_DBM)
RX_FLAG_F id= 

vif="ne.cal" class="sretype="L130" )IFTYPE_STATION>flag &NLs)IFTYPE_STATION="neO(,
  88   8     89s" class="sref">statueeee11/rx.c#L117" ix.c#L116" is_date_present="L130"   90<8/a>  89a>->ha="nlen63"> 163   ="nlentruc lass="sref">freq, 8
cpu_to_eeeeeeeeclass="sref">ha__be16et/mac80211/rx.__be16classclass="sref">haethfrtype="L130" freq, IEEE808ine" name="L91">  918     89ref="net/mac80211/rx.c#L152" id="L89ligned_l8s->ha="nlen63"> 163   ="nlentruc =e  163   s_fcs)="nlentruct freq, /* HT info */
 || <8" name="L94">  94   8     89">status->
local,
 163   len="ne8(lt; class="sref">ha="nlen63"> 163   ="nlentruc + 8)X_FLAG_AMPDU_DETAILS" class="89naligned8 class="sref">status8->89" class="sref">flagsflag &aX_DROP_MONITORtruc lass="sref">freq, ) 8{
RX_FLAG_Fliss>fla _copy_bit">flag &d">_copy_bit"truct 
local,
fla="nlen63"> 163   ="nlentruc + 6, (freq, l9n & 3)
statuode=bahh id= 
freq, l9n"line" name="L90">  90<9"net/90a>->flag &aX_CONTINUEtruc lass="sref">freq, l9n if necessary */9 href90 class="sref">cpu_to_1lass="sref">freq, l9nne" name="L91">  919 id="90ref="net/mac80211/rx.c#L152" id="L9=4sref">l9n->
vif="ne.cal" class="sretype="L130" )IFTYPE_AP>flag &NLs)IFTYPE_AP="neO(,
l9n/* HT info */

devtruc,amp; <7b,
l9n name="L94">  94   9.c#L190">status->;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ,
l9nclass="sref">status9" nam90" class="sref">flags<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; flag &aX_DROP_UNUSABLE cla lass="sref">freq, 
statune" nae11/rx.c#L117" iaX_DROP_MONITOR>flag &aX_DROP_MONITORtruc lass="sref">freq, l9the fields which the har9ware 91a>->freq,  1191 clas    !l9ieee80211_add_rx_radiota9_head91>flag &aX_CONTINUEtruc lass="sref">freq, l9ne" name="L113"> 1139     91pos" 1lass="sref">freq, stalass="sref">freq, bool<9a> statate" class="sredebug_no nf="+co80211_hdrdebug_no nf="+   iamp; <7b,
led.h<9="+code=status" class="s9ef">s91ref="href="net/mac80x.c#L116" 
x_h_decrypt="L130" has_fcs)
x_date116{
 118        struct 9a hre919os" ="L162" class="line" name="L169 class="s9ef">rthdr;
hae80211_local *local,

local,
freq, l9c#L120" id="L120" class=9line"92a>->has_fcs)
x_d.flag &x.c#L116" 
x_d.flag &d.flag &ORTPRE" clSKB_RXCBtruct local,
u16 <9 href92 class="sref"s_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="node=local" class="sre="net/mac80211/rx.="nHAN_O= ts_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="node=lo)11/rx.c#L117" is">local,
date cla lass="sref">freq, l9der *)hakeyidx="L130" freq, l9       ha="nlen63"> 163   ="nlentruc lass="sref">freq, rthdr, 09 statate" class="sre=esult="L130" stat0211/rx.c#L117" iaX_DROP_UNUSABLE>flag &aX_DROP_UNUSABLE cla lass="sref">freq, status-s_fcs" class="sref">has_fcs)key="L130" stat0211/rx.c#L117" iNULL>flag &NULL cla lass="sref">freq, hammie_keyidx="L130" stat02-1 lass="sref">freq, led.h<9 ha__le16et/mac80211/rx.__le16trucg1lass="sref">hafc="L130"  128    92net/mac80211/rx.c#L88" id="L88" cl99" class=9line" name="L129"> 129    93s" class="srese" name="L143"> 143mment"> * add a radiotap header cont991sref">l9ne" name="L130"> 1309     93    i" name="L158"> 158<<<<<<<<<> Key selec   * 10a>-ent"> * add a radiotap header cont99 id="L119href="+code=it_len" clas9="sre93a hrene" name="L160"> 160-ent"> * add a radiotap header cont993sref">l9ss="sref">cpu_to_le16 160-ent"> * add a radiotap header cont994sref">l9133" class="line" name="9133">93pos" "> 109 * add a radiotap header cont99ss="line9">pos = (unsigned ch9r *)(934" idne" name="L160"> 160 * add a radiotap header cont996s="line9et/mac80211/rx.c#L135" i9="L1393">stane" name="L160"> 160-ent"> * add a radiotap header cont99ver-ops.9an class="comment">/* th9 orde93"> 12ne" name="L160"> 160-ent"> * add a radiotap header cont99">led.h<936"> 136
 157-ent"> * add a radiotap header cont999er-ops.9 class="sref">status9><93"line" name="L158"> 158<<<<<<<<<> When selec  ng a key, we have to dis  nguishbbetween multicast>-ent"> * add a radiotap header cont9ut_unalig9ed_le64( 158<<<<<<<<<> (includ ng broadcast) hsr unicast frid=",=thftlatten cameonly>-ent"> * add a radiotap header cont9u1sref">l9class="line" name="L140"9 140<94    i" name="L158"> 158<<<<<<<<<> use PTKs hsr STKs while=thftformen always use GTKs hsr IGTKshere is needed as padding
 160 * add a radiotap header cont9u3sref">l9IOTAP_TSFT);
 160 * add a radiotap header cont9u4sref">l9142                <9 href94pos" "> 109 160
 144
stane" name="L160"> 160 * add a radiotap header cont9u      hw. 12ne" name="L160"> 160 * add a radiotap header cont9u">led.h<97"> 147             9  * 157
 158
 199                * 158<<<<<<<<<> There isealso a slight problem in#IBSS m">h: GTKs hre negotia edere is needed as padding
l9de=status" class="sref">9tatus95    i" name="L158"> 158<<<<<<<<<> with each=d. 9;t curr8
 160
l911_RADIOTAP_F_SHORTPRE;
 160 9;shno such=requir= 160; VLANs couldbbeere is needed as padding
l9"line" name="L152"> 152<9a>   95pos" "> 109 153
 160 * add a radiotap header cont9"quot;
stalass="sref">freq, RX_FLAG_HT9/a>) 95"> 126   1e" name="L160"> 160mment"> * add a radiotap header cont9"">led.h<9x.c#L157" id="L157" clas9="lin95 name="L157"> 157 * add a radiotap header cont9"9er-ops.90211/rx.c#L158" id="L1589 clas95"line" name="L158"> 158<<<<<<<<<> ad"nes"ed to ushnor a multicast frid=here is needed as padding
 158<<<<<<<<<>omment"> * add a radiotap header cont9f80211/rx9c80211/rx.c#L160" id="L190" cl96a>->flag &d.
flag &rx_flag"="ne8( 15196 class="sref">cpu_to_ne" nae11/rx.c#L117" iaX_CONTINUE>flag &aX_CONTINUEtruc lass="sref">freq, IEEE809       */
 160 d.omment"> * add a radiotap header cont9fss="line9> |= 
flag &NULL cla lass="sref">freq, stalass="sref">freq, rate-> 126    id=11/rx.c#L117" i
led.h<9me="L166"> 166      9 }
stat0211/rx.c#L117" i

sta)     ! 167<9a>   96net/mac80211/rx.c#L88" id="L88" cl9ame="L1689> 168
( 151pos);9)=as_protectedtruct IEEE809status" class="sref">sta9usflammie_keyidx="L130" stat02L154" class="lix_fcs)get_mmie_keyidx="L130" )get_mmie_keyidxtruct 
local,
pos +=9N_5GHZsta)8="L162" class="line" name="L169N/a> || <9status->;;;;href="net/mac80
sta     !flags< id=t flag &d.
flag &aX_FLAG_DECRYPTED="ne)O(led.h<9,
flag &d.
flag &aX_FLAG_IV_STRIPPED="ne))X_FLAG_AMPDU_DETAILS" class="9ae=status9e" class="sref">rate9><97lass="sref">RX_FLAG_Fliss>flane" nae11/rx.c#L117" iaX_CONTINUE>flag &aX_CONTINUEtruc lass="sref">freq, pos);
statu1e" name="L160"> 160 Skip decrypt on if thftfrid=ais not protected. >omment"> * add a radiotap header cont9"f="net/m9)=as_protectedtruct  151        9lse i98 class="sref">cpu_to_eeeeeflane" nae11/rx.c#L117" iaX_CONTINUE>flag &aX_CONTINUEtruc lass="sref">freq, IEEE809name="L81">  81
stat
 160 Broadcast/multicast robust manag= 160 frid= / BIP >omment"> * add a radiotap header cont9"_5GHZflag &d.
flag &aX_FLAG_DECRYPTED="ne)O(status9-98">status->;;;;;;;;t flag &d.
flag &aX_FLAG_IV_STRIPPED="ne))X_FLAG_AMPDU_DETAILS" class="9I      )
flagsflag &aX_CONTINUEtruc lass="sref">freq, led.h<9""net/mac80211/rx.c#L17"9i.c#L98ref="net/mac80211/rx.c#L167" id="L9Ie=status911_HW_SIGNAL_DBM)
RX_FLAG_F id= stat
lt; class="sref">haNUM_DEFAULT_KEYS>flag &NUM_DEFAULT_KEYS>stat||net/mac80211/rx.c#L167" id="L9ass="line9" name="L88">  88   9     99s" class="sref">statueeee11/rx.c#L117" immie_keyidx="L130" stat
haNUM_DEFAULT_KEYS>flag &NUM_DEFAULT_KEYS>stat+ class="sref">haNUM_DEFAULT_MGMT_KEYS>flag &NUM_DEFAULT_MGMT_KEYS="ne)X_FLAG_AMPDU_DETAILS" class="990" class9="line" name="L90">  90<9/a>  99a>->flag &aX_DROP_MONITORtruc "se" name="L160"> 160 unexpected BIP keyidx >omment"> * add a radiotap header cont9r RX_FLAG9S if necessary */9
cpu_to_ id=11/rx.c#L117" i
IEEE809ine" name="L91">  919     99>


sta[ate" class="sremmie_keyidx="L130" sta])     !


sta[ate" class="sremmie_keyidx="L130" sta])     !  94   9     99">status-162" i  id="L154" class="lix_fcs)=as_protected="L130" )=as_protectedtruct status9->99" class="sref">flags<1e" name="L160"> 160mment"> * add a radiotap header cont9a_2GHZ) 9{
 157 * add a radiotap header cont99e=status9g */
 158<<<<<<<<
 * add a radiotap header cont10="sref">l10="sr
10="line" name="L158"> 158<<<<<<<< */pre>e8/69/fd0f5c22767942b18098cffad490305ab1d7_3/10="s>* add a radiotap header cont10=1sref">l10="line" name="L90">  90<10="l>10=    i" name="L158"> 158<<<<<<<<
l10= if necessary */10= i>10=a hrene" name="L160"> 160 * add a radiotap header cont10=3sref">l10=ne" name="L91">  9110=ne>10=>has_fcs)key="L130" flag &NULL cla lass="sref">freq, l10=->has_fcs)sub_if_date116{

freq, l10=/* HT info */
10=5        struuuuuuuuu n" class="sref">hai116{
freq, l10= name="L94">  94   10= n>10=">stalass="sref">freq, l10=class="sref">status10=cl>10=" class="sref">flags< id=class="sref">has_fcs)ss_mgmt="L130" l10=LAG_AMPDU_DETAILS) 10=LA>10=f="+code=flags" classssssL154" class="lixs_multicast_ethfr_ad"net/mac80211/rx.ss_multicast_ethfr_ad"ntruct l10= */
RX_FLAG_Flisst 
l1009" id="L109" class="lin1009">1009        struuuuuuuuuodeeeeeehref="net/mac80
l10the fields which the har10the>100a>->l10" class="line" name="L1110" c>100 class="sref">cpu_to_eeeeefla id=11/rx.c#L117" i
l10ieee80211_add_rx_radiota10iee>100>has116{
has116{
haNUM_DEFAULT_KEYS>flag &NUM_DEFAULT_KEYS>sta; class="sref">has116{
l10ne" name="L113"> 11310ne">100pos" class="sref"""""odeeeeeeeeeeeeeeodeeeeeehref="net/mac80key="L130" 

sta[ate" class="sres116{
l10 114                10 11>1005        struuuuuuuuuodeeeeeeeeeeeeeeeeeeefla id=11/rx.c#L117" ikey="L130" l10       int status->;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; break     !l10bool" class="sref">bool<10boo>100" class="sref">flags<;;;;;;;;;;;;;;;;1lass="sref">freq, l10="+code=status" class="s10="+>100f="+code=flags" classssssssss1lass="sref">freq, l10> 118        struct 10> 1>100lass="sref">RX_FLAG_Fliss>fla id="L154" class="likey="L130" l10ef">rthdr;
10efgt;has116{
has116{
haNUM_DEFAULT_KEYS>flag &NUM_DEFAULT_KEYS>sta; class="sref">has116{
l10c#L120" id="L120" class=10c#L>10ea>->sta[ate" class="sres116{
l10" class="sref">u16 <10" c>10e class="sref">cpu_to_eeeeeflaX_FLAG_Fliss>fla id=11/rx.c#L117" ikey="L130" l10der *)l10       freq, l10lass="sref">rthdr, 010las>10e5        struuuuuuuuuodeeeeee1lass="sref">freq, l10ef="net/mac80211/rx.c#L110ef=>10e">status->l10d="L126" class="line" na10d=">10e" class="sref">flags<;;;;;;;;;;;;;;;;href="net/mac80
l10 l10line" name="L128"> 12810elass="sref">RX_FLAG_Fne" nae11/rx.c#L117" iaX_CONTINUE>flag &aX_CONTINUEtruc lass="sref">freq, l10line" name="L129"> 12910li>status-162" i ="L162" class="line" name="L161031sref">l10ne" name="L130"> 13010ne">10la>->flag &uf="+co11/rx.c#L117" ikeyid="L130" freq, l10href="+code=it_len" clas10hre>10l class="sref">cpu_to_1e" name="L160"> 160mment"> * add a radiotap header cont10l3sref">l10ss="sref">cpu_to_le1610lc8021ne" name="L160"> 160 9;t give us thftIV so we won(> 9;t beere is needed as padding
l10133" class="line" name="10133>10lpos" "> 109 * add a radiotap header cont10l5sref">l10">pos = (unsigned ch10">p>10l4" idne" name="L160"> 160 9;t neet to decrypt thftfrid=, we just won(> 9;tmment"> * add a radiotap header cont10l6sref">l10et/mac80211/rx.c#L135" i10et/>10l">stane" name="L160"> 160
l10an class="comment">/* th10an >10l"> 12ne" name="L160"> 160 *eded as padding
l1036"> 136
10l name="L157"> 157 *eded as padding
l10 class="sref">status10 cl>10l"line" name="L158"> 158<<<<<<<< *eded as padding
l10ed_le64( 160 * add a radiotap header cont1041sref">l10class="line" name="L140"10cla>10ea>->flag &d.
flag &aX_FLAG_DECRYPTED="ne)O(l10     cpu_to_eeeet flag &d.
flag &aX_FLAG_IV_STRIPPED="ne))X_FLAG_AMPDU_DETAILS" class="10e3sref">l10IOTAP_TSFT);
10e>flag &aX_CONTINUEtruc lass="sref">freq, l10142                <10142>10e+code=pos" class="sref">pos +=10e5sref">l10="net/mac80211/rx.c#L14310="n>10e5        struuuuuuuuu  163   ="nlentruc =e  163   s_fcs)="nlentruct freq, l104"> 144
>10e">stalass="sref">freq, l10ref">hw.flags< id=class="sref">ha
local,
 163   len="ne8(lt; 8t+ class="sref">ha="nlen63"> 163   ="nlentruc)X_FLAG_AMPDU_DETAILS" class="10e8sref">l107"> 147             107">>10ef="+code=flags" classssssssssne" nae11/rx.c#L117" iaX_DROP_UNUSABLE>flag &aX_DROP_UNUSABLE cla "se" name="L160"> 160 TODO: count this?a*omment"> * add a radiotap header cont1049sref">l10"+code=RX_FLAG_FAILED_FC10"+c>10enet/mac80211/rx.c#L88" id="L88" cl105"sref">l109                *109cpu_to_1e" name="L160"> 160mment"> * add a radiotap header cont1051sref">l10de=status" class="sref">10de=>109    i" name="L158"> 158<<<<<<<<)wep)get_keyidx,mment"> * add a radiotap header cont1052sref">l10>                *  >109a hrene" name="L160"> 160 *eded as padding
l1011_RADIOTAP_F_SHORTPRE109c8021ne" name="L160"> 160 * add a radiotap header cont1054sref">l10"line" name="L152"> 152<10"li>109pos" class="sref"""""sref="net/mac80s">_copy_bit">flag &d">_copy_bit"truct 
local,
fla="nlen63"> 163   ="nlentruc + 3, (freq, l1053"> 153
1095        struuuuuuuuu freq, l10 href="+code=status" cla10 hr>109">stalass="sref">freq, l10 class="sref">RX_FLAG_HT10 cl>109" class="sref">flags<1e" name="L160"> 160 check per-d. * add a radiotap header cont1058sref">l10x.c#L157" id="L157" clas10x.c>109f="+code=flags" class id=class="sref">hass_multicast_ethfr_ad"net/mac80211/rx.ss_multicast_ethfr_ad"ntruct 
l100211/rx.c#L158" id="L15810021>109lass="sref">RX_FLAG_Fliss>fla 


sta[ate" class="srekeyidx="L130" l1080211/rx.c#L159" id="L1510802>1080>stalass="sref">freq, l10c80211/rx.c#L160" id="L110c80>108a>-> 160  idnot found,=try default key >omment"> * add a radiotap header cont1082sref">l10 so initialise it to 0.<10 so>108 class="sref">cpu_to_ id="L154" class="li
l10       */
108>

sta[ate" class="srekeyidx="L130" l10                *108+code=pos" class="sref">pos +=1065sref">l10> |=  160mment"> * add a radiotap header cont1066sref">l10           *stane" name="L160"> 160l10f">rate->>108"> 12ne" name="L160"> 160 * add a radiotap header cont1068sref">l10me="L166"> 166      10me=>108 name="L157"> 157
l10"line" name="L167"> 167<10"li>108"line" name="L158"> 158<<<<<<<< * add a radiotap header cont107"sref">l10> 168

l10naligned_le16(10>a>->

 *l10" class="sref">pos);10" c>10> class="sref">cpu_to_eeeeeflaX_FL 

->< *l10status" class="sref">sta10sta>10>>l1016(
flag &NULL cla lass="sref">freq, l10,
l1010>">status-1    !l10le16(pos +=1078sref">l10,

l10e" class="sref">rate10e" >10>lass="sref">RX_FLAG_F id= 

flag &flag"="ne8(flag &KEY_FLAG_TAINTED="ne))X_FLAG_AMPDU_DETAILS" class="108"sref">l10ref">pos);
flag &aX_DROP_MONITORtruc lass="sref">freq, l10l1011/rx.c#L129" i>        1011/>10r class="sref">cpu_to_1

freq, l10name="L81">  81
10r> 160 TODO: ad" threshold stuff againa*omment"> * add a radiotap header cont1084sref">l10a>        l10="+code=ieee80211_radiot10="+>10r5        struuuuuuuuune" nae11/rx.c#L117" iaX_DROP_MONITOR>flag &aX_DROP_MONITORtruc lass="sref">freq, l10tus" class="sref">status10tus>10r">status-1    !l10LAG_MACTIME_MPDU)
10r7code=pos" class="sref">pos +=1088sref">l10""net/mac80211/rx.c#L17"10""n>10rf="+code=flagswitchd= 

l1011_HW_SIGNAL_DBM)
10rlass="sref">Rcase211/rx.c#L117" iWLAN_CIPHER_SUITE_WEPed_le64 *l10" name="L88">  88   10" n>10" ass="sref">Rcase211/rx.c#L117" iWLAN_CIPHER_SUITE_WEP1=->< *l10="line" name="L90">  90<10="l>10"a>->stat0211/rx.c#L117" is_fcs)crypto)wep)decrypt63"> 163   s_fcs)crypto)wep)decrypttruct l10S if necessary */10S i>10" class="sref">cpu_to_break     !l10ine" name="L91">  9110ine>10"3ass="sref">Rcase211/rx.c#L117" iWLAN_CIPHER_SUITE_TKIP/a>->< *l10s->stat0211/rx.c#L117" is_fcs)crypto)tkip)decrypt63"> 163   s_fcs)crypto)tkip)decrypttruct l10>/* HT info */
/*>10"5        struuuuuuuuubreak     !l10" name="L94">  94   10" n>10"6ass="sref">Rcase211/rx.c#L117" iWLAN_CIPHER_SUITE_CCMP/a>->< *l10 class="sref">status10 cl>10"" class="sref">flags<1ref="net/mac80=esult="L130" stat0211/rx.c#L117" is_fcs)crypto)ccmp)decrypt63"> 163   s_fcs)crypto)ccmp)decrypttruct l10FLAG_AMPDU_DETAILS) 10FLA>10"f="+code=flags" classbreak     !l10g */
Rcase211/rx.c#L117" iWLAN_CIPHER_SUITE_AES_CMAC/a>->< *l11="sr
110cpu_to_1ref="net/mac80=esult="L130" stat0211/rx.c#L117" is_fcs)crypto)aes_clin)decrypt63"> 163   s_fcs)crypto)aes_clin)decrypttruct l11="line" name="L90">  90<11="l>110a>->l11= if necessary */11= i>110 class="sref"default:"L162" class="line" name="L1611=3sref">l11=ne" name="L91">  9111=ne>11=> 160mment"> * add a radiotap header cont11=4sref">l11=-> 160 * add a radiotap header cont11=5sref">l11=/* HT info */
1104" idne" name="L160"> 160 9;t it decrypt thftfrid=?!mment"> * add a radiotap header cont11=6sref">l11= name="L94">  94   11= n>110">stane" name="L160"> 160 * add a radiotap header cont11=7sref">l11=class="sref">status11=cl>11=" class="sref">flagsflag &aX_DROP_UNUSABLE cla  * add a radiotap header cont11=8sref">l11=LAG_AMPDU_DETAILS) 11=LA>11=f="+code=flag1    !l11= */
l1109" id="L109" class="lin1109">1109        strule" name="L160"> 160 thfthdr variable is invalid aften thftdecrypt handlersa*omment"> * add a radiotap header cont1111sref">l11the fields which the har11the>111    iamp; <7b,
l11" class="line" name="L1111" c>110 class="sref"le" name="L160"> 160 eithfr thftfrid=ahas bef* decrypted or=will be dropped *omment"> * add a radiotap header cont1113sref">l11ieee80211_add_rx_radiota11iee>110>flag &d.
flag &aX_FLAG_DECRYPTED="ne  * add a radiotap header cont1104sref">l11ne" name="L113"> 11311ne">111+code=pos" class="sref">pos +=1105sref">l11 114                11 11>1105        strune" nae11/rx.c#L117" i=esult="L130" sta  * add a radiotap header cont1106sref">l11       int sta1    !l11bool" class="sref">bool<11boo>1117code=pos" class="sref">pos +=1108sref">l11="+code=status" class="s11="+>110f="+cd.)rx_=esult="L130" )rx_=esult     11/rx.c#L117" idebug_nointus" cL130" pos +=1109sref">l11> 118        struct 11> 1>110lass=11/rx.c#L117" is_fcs)rx_h_check_more_date116{
has_fcs)rx_date116{
pos +=112"sref">l11ef">rthdr;
11efgt;<="L162" class="line" name="L161121sref">l11c#L120" id="L120" class=11c#L>11ea>->has_fcs)localet/mac80211/rx.s_fcs)localode=local" class="srelocalet/mac80211/rx.localode=  * add a radiotap header cont1122sref">l11" class="sref">u16 <11" c>11e class="sref"s_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="node=local" class="sre="net/mac80211/rx.="nHAN_  * add a radiotap header cont1123sref">l11der *)hask_buf_local *local,
l11       pos +=1125sref">l11lass="sref">rthdr, 011las>11e5        strucal" class="srelocalet/mac80211/rx.localode=O0211/rx.c#L117" i
l11ef="net/mac80211/rx.c#L111ef=>11e">status-cal" class="sres">local,

local,
l11d="L126" class="line" na11d=">11e" class="srefcal" class="sre="net/mac80211/rx.="nHAN_O02ts_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="node=lo)-cal" class="sres">local,
{
freq, l11 l11line" name="L128"> 12811elass="sref">R id="L154" class="lilocalet/mac80211/rx.localode=>
pos +=113"sref">l11line" name="L129"> 129113cpu_to_ne" nae11/rx.c#L117" iaX_CONTINUE>flag &aX_CONTINUEtruc lass="sref">freq, l11ne" name="L130"> 13011ne">113    iamp; <7b,
l11href="+code=it_len" clas11hre>11l class="sref" id="L154" class="lix_fcs)=as_fromd">flag &x_fcs)=as_fromd"truct l11ss="sref">cpu_to_le16113> 160 this is not from AP >omment"> * add a radiotap header cont1134sref">l11133" class="line" name="11133>113pos" class="sref"""""ne" nae11/rx.c#L117" iaX_CONTINUE>flag &aX_CONTINUEtruc lass="sref">freq, l11">pos = (unsigned ch11">p>11l4" idlass="sref">freq, l11et/mac80211/rx.c#L135" i11et/>1136class="sref" id="L154" class="lix_fcs)is_date116{
l11an class="comment">/* th11an >113" class="sref">flagsflag &aX_CONTINUEtruc lass="sref">freq, l1136"> 136
113ref="net/mac80211/rx.c#L167" id="L11l9sref">l11 class="sref">status11 cl>113lass="sref">R id="L154" class="lix_fcs)=as_moredate116{
l11ed_le64(statu1e" name="L160"> 160 AP has no more frid=" buf_ered for usa*omment"> * add a radiotap header cont1141sref">l11class="line" name="L140"11cla>11ea>->freq, l11     cpu_to_ne" nae11/rx.c#L117" iaX_CONTINUE>flag &aX_CONTINUEtruc lass="sref">freq, l11IOTAP_TSFT);
11e>l11142                <11142>11e+code=pos" class="sref">pos +=11e5sref">l11="net/mac80211/rx.c#L14311="n>11e5        stru1e" name="L160"> 160 more date bit is set, let(> 9;shrequest a newtfrid=afrom thftAP >omment"> * add a radiotap header cont1146sref">l114"> 144
>114">status-cal" class="sre .c#L116" send_pspol"116{
fla
l11ref">hw.pos +=11e8sref">l117"> 147             117">>11ef="+code=flagne" nae11/rx.c#L117" iaX_CONTINUE>flag &aX_CONTINUEtruc lass="sref">freq, l11"+code=RX_FLAG_FAILED_FC11"+c>11enet/m1    !l119                *1150>stalass="sref">freq, l11de=status" class="sref">11de=>119    id.has.<_info>flag &d.<_infoode=local" class="sres.<>flag &d.<="ne)X_FLAG_AMPDU_DETAILS" class="1152sref">l11>                *  >119a hre="L162" class="line" name="L161153sref">l1111_RADIOTAP_F_SHORTPRE115>has_fcs)sub_if_date116{
flag &d.<="ne>
freq, l11"line" name="L152"> 152<11"li>119pos" class="ss_fcs" class="sref">has_fcs)localet/mac80211/rx.s_fcs)localode=local" class="srelocalet/mac80211/rx.localode=O0211/rx.c#L117" isdateee80211_hdrsdate cla>
l1153"> 153
1154" idlass="sref">freq, l11 href="+code=status" cla11 hr>115">status-cal" class="sreatomic_inc="L130" sdate cla>
flag &bs" cla>
l11 class="sref">RX_FLAG_HT11 cl>115" class="srefcal" class="sreset_s.<_flag="L130" flaWLAN_STA_PS_STA/a>->< *l11x.c#L157" id="L157" clas11x.c>115f="+code=flag id=!t flag &flag"="ne8()HW_AP_LINK_PS>flag &IEEEs)HW_AP_LINK_PS="ne))X_FLAG_AMPDU_DETAILS" class="1199sref">l110211/rx.c#L158" id="L15811021>119lass="sref">RX_FLAG_Fhref="net/mac80drv_s.<_notify="L130" flasdateee80211_hdrsdate cla, lass="sref">flaSTA_NOTIFY_SLEEP/a>->< *flag &d.<="ne>
l1180211/rx.c#L159" id="L1511802>1160 class="srefcal" class="sreps_dbg="L130" ,    !l11c80211/rx.c#L160" id="L111c80>118a>->flag &d.<="ne>
flas.<>flag &d.<="ne>
l11 so initialise it to 0.<11 so>118 clas1    !l11       */
118><    !l11                *118+coded.has.<_info>flag &d.<_infoode=local" class="sres.<>flag &d.<="ne)X_FLAG_AMPDU_DETAILS" class="1165sref">l11> |= l11           *status-cal" class="sreps_dbg="L130" 
,    !l11f">rate->>116" class="sref">flags11/rx.c#L117" is.<>flag &d.<="ne>
flas.<>flag &d.<="ne>
l11me="L166"> 166      11me=>116ref="net/mac80211/rx.c#L167" id="L1169sref">l11"line" name="L167"> 167<11"li>116lass="sref">R id=cal" class="sretest_s.<_flag="L130" flaWLAN_STA_PS_DRIVER>flag &WLAN_STA_PS_DRIVER="ne)) ="L162" class="line" name="L16117"sref">l11> 168

,    !l11naligned_le16(11>a>->flag &d.<="ne>
flas.<>flag &d.<="ne>
l11" class="sref">pos);11" c>11> class="sref">cpu_to_ne" na     !l11status" class="sref">sta11sta>117>l1116(pos +=1175sref">l11,
{
l11117">sta1    !l11le16(pos +=1178sref">l11,
hai.c#L116" s.<_ps_transi/son116{
ha .c#L116" s.<116{
flaboolet/mac80211/rx.boolode=lcal" class="sres.l11e" class="sref">rate11e" >11>lass=="L162" class="line" name="L16118"sref">l11ref">pos);
has.<_info>flag &d.<_infoode=local" class="sres.<_inf>flag &d.<_infode=O0211/rx.c#L117" iconta);
r_o_local *has.<_info>flag &d.<_infoode=, lass="sref">flas.<>flag &d.<="ne)     !l11l1111/rx.c#L129" i>        1111/>11r clas * add a radiotap header cont11r3sref">l11name="L81">  81
118>flag &WARN_ONtruct!t 
flag &flag"="ne8()HW_AP_LINK_PS>flag &IEEEs)HW_AP_LINK_PS="ne))  * add a radiotap header cont11r4sref">l11a>        pos +=1185sref">l11="+code=ieee80211_radiot11="+>1185        stru1e" name="L160"> 160 Don(> 9;t let thftsid=aPS=d.omment"> * add a radiotap header cont11r6sref">l11tus" class="sref">status11tus>118">status-cal" class="sre n_ps>flag &in_psode=O0211/rx.c#L117" itest_s.<_flag="L130" flaWLAN_STA_PS_STA/a>->< *l11LAG_MACTIME_MPDU)
118" class="sref id=t flag &in_psode=) ||d="L154" class="lif.l11""net/mac80211/rx.c#L17"11""n>118f="+code=flags" classne" nae-L154" class="liEINVAL>flag &EINVALode=  * add a radiotap header cont11r9sref">l1111_HW_SIGNAL_DBM)
118net/mac80211/rx.c#L88" id="L88" cl119"sref">l11" name="L88">  88   11" n>11" ass="sref">R id=cal" class="sres.l11="line" name="L90">  90<11="l>11"a>->l11S if necessary */11S i>11" class="sref"2" i    !l11ine" name="L91">  9111ine>119>l11s->pos +=1195sref">l11>/* HT info */
/*>1195        strune" nae0     !l11" name="L94">  94   11" n>119">sta1    !l11 class="sref">status11 cl>11"" claL154" class="liEXPORT_SYMBOL>flag &EXPORT_SYMBOLtruct {
l11FLAG_AMPDU_DETAILS) 11FLA>119ref="net/mac80211/rx.c#L167" id="L1199sref">l11g */
)rx_=esult="L130" )rx_=esult     11/rx.c#L117" idebug_nointus" cL130" pos +=12="sref">l12="sr
120)rx_h_uapsd_and_pspol"116{
ha .c#L116" rx_date116{
pos +=12=1sref">l12="line" name="L90">  90<12="l>120a>-&g="L162" class="line" name="L1612=2sref">l12= if necessary */12= i>120 class="sref"s_fcs" class="sref">has_fcs)sub_if_date116{

l12=ne" name="L91">  9112=ne>120>has_fcs)="net/mac80211/rx.s_fcs)="node=local" class="sre="net/mac80211/rx.="nHAN_O02tvoide*)11/rx.c#L117" i
local,
{
freq, l12=->has_fcs)rx_s.flag &s_fcs)rx_s.flag &d.)SKB_RXCB>flag &IEEEs)SKB_RXCBtruct 
local,
l12=/* HT info */
1205        stru n" class="sref">hatid="L130" freq, l12= name="L94">  94   12= n>120">stalass="sref">freq, l12=class="sref">status12=cl>120" class="sref id="L154" class="li
flag &d.
flag &rx_flag"="ne8()RX_RA_MATCH>flag &IEEEs)RX_RA_MATCHode=))X_FLAG_AMPDU_DETAILS" class="12=8sref">l12=LAG_AMPDU_DETAILS) 12=LA>120f="+code=flags" classne" nae11/rx.c#L117" iaX_CONTINUE>flag &aX_CONTINUEtruc lass="sref">freq, l12= */
l1209" id="L109" class="lin1209">121 ass="sref">R id=cal" class="sresdateee80211_hdrsdate cla>
)IFTYPE_AP/a>->< *)IFTYPE_APtrucO(l12the fields which the har12the>121a>->flag &vifode=.cal" class="sretyp" cL130" )IFTYPE_AP_VLAN>flag &NLs)IFTYPE_AP_VLAN cla)=pos" class="sref">pos +=1202sref">l12" class="line" name="L1112" c>121 class="sref">cpu_to_ne" nae11/rx.c#L117" iaX_CONTINUE>flag &aX_CONTINUEtruc lass="sref">freq, l12ieee80211_add_rx_radiota12iee>121><    !l12ne" name="L113"> 11312ne">121pos" class="she" name="L160"> 160mment"> * add a radiotap header cont1205sref">l12 114                12 11>1214" idne" name="L160"> 160 9;t do anything aboutmment"> * add a radiotap header cont1206sref">l12       int stane" name="L160"> 160 * add a radiotap header cont1207sref">l12bool" class="sref">bool<12boo>121"> 12ne" name="L160"> 160 9;re handled.)mment"> * add a radiotap header cont1208sref">l12="+code=status" class="s12="+>121 name="L157"> 157omment"> * add a radiotap header cont1209sref">l12> 118        struct 12> 1>121lass="sref">R id=cal" class="sresdateee80211_hdrsdate cla>
flag &flag"="ne8()HW_AP_LINK_PS>flag &IEEEs)HW_AP_LINK_PS="ne) * add a radiotap header cont122"sref">l12ef">rthdr;
122cpu_to_ne" nae11/rx.c#L117" iaX_CONTINUE>flag &aX_CONTINUEtruc lass="sref">freq, l12c#L120" id="L120" class=12c#L>122    iamp; <7b,
l12" class="sref">u16 <12" c>122 class="sref"le" name="L160"> 160mment"> * add a radiotap header cont1223sref">l12der *) 160 Don(> 9;t do anything if thfts. 9;t already asleep. Inmment"> * add a radiotap header cont1224sref">l12        160 thftuAPSD case, thfts. * add a radiotap header cont1225sref">l12lass="sref">rthdr, 012las>1224" idne" name="L160"> 160
l12ef="net/mac80211/rx.c#L112ef=>122">stane" name="L160"> 160 * add a radiotap header cont1227sref">l12d="L126" class="line" na12d=">122" class="sref id="L154" class="litest_s.<_flag="L130" 
flaWLAN_STA_PS_STA/a>->< *l12 flag &aX_CONTINUEtruc lass="sref">freq, l12line" name="L128"> 128122net/mac80211/rx.c#L88" id="L88" cl123"sref">l12line" name="L129"> 129123 ass="sref">R id=cal" class="sreunlikely="L130" {
l12ne" name="L130"> 13012ne">123a>->
flaWLAN_STA_SP/a>->< *l12href="+code=it_len" clas12hre>123 class="sref">cpu_to_f="+code id="L154" class="litest_s.<_flag="L130" 
flaWLAN_STA_PS_DRIVER>flag &WLAN_STA_PS_DRIVER="ne))"L162" class="line" name="L161233sref">l12ss="sref">cpu_to_le16123>
l12133" class="line" name="12133>123pos" class="sref"""""""""""""2" i    !l12">pos = (unsigned ch12">p>1235        struuuuuuuuuodeeeeeeaaaaaaaa 
flaWLAN_STA_PSPOLL>flag &WLAN_STA_PSPOLL="ne)     !l12et/mac80211/rx.c#L135" i12et/>1236class="sref"""""""""1    !l12an class="comment">/* th12an >1237code=pos" class="sref">pos +=1238sref">l1236"> 136
123f="+code=flags" class1e" name="L160"> 160 Fre=aPS=Pol" skb=hfre instead ofsne" naing aX_DROP2that wouldmment"> * add a radiotap header cont12l9sref">l12 class="sref">status12 cl>123"line" name="L158"> 158<<<<<<<< * add a radiotap header cont124"sref">l12ed_le64(statu11/rx.c#L117" idev_kfre=_s">local,
truct 
local,
l12class="line" name="L140"12cla>124    iamp; <7b,
l12     cpu_to_ne" nae11/rx.c#L117" iaX_QUEUED>flag &aX_QUEUEDtruc lass="sref">freq, l12IOTAP_TSFT);
12e>flag &x_fcs)=as_morefrig"truct l12142                <12142>124pos" class="sref""""""""!t flag &d.
flag &rx_flag"="ne8()RX_DEFERRED_RELEASE>flag &IEEEs)RX_DEFERRED_RELEASE="ne)O(l12="net/mac80211/rx.c#L14312="n>1245        struuuuuuuuuodeL154" class="lix_fcs)=as_pm>flag &x_fcs)=as_pmtruct l124"> 144
>1246class="sref""""""""""""t flag &x_fcs)is_date_qo"truct l12ref">hw.flags)is_qo"_nullfunctruct l127"> 147             127">>124f="+code=flags" class1lass="sref">hatid="L130" {
)QOS_CTL_TID_MASK>flag &IEEEs)QOS_CTL_TID_MASKtruc lass="sref">freq, l12"+code=RX_FLAG_FAILED_FC12"+c>124lass="sref">RX_FLAG_Fhref="net/mac80ac="L130" hatid="L130" freq, l129                *1250>stalass="sref">freq, l12de=status" class="sref">12de=>125a>-> 160mment"> * add a radiotap header cont1252sref">l12>                *  >129a hre" name="L158"> 158<<<<<<<<
l1211_RADIOTAP_F_SHORTPRE125c8021ne" name="L160"> 160
l12"line" name="L152"> 152<12"li>125pos" ne" name="L160"> 160
l1253"> 153
1254" idne" name="L160"> 160
l12 href="+code=status" cla12 hr>125">stane" name="L160"> 160 9;re always thftsid=here is needed as padding
l12 class="sref">RX_FLAG_HT12 cl>125"> 12ne" name="L160"> 160 * add a radiotap header cont1258sref">l12x.c#L157" id="L157" clas12x.c>125f="+code=flags" class id=!t 

l120211/rx.c#L158" id="L15812021>129lass="sref">RX_FLAG_FFFFFFFFFne" nae11/rx.c#L117" iaX_CONTINUE>flag &aX_CONTINUEtruc lass="sref">freq, l1280211/rx.c#L159" id="L1512802>1260>stalass="sref">freq, l12c80211/rx.c#L160" id="L112c80>128a>-> 160  idwe are in a service period, do nothinga*omment"> * add a radiotap header cont1262sref">l12 so initialise it to 0.<12 so>126 class="sref">cpu_to_ id=cal" class="sretest_s.<_flag="L130" 
flaWLAN_STA_SP/a>->< *l12       */
126>flag &aX_CONTINUEtruc lass="sref">freq, l12                *126+code=pos" class="sref">pos +=1265sref">l12> |= 
flaWLAN_STA_PS_DRIVER>flag &WLAN_STA_PS_DRIVER="ne))"L162" class="line" name="L161266sref">l12           *
l12f">rate->>126" class="sref">flags"2" i    !l12me="L166"> 166      12me=>126f="+code=flags" class"""+cods1
flaWLAN_STA_UAPSD>flag &WLAN_STA_UAPSD="ne)     !l12"line" name="L167"> 167<12"li>126lass="sref">R1    !l12> 168
freq, l12naligned_le16(12>a>->flag &aX_CONTINUEtruc lass="sref">freq, l12" class="sref">pos);12" c>127 clas1    !l12status" class="sref">sta12sta>127><    !l1216()rx_=esult     11/rx.c#L117" idebug_nointus" cL130" pos +=1275sref">l12,
flag &i.c#L116" rx_h s.<_proces"tructs_fcs" class="sref">ha .c#L116" rx_date116{
pos +=1276sref">l12127">sta="L162" class="line" name="L161277sref">l12le16(has.<_info>flag &d.<_infoode=local" class="sres.<>flag &d.<="neO0211/rx.c#L117" i
freq, l12,
hask_buf_local *local,

local,
l12e" class="sref">rate12e" >1279 class="srefs_fcs" class="sref">has_fcs)rx_s.flag &s_fcs)rx_s.flag &d.)SKB_RXCB>flag &IEEEs)SKB_RXCBtruct local,
l12ref">pos);
has_fcs)="net/mac80211/rx.s_fcs)="node=local" class="sre="net/mac80211/rx.="nHAN_O02ts_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="node=lo) local,
{
freq, l12l1211/rx.c#L129" i>        1211/>128 class="sref" id="L154" class="lis.<>flag &d.<="ne)amp; <7b,
l12name="L81">  81
128>flag &aX_CONTINUEtruc lass="sref">freq, l12a>        pos +=1285sref">l12="+code=ieee80211_radiot12="+>1285        stru1e" name="L160"> 160mment"> * add a radiotap header cont12r6sref">l12tus" class="sref">status12tus>128">stane" name="L160"> 160 * add a radiotap header cont12r7sref">l12LAG_MACTIME_MPDU)
128"> 12ne" name="L160"> 160 * add a radiotap header cont12r8sref">l12""net/mac80211/rx.c#L17"12""n>128 name="L157"> 157 whfre othfr STAs=d.
l1211_HW_SIGNAL_DBM)
128"line" name="L158"> 158<<<<<<<<<*omment"> * add a radiotap header cont129"sref">l12" name="L88">  88   12" n>12" ass="sref">R id=cal" class="sre
flag &vifode=.cal" class="sretyp" cL130" )IFTYPE_ADHOC cL130" )IFTYPE_ADHOCHAN_)8="L162" class="line" name="L161291sref">l12="line" name="L90">  90<12="l>12"a>->fla
local,
{
l12S if necessary */12S i>129 class="sref">cpu_to_f="+codeeeeeeeeeeeeeeeeeeeeeeeee11/rx.c#L117" iNLs)IFTYPE_ADHOC cL130" )IFTYPE_ADHOCHAN_) lass="sref">freq, l12ine" name="L91">  9112ine>129>fla
flag &ibs" cla.cal" class="srebssid="L130" l12s->
{
freq, l12>/* HT info */
/*>1295        struuuuuuuuuodeeeeee id=cal" class="srex_fcs)is_date116{
l12" name="L94">  94   12" n>1296class="sref""""""""""""+cods""""""""href="net/mac80s.<>flag &d.<="ne>
{
flag &d.
freq, l12 class="sref">status12 cl>129" class="sref">flagsflag &d.<="ne>
flag &d.
freq, l12FLAG_AMPDU_DETAILS) 12FLA>129f="+code=flags" class"""+cods1    !l12g */
RX_FLAG_F1    !l13="sr
130 ass="sref">R162" i  id="L154" class="lixs_multic="t)ethfr_ad"n116{
l13="line" name="L90">  90<13="l>130a>-> 160mment"> * add a radiotap header cont13=2sref">l13= if necessary */13= i>130a hre" name="L158"> 158<<<<<<<< * add a radiotap header cont13=3sref">l13=ne" name="L91">  9113=ne>130c8021ne" name="L160"> 160
l13=-> 160 * add a radiotap header cont13=5sref">l13=/* HT info */
1305        struuuuuuuuuhref="net/mac80s.<>flag &d.<="ne>
{
freq, l13= name="L94">  94   13= n>1306class="sref""""""""" id=cal" class="srex_fcs)is_date116{
l13=class="sref">status13=cl>130" class="sref">flagsflag &d.<="ne>
{
flag &d.
freq, l13=LAG_AMPDU_DETAILS) 13=LA>130f="+code=flags" classuodecodshref="net/mac80s.<>flag &d.<="ne>
flag &d.
freq, l13= */
RX_FLAG_F1    !l1309" id="L109" class="lin1309">131 ass="sref">R1    !l13the fields which the har13the>131    iamp; <7b,
l13" class="line" name="L1113" c>131 class="sref" id="t flag &d.
flag &rx_flag"="ne8()RX_RA_MATCH>flag &IEEEs)RX_RA_MATCHode=))X_FLAG_AMPDU_DETAILS" class="1313sref">l13ieee80211_add_rx_radiota13iee>131>flag &aX_CONTINUEtruc lass="sref">freq, l13ne" name="L113"> 11313ne">131+code=pos" class="sref">pos +=1305sref">l13 114                13 11>1315class="sref" id=cal" class="sre
flag &vifode=.cal" class="sretyp" cL130" )IFTYPE_STATION>flag &NLs)IFTYPE_STATION="ne)amp; <7b,
l13       int )d.<_rx_notifytruct 
fla="net/mac80211/rx.="nHAN_) lass="sref">freq, l13bool" class="sref">bool<13boo>1317code=pos" class="sref">pos +=1308sref">l13="+code=status" class="s13="+>131f="+code=flaghref="net/mac80s.<>flag &d.<="ne>
flag &rx_frag 160"="ne++ lass="sref">freq, l13> 118        struct 13> 1>131lass="sref">Rhref="net/mac80s.<>flag &d.<="ne>

local,
{
freq, l13ef">rthdr;
132 ass="sref">R id="t flag &d.
flag &aX_FLAG_NO_SIGNAL_VAL="ne)) ="L162" class="line" name="L161321sref">l13c#L120" id="L120" class=13c#L>132a>->flag &d.<="ne>
flag &d.
freq, l13" class="sref">u16 <13" c>132 class="sref">cpu_to_cal" class="sreewma_ad"et/mac80211/rx.ewma_ad"truct(flag &d.<="ne>
flag &d.
freq, l13der *)l13       pos +=1325sref">l13lass="sref">rthdr, 013las>1325        stru1e" name="L160"> 160mment"> * add a radiotap header cont1326sref">l13ef="net/mac80211/rx.c#L113ef=>132">stane" name="L160"> 160 * add a radiotap header cont1327sref">l13d="L126" class="line" na13d=">132"> 12ne" name="L160"> 160
l13  157omment"> * add a radiotap header cont1329sref">l13line" name="L128"> 128132lass="sref">R id="t 
flag &flag"="ne8()HW_AP_LINK_PS>flag &IEEEs)HW_AP_LINK_PS="ne)O(l13line" name="L129"> 129133s" class="sref">s"L154" class="lix_fcs)=as_morefrig">flag &x_fcs)=as_morefrig"truct l13ne" name="L130"> 13013ne">133a>->flag &d.
flag &rx_flag"="ne8()RX_DEFERRED_RELEASE>flag &IEEEs)RX_DEFERRED_RELEASE="ne)O(l13href="+code=it_len" clas13hre>133 class="sref">cpu=cal" class="sre
flag &vifode=.cal" class="sretyp" cL130" )IFTYPE_AP/a>->< *)IFTYPE_APtrucO||ac80211/rx.c#L88" id="L88" cl1333sref">l13ss="sref">cpu_to_le16133>
flag &vifode=.cal" class="sretyp" cL130" )IFTYPE_AP_VLAN>flag &NLs)IFTYPE_AP_VLAN cla)) ="L162" class="line" name="L161334sref">l13133" class="line" name="13133>133pos" class="sref""""" id=cal" class="sretest_s.<_flag="L130" flaWLAN_STA_PS_STA/a>->< *l13">pos = (unsigned ch13">p>1335        struuuuuuuuuodeeeeee1e" name="L160"> 160mment"> * add a radiotap header cont1336sref">l13et/mac80211/rx.c#L135" i13et/>133">stane" name="L160"> 160
 * add a radiotap header cont13l7sref">l13an class="comment">/* th13an >133"> 12ne" name="L160"> 160 * add a radiotap header cont1338sref">l1336"> 136
133 name="L157"> 157 * add a radiotap header cont13l9sref">l13 class="sref">status13 cl>133"line" name="L158"> 158<<<<<<<< * add a radiotap header cont134"sref">l13ed_le64( 158<<<<<<<<
 * add a radiotap header cont1341sref">l13class="line" name="L140"13cla>134    i" name="L158"> 158<<<<<<<<
l13      158<<<<<<<< * add a radiotap header cont13e3sref">l13IOTAP_TSFT);
134>l13142                <13142>134pos" class="sref""""""""""""""""""L154" class="lix_fcs)=as_pm>flag &x_fcs)=as_pmtruct ,
l13="net/mac80211/rx.c#L14313="n>1345        struuuuuuuuuodeeeeeeeeeeeeeehref="net/mac80ap_s.<_ps_end="L130" freq, l134"> 144
>1346class="sref"""""""""162" i ="L162" class="line" name="L161347sref">l13ref">hw.flags,
l137"> 147             137">>134f="+code=flags" classodeeeeeeeeeeeeeehref="net/mac80ap_s.<_ps_s.freq, l13"+code=RX_FLAG_FAILED_FC13"+c>134lass="sref">RX_FLAG_F1    !l139                *135 ass="sref">R1    !l13de=status" class="sref">13de=>135    iamp; <7b,
l13>                *  >135 class="sref"le" name="L160"> 160mment"> * add a radiotap header cont1353sref">l1311_RADIOTAP_F_SHORTPRE135c8021ne" name="L160"> 160 * add a radiotap header cont1354sref">l13"line" name="L152"> 152<13"li>135pos" ne" name="L160"> 160
l1353"> 153
1354" idne" name="L160"> 160 * add a radiotap header cont1356sref">l13 href="+code=status" cla13 hr>1356class="sref" id=cal" class="srex_fcs)is_nullfunc="L130" )is_nullfunctruct l13 class="sref">RX_FLAG_HT13 cl>135" class="sref">flcal" class="srex_fcs)is_qo"_nullfunc="L130" )is_qo"_nullfunctruct l13x.c#L157" id="L157" clas13x.c>135f="+code=flags" class11/rx.c#L117" iIe" _DEBUG_INC cL130" 
freq, l130211/rx.c#L158" id="L15813021>135net/mac80211/rx.c#L88" id="L88" cl136"sref">l1380211/rx.c#L159" id="L1513802>136s" class="sref">statu1e" name="L160"> 160mment"> * add a radiotap header cont1361sref">l13c80211/rx.c#L160" id="L113c80>136    i" name="L158"> 158<<<<<<<< * add a radiotap header cont1362sref">l13 so initialise it to 0.<13 so>136a hre" name="L158"> 158<<<<<<<< * add a radiotap header cont1363sref">l13       */
136c8021ne" name="L160"> 160 * add a radiotap header cont1364sref">l13                *136pos" ne" name="L160"> 160
l13> |=  160 * add a radiotap header cont1366sref">l13           *)=as_a4truct l13f">rate->>136" class="sref">flags"""""=cal" class="sre
flag &vifode=.cal" class="sretyp" cL130" )IFTYPE_AP/a>->< *)IFTYPE_APtrucO||ac80211/rx.c#L88" id="L88" cl1368sref">l13me="L166"> 166      13me=>136f="+code=flags" class"""+c=cal" class="sre
flag &vifode=.cal" class="sretyp" cL130" )IFTYPE_AP_VLAN>flag &NLs)IFTYPE_AP_VLAN claO(l13"line" name="L167"> 167<13"li>136lass="sref">RX_FLAG_FFFFFFF"L154" class="li
l13> 168
statu"""""""" id="L154" class="litest_and_set_s.<_flag="L130" flaWLAN_STA_4ADDR_EVENT="L130" l13naligned_le16(137a>->flacfgs)rx_unexpected_4ad"n_frid=="L130" )rx_unexpected_4ad"n_frid=tructamp; <7b,
l13" class="sref">pos);13" c>137 class="sref">cpu_to_f="+codeeeeeeeeeeeeeeeeeL154" class="li
dev="ne, lass="sref">flas.<>flag &d.<="ne>
{
l13status" class="sref">sta13sta>137>freq, l1316(flag &aX_DROP_MONITORos"  lass="sref">freq, l13,
l131376class="sref"""""""""ce" name="L160"> 160mment"> * add a radiotap header cont1377sref">l13le16( 12ne" name="L160"> 160 * add a radiotap header cont1378sref">l13,
 157
l13e" class="sref">rate13e" >137"line" name="L158"> 158<<<<<<<< * add a radiotap header cont138"sref">l13ref">pos);
statu11/rx.c#L117" is.<>flag &d.<="ne>
freq, l13local,
truct 
local,
l1311/rx.c#L129" i>        1311/>138 class="sref">cpu_to_ne" nae11/rx.c#L117" iaX_QUEUED>flag &aX_QUEUEDtruc lass="sref">freq, l13name="L81">  81
138>l13a>        pos +=1385sref">l13="+code=ieee80211_radiot13="+>1385        strune" nae11/rx.c#L117" iaX_CONTINUE>flag &aX_CONTINUEtruc lass="sref">freq, l13tus" class="sref">status13tus>138">sta}s1e" name="L160"> 160  .c#L116" rx_h s.<_proces"a*omment"> * add a radiotap header cont1387sref">l13LAG_MACTIME_MPDU)
1387code=pos" class="sref">pos +=13r8sref">l13""net/mac80211/rx.c#L17"13""n>138 named.has_fcs)frag 160_160ry="L130" )frag 160_160rycodeg*=pos" class="sref">pos +=13r9sref">l1311_HW_SIGNAL_DBM)
138"line"lass="sref">has_fcs)reSIGemble_ad"et/mac80211/rx.s_fcs)reSIGemble_ad"tructs_fcs" class="sref">has_fcs)sub_if_date116{
l13" name="L88">  88   13" n>139s" class="sref">statu"""""""" unsigned in" class="sref">hafraget/mac80211/rx.frig="ne, unsigned in" class="sref">haseqee80211_hdrseq="ne, in" class="sref">harx_queue="L130" l13="line" name="L90">  90<13="l>13"a>->hask_buf_local *local,
l13S if necessary */13S i>139 clas="L162" class="line" name="L161393sref">l13ine" name="L91">  9113ine>139>has_fcs)frag 160_160ry="L130" )frag 160_160rycodeg*class="sref">ha160ry="L130" freq, l13s->haidx116{
freq, l13>/* HT info */
/*>1395    lass="sref">freq, l13" name="L94">  94   13" n>1396class="sref"class="sref">haidx116{
sdate cla>
freq, l13 class="sref">status13 cl>139" class="srefclass="sref">ha160ry="L130" sdate cla>
flag &frag 160"="ne[1lass="sref">hasdateee80211_hdrsdate cla>
freq, l13FLAG_AMPDU_DETAILS) 13FLA>139f="+code=flag id=cal" class="sresdateee80211_hdrsdate cla>
)FRAGMENT_MAX cL130" )FRAGMENT_MAX="ne)amp; <7b,
l13g */
RX_FLAG_Fcal" class="sresdateee80211_hdrsdate cla>
freq, l14="sr
1400>stalass="sref">freq, l14="line" name="L90">  90<14="l>140a>->
_list="L130" _list="ne))amp; <7b,
l14= if necessary */14= i>140 class="sref">cpu_to_cal" class="sre__skb_queue_purge="L130" 
_list="L130" _list="ne) lass="sref">freq, l14=ne" name="L91">  9114=ne>140><    !l14=->ha__skb_queue_tailet/mac80211/rx.__skb_queue_tailtruct(
_list="L130" _list="ne,local" class="sres">local,
 160 no need for lockinga*omment"> * add a radiotap header cont14=5sref">l14=/* HT info */
1405        struocal" class="sres">local,
flag &NULL cla lass="sref">freq, l14= name="L94">  94   14= n>1406class="sref"class="sref">ha160ry="L130" 
freq, l14=class="sref">status14=cl>140" class="srefclass="sref">ha160ry="L130" 
seq="ne lass="sref">freq, l14=LAG_AMPDU_DETAILS) 14=LA>140f="+code=flaghref="net/mac80160ry="L130" 
freq, l14= */
Rhref="net/mac80160ry="L130" 
freq, l1409" id="L109" class="lin1409">141 ass="sref">Rhref="net/mac80160ry="L130" 
freq, l14the fields which the har14the>1411ass="sref">Rhref="net/mac80160ry="L130" 
freq, l14" class="line" name="L1114" c>141 claslass="sref">freq, l14ieee80211_add_rx_radiota14iee>141>freq, l14ne" name="L113"> 11314ne">141+code1    !l14 114                14 11>1415    lass="sref">freq, l14       int has_fcs)frag 160_160ry="L130" )frag 160_160rycodeg*=pos" class="sref">pos +=1407sref">l14bool" class="sref">bool<14boo>1417code"lass="sref">has_fcs)reSIGemble_find="L130" )reSIGemble_findtructs_fcs" class="sref">has_fcs)sub_if_date116{
l14="+code=status" class="s14="+>141f="+code=flags" classodeeeeeeeeunsigned in" class="sref">hafraget/mac80211/rx.frig="ne, unsigned in" class="sref">haseqee80211_hdrseq="ne,"L162" class="line" name="L161409sref">l14> 118        struct 14> 1>141lass="sref">RX_FLAG_FFFFFFF hre n" class="sref">harx_queue="L130" has_fcs)="net/mac80211/rx.s_fcs)="node=local" class="sre="net/mac80211/rx.="nHAN_)amp; <7b,
l14ef">rthdr;
142 ass=="L162" class="line" name="L161421sref">l14c#L120" id="L120" class=14c#L>142a>->has_fcs)frag 160_160ry="L130" )frag 160_160rycodeg*class="sref">ha160ry="L130" freq, l14" class="sref">u16 <14" c>142 class="sref"in" class="sref">hai="L130" haidx116{
freq, l14der *)l14       haidx116{
sdate cla>
freq, l14lass="sref">rthdr, 014las>1425        strufor =cal" class="srex="L130" hai="L130" )FRAGMENT_MAX cL130" )FRAGMENT_MAX="ne  class="sref">hai="L130" l14ef="net/mac80211/rx.c#L114ef=>1426class="sref"""""""""s_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="node=local" class="sref)="net/mac80211/rx.f)="node= lass="sref">freq, l14d="L126" class="line" na14d=">1427code=pos" class="sref">pos +=1428sref">l14 {
freq, l14line" name="L128"> 128142lass="sref">RX_FLAG_F id=cal" class="srexdx116{
,
l14line" name="L129"> 129143s" class="sref">sflags" class11/rx.c#L117" iidx116{
)FRAGMENT_MAX cL130" )FRAGMENT_MAX="ne - 1 lass="sref">freq, l14ne" name="L130"> 13014ne">143    iamp; <7b,
l14href="+code=it_len" clas14hre>143 class="sref">cpulass11/rx.c#L117" i160ry="L130" sdate cla>
flag &frag 160"="ne[1lass="sref">haidx116{
freq, l14ss="sref">cpu_to_le16143>
_list="L130" _list="ne) ||fclass="sref">ha160ry="L130" 
seq="neO||ac80211/rx.c#L88" id="L88" cl1434sref">l14133" class="line" name="14133>143pos" class="sref"""""lass11/rx.c#L117" i160ry="L130" 
l14">pos = (unsigned ch14">p>1435        struuuuuuuuuodeehref="net/mac80160ry="L130" 
l14et/mac80211/rx.c#L135" i14et/>1436class="sref""""""""""""+codscontinue lass="sref">freq, l14an class="comment">/* th14an >1437code=pos" class="sref">pos +=1438sref">l1436"> 136
143f="+code=flags" class11/rx.c#L117" if)="net/mac80211/rx.f)="node=O02ts_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="node=lo) 
_list="L130" _list="ne.cal" class="srenext="L130" 
freq, l14 class="sref">status14 cl>143net/mac80211/rx.c#L88" id="L88" cl144"sref">l14ed_le64(statu1e" name="L160"> 160mment"> * add a radiotap header cont1441sref">l14class="line" name="L140"14cla>144    i" name="L158"> 158<<<<<<<< * add a radiotap header cont1442sref">l14      158<<<<<<<< * add a radiotap header cont14e3sref">l14IOTAP_TSFT);
144>l14142                <14142>144pos" class="sref""""""""""href="net/mac80cpu_to_le       int a hrefcpu_to_le  truct11/rx.c#L117" iIEEEs)FCTL_FTYPE cL130" )FCTL_FTYPE="ne))O||ac80211/rx.c#L88" id="L88" cl1445sref">l14="net/mac80211/rx.c#L14314="n>1445        struuuuuuuuuodee"L154" class="liethfr_ad"n_equalet/mac80211/rx.ethfr_ad"n_equaltruct haf)="net/mac80211/rx.f)="node=OTAP_F_BADFCS" classad"n1et/mac80211/rx.ad"n1="ne)O||ac80211/rx.c#L88" id="L88" cl1446sref">l144"> 144
>1446class="sref"""""""""odee"L154" class="liethfr_ad"n_equalet/mac80211/rx.ethfr_ad"n_equaltruct haf)="net/mac80211/rx.f)="node=OTAP_F_BADFCS" classad"n2et/mac80211/rx.ad"n2="ne))amp; <7b,
l14ref">hw.flagsfreq, l147"> 147             147">>144f="+class="sref">freq, l14"+code=RX_FLAG_FAILED_FC14"+c>144lass="sref">RX_FLAG_F id=cal" class="sretid=_aftenet/mac80211/rx.tid=_aftentruct ha160ry="L130" 
l149                *145s" class="sref">sflags" class11/rx.c#L117" i__skb_queue_purge="L130" 
_list="L130" _list="ne) lass="sref">freq, l14de=status" class="sref">14de=>145a>->freq, l14>                *  >145 class="sref">cpulass1    !l1411_RADIOTAP_F_SHORTPRE145>freq, l14"line" name="L152"> 152<14"li>145pos" class="s1    !l1453"> 153
1455    lass="sref">freq, l14 href="+code=status" cla14 hr>1456class="sref"ne" nae11/rx.c#L117" iNULL>flag &NULL cla lass="sref">freq, l14 class="sref">RX_FLAG_HT14 cl>145" cla1    !l14x.c#L157" id="L157" clas14x.c>145f="+class="sref">freq, l140211/rx.c#L158" id="L15814021>145net/md.freq, l1480211/rx.c#L159" id="L1514802>146s" cl1has_fcs)rx_date116{
,
l14c80211/rx.c#L160" id="L114c80>146    i="L162" class="line" name="L161462sref">l14 so initialise it to 0.<14 so>146 class="sref"s_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="node=local" class="sre="net/mac80211/rx.="nHAN_ lass="sref">freq, l14       */
146>freq, l14                *1464 class="srefclass="sref">ha__le       int a href__le  trucgclass="sref">hafc="L130" freq, l14> |= hafraget/mac80211/rx.frig="ne, 11/rx.c#L117" iseqee80211_hdrseq="ne lass="sref">freq, l14           *has_fcs)frag 160_160ry="L130" )frag 160_160rycodeg*class="sref">ha160ry="L130" freq, l14f">rate->>146" class="srefs_fcs" class="sref">hask_buf_local *="L130" code lass="sref">freq, l14me="L166"> 166      14me=>146f="+code=flags_fcs" class="sref">has_fcs)rx_s.flag &s_fcs)rx_s.flag &d.freq, l14"line" name="L167"> 167<14"li>146net/mac80211/rx.c#L88" id="L88" cl147"sref">l14> 168
Rhref="net/mac80="net/mac80211/rx.="nHAN_O02ts_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="node=lo) 
local,
{
freq, l14naligned_le16(1471ass="sref">Rhref="net/mac80fc="L130" freq, l14" class="sref">pos);14" c>147 claslass="sref">freq, l14status" class="sref">sta14sta>147>,
l1416(flag &aX_CONTINUEtruc lass="sref">freq, l14,
freq, l141476class="sref"class="sref">hasc="L130" freq, l14le16(hafraget/mac80211/rx.frig="net0211/rx.c#L117" isc="L130" )SCTL_FRAG cL130" )SCTL_FRAGtruc lass="sref">freq, l14,
freq, l14e" class="sref">rate14e" >147lass="sref">R id=11/rx.c#L117" ilikely="L130" flag &x_fcs)=as_morefrig"truct hafraget/mac80211/rx.frig="net0= 0)O||ac80211/rx.c#L88" id="L88" cl148"sref">l14ref">pos);
staturefclass="sref">hais_multicast)ethfr_ad"n>flag &xs_multicast)ethfr_ad"ntruct l14 160 not frag 160ed *omment"> * add a radiotap header cont14r2sref">l1411/rx.c#L129" i>        1411/>148 class="sref">cpu_to_gotofclass="sref">haou0="L130" freq, l14name="L81">  81
148>l14a>        haIe" _DEBUG_INC cL130" 
flag &rx_handlers_frag 160"="ne) lass="sref">freq, l14="+code=ieee80211_radiot14="+>1485    lass="sref">freq, l14tus" class="sref">status14tus>1486class="sref" id=cal" class="sres">_lineariz" cL130" _lineariz"truct 
local,
l14LAG_MACTIME_MPDU)
148" class="sref">flagsflag &aX_DROP_UNUSABLEtruc lass="sref">freq, l14""net/mac80211/rx.c#L17"14""n>148f="+class="sref">freq, l1411_HW_SIGNAL_DBM)
148lass="sref">Rhe" name="L160"> 160mment"> * add a radiotap header cont149"sref">l14" name="L88">  88   14" n>149s" cl" name="L158"> 158<<<<<<<<<*ags">_lineariz"() might change thftskb>
 * add a radiotap header cont1491sref">l14="line" name="L90">  90<14="l>149    i" name="L158"> 158<<<<<<<<<*agpreviously cached variables (inathis case, ="n) need tomment"> * add a radiotap header cont1492sref">l14S if necessary */14S i>149a hre" name="L158"> 158<<<<<<<<<*agbe refreshed with thftnew datehere is needed as padding
l14ine" name="L91">  9114ine>149c8021ne" name="L160"> 160 * add a radiotap header cont1494sref">l14s->ha="net/mac80211/rx.="nHAN_O02ts_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="node=lo) 
local,
{
freq, l14>/* HT info */
/*>1495 class="srefclass="sref">haseqee80211_hdrseq="net02=cal" class="sresc="L130" )SCTL_SEQ cL130" )SCTL_SEQHAN_)O(freq, l14" name="L94">  94   14" n>1496claslass="sref">freq, l14 class="sref">status14 cl>149" class="sref id=cal" class="srefraget/mac80211/rx.frig="net0= 0)O="L162" class="line" name="L161498sref">l14FLAG_AMPDU_DETAILS) 14FLA>149f="+code=flags" class1e" name="L160"> 160 This is=thftfirst frag 160 of atnew frid=.a*omment"> * add a radiotap header cont1499sref">l14g */
RX_FLAG_Fcal" class="sre160ry="L130" has_fcs)reSIGemble_ad"et/mac80211/rx.s_fcs)reSIGemble_ad"truct 
hafraget/mac80211/rx.frig="ne, 11/rx.c#L117" iseqee80211_hdrseq="ne,"L162" class="line" name="L1615="sref">l15="sr
150s" class="sref">statu""""""""                          

local,
freq, l15="line" name="L90">  90<15="l>150a>->


freq, l15= if necessary */15= i>150 class="sref">cpu_to_     l15=ne" name="L91">  9115=ne>150>haqueue="L130" 
freq, l15=-> 160 Store CCMP PN so that we can verify that thftnex0mment"> * add a radiotap header cont15=5sref">l15=/* HT info */
1504" idne" name="L160"> 160 * add a radiotap header cont15=6sref">l15= name="L94">  94   15= n>1506class="sref""""""""""""+codscal" class="sre160ry="L130" 
freq, l15=class="sref">status15=cl>150" class="sref">flags
l15=LAG_AMPDU_DETAILS) 15=LA>150f="+code=flags" classodeeeeeeeeeaaaahref="net/mac80

haqueue="L130" l15= */
RX_FLAG_Fodeeeeeeeeeaaaahref="net/mac80CCMP_PN_LEN>flag &CCMP_PN_LEN="ne) lass="sref">freq, l1509" id="L109" class="lin1509">151s" class="sref">statu1    !l15the fields which the har15the>151a>->flag &aX_QUEUEDtruc lass="sref">freq, l15" class="line" name="L1115" c>151 class="sref"1    !l15ieee80211_add_rx_radiota15iee>151><    !l15ne" name="L113"> 11315ne">1514 class="srefce" name="L160"> 160 This is=a frag 160 for atfrid=athat should alreSdygbe pendingainmment"> * add a radiotap header cont1505sref">l15 114                15 11>1514" idne" name="L160"> 160
l15       int  160 * add a radiotap header cont1507sref">l15bool" class="sref">bool<15boo>151" class="srefclass="sref">ha160ry="L130" has_fcs)reSIGemble_find="L130" )reSIGemble_findtruct 
hafraget/mac80211/rx.frig="ne, 11/rx.c#L117" iseqee80211_hdrseq="ne,"L162" class="line" name="L161508sref">l15="+code=status" class="s15="+>151f="+code=flags" classodeeeeeeeeFodeeeeeeeeeaaaahref="net/mac80
ha="net/mac80211/rx.="nHAN_) lass="sref">freq, l15> 118        struct 15> 1>151lass="sref">R id="L154" class="lie60ry="L130" l15ef">rthdr;
152s" class="sref">statu11/rx.c#L117" iIe" _DEBUG_INC cL130" 
flag &rx_handlers_drop_defragHAN_) lass="sref">freq, l15c#L120" id="L120" class=15c#L>152a>->flag &aX_DROP_MONITORos"  lass="sref">freq, l15" class="sref">u16 <15" c>152 class="sref"1    !l15der *)l15        160 Verify that MPDUs within one MSDU haveesequential PN valu=shere is needed as padding
l15lass="sref">rthdr, 015las>1524" idne" name="L160"> 160 * add a radiotap header cont1526sref">l15ef="net/mac80211/rx.c#L115ef=>1526class="sref" id=cal" class="sre160ry="L130" 
l15d="L126" class="line" na15d=">152" class="sref">flagshai="L130" freq, l15 {
haCCMP_PN_LEN>flag &CCMP_PN_LEN="ne],local" class="srerpn116{
freq, l15line" name="L128"> 128152lass="sref">RX_FLAG_F n" class="sref">haqueue="L130" freq, l15line" name="L129"> 129153s" class="sref">sflag id="L154" class="li
ha

->< *,
l15ne" name="L130"> 13015ne">153a>->flag &aX_DROP_UNUSABLEtruc lass="sref">freq, l15href="+code=it_len" clas15hre>153 class="sref">cpulass11/rx.c#L117" imemcpy="L130" ha160ry="L130" 
freq, l15ss="sref">cpu_to_le16153>flag &CCMP_PN_LEN="ne - 1  class="sref">hai="L130" hai="L130" l15133" class="line" name="15133>153pos" class="sref"""""lasslass11/rx.c#L117" ipn116{
hai="L130" freq, l15">pos = (unsigned ch15">p>1535        struuuuuuuuuodeeflag id=11/rx.c#L117" ipn116{
hai="L130" ,
l15et/mac80211/rx.c#L135" i15et/>1536class="sref""""""""""""+codsssssssssbreSk lass="sref">freq, l15an class="comment">/* th15an >153" class="sref">flags<1    !l1536"> 136
153f="+code=flags" class11/rx.c#L117" iqueue="L130" 
freq, l15 class="sref">status15 cl>153lass="sref">RX_FLAG_Fcal" class="srerpn116{


haqueue="L130" freq, l15ed_le64(statu id=11/rx.c#L117" imemcmp="L130" harpn116{
,
l15class="line" name="L140"15cla>154a>->flag &aX_DROP_UNUSABLEtruc lass="sref">freq, l15     cpulass11/rx.c#L117" imemcpy="L130" 
haCCMP_PN_LEN>flag &CCMP_PN_LEN="ne) lass="sref">freq, l15IOTAP_TSFT);
154>l15142                <15142>154+code=pos" class="sref">pos +=1545sref">l15="net/mac80211/rx.c#L14315="n>1545 class="srefclass="sref">haskb_pullet/mac80211/rx.skb_pulltruct 
local,
hai_fcs)="nlen116{
)="nlentruct freq, l154"> 144
>1546class="sref"class="sref">ha__skb_queue_tailet/mac80211/rx.__skb_queue_tailtruct(
_list="L130" _list="ne,l 
local,
freq, l15ref">hw.ha160ry="L130" 
freq, l157"> 147             157">>154f="+code=flaghref="net/mac80160ry="L130" 

local,
{
freq, l15"+code=RX_FLAG_FAILED_FC15"+c>154lass="sref">R id=class="sref">hai_fcs)=as_morefrig">flag &x_fcs)=as_morefrig"truct l159                *155s" class="sref">sflag11/rx.c#L117" i
local,
flag &NULL cla lass="sref">freq, l15de=status" class="sref">15de=>155a>->flag &aX_QUEUEDtruc lass="sref">freq, l15>                *  >155 class="sref"1    !l1511_RADIOTAP_F_SHORTPRE155><    !l15"line" name="L152"> 152<15"li>1554 class="srefclass="sref">ha
local,

_list="L130" _list="ne) lass="sref">freq, l1553"> 153
1555ass="sref">R id=class="sref">has">_tailroom="L130" _tailroomtruct 
local,

l15 href="+code=status" cla15 hr>1556class="sref"""""""""11/rx.c#L117" iIe" _DEBUG_INC cL130" 
freq, l15 class="sref">RX_FLAG_HT15 cl>155" class="sref">flagshaunlikely="L130" 
local,
ha160ry="L130" 
l15x.c#L157" id="L157" clas15x.c>155f="+code=flags" classodeeeeeeeeFodeeeeeeeeeaaaa""""11/rx.c#L117" iGFP_ATOMIC cL130" l150211/rx.c#L158" id="L15815021>155lass="sref">RX_FLAG_Fodeeeeee11/rx.c#L117" iIe" _DEBUG_INC cL130" 
flag &rx_handlers_drop_defragHAN_) lass="sref">freq, l1580211/rx.c#L159" id="L1515802>156s" class="sref">sflags" class11/rx.c#L117" i__skb_queue_purge="L130" 
_list="L130" _list="ne) lass="sref">freq, l15c80211/rx.c#L160" id="L115c80>156a>->flag &aX_DROP_UNUSABLEtruc lass="sref">freq, l15 so initialise it to 0.<15 so>156 class="sref">cpulass1    !l15       */
156>l15                *1564 class="srefwhile (t local,

_list="L130" _list="ne)))O="L162" class="line" name="L161565sref">l15> |= _pu0truct 
local,
has">local,
{
has">local,
{
has">local,
{
freq, l15           *local,
truct freq, l15f">rate->>156" class="sref1    !l15me="L166"> 166      15me=>156f="+class="sref">freq, l15"line" name="L167"> 167<15"li>156lass="sref">Rhe" name="L160"> 160 Completetfrid=ahas been reSIGembled - process it nowa*omment"> * add a radiotap header cont157"sref">l15> 168
Rhref="net/mac80s.flag &d.)SKB_RXCB cL130" )SKB_RXCBtruct 
local,
freq, l15naligned_le16(1571ass="sref">Rhref="net/mac80s.flag &d.
flag &rx_flig"ass="|0211/rx.c#L117" iIEEEs)aX_FRAGMENTED>flag &IEEEs)aX_FRAGMENTEDtruc lass="sref">freq, l15" class="sref">pos);15" c>157 claslass="sref">freq, l15status" class="sref">sta15sta>157>freq, l1516(
l15,

flag &rx_packe0" cla++ lass="sref">freq, l151576class="sref" id=cal" class="sreis_multicast)ethfr_ad"n>flag &xs_multicast)ethfr_ad"ntruct freq, l15le16(flags< 
freq, l15,
freq, l15e" class="sref">rate15e" >157lass="sref">RX_FLAG_Fcal" class="srex_fcs)led_)led_
freq, l15ref">pos);
flag &aX_CONTINUEtruc lass="sref">freq, l15l1511/rx.c#L129" i>        1511/>158 claslass="sref">freq, l15name="L81">  81
158>freq, l15a>        )e" _1x_port_controltructs_fcs" class="sref">has_fcs)rx_date116{
,
l15="+code=ieee80211_radiot15="+>1585    ="L162" class="line" name="L1615r6sref">l15tus" class="sref">status15tus>1586class="sref" id=cal" class="sreunlikely="L130" 
l15LAG_MACTIME_MPDU)
158" class="sref">fl"L154" class="litest)ste_fligee80211_hdrtest)ste_fligtruct 
haWLAN_STA_AUTHORIZED>flag &WLAN_STA_AUTHORIZED="ne)))ac80211/rx.c#L88" id="L88" cl1588sref">l15""net/mac80211/rx.c#L17"15""n>158f="+code=flags" classne" nae-class="sref">haEACCES>flag &EACCEStruc lass="sref">freq, l1511_HW_SIGNAL_DBM)
158net/mac80211/rx.c#L88" id="L88" cl159"sref">l15" name="L88">  88   15" n>159s" class="srene" nae0 lass="sref">freq, l15="line" name="L90">  90<15="l>159a>-&g1    !l15S if necessary */15S i>159 claslass="sref">freq, l15ine" name="L91">  9115ine>159>freq, l15s->has_fcs)rx_date116{
ha__le       int a href__le  trucgclass="sref">hafc="L130" l15>/* HT info */
/*>1595    ="L162" class="line" name="L1615s6sref">l15" name="L94">  94   15" n>1596class="sref"s_fcs" class="sref">hask_buf_local *="L130" codeO0211/rx.c#L117" i
="L130" code lass="sref">freq, l15 class="sref">status15 cl>159" class="srefs_fcs" class="sref">has_fcs)rx_s.flag &s_fcs)rx_s.flag &d.)SKB_RXCB cL130" )SKB_RXCBtruct local,
freq, l15FLAG_AMPDU_DETAILS) 15FLA>159f="+class="sref">freq, l15g */
Rhe" name="L160"> 160mment"> * add a radiotap header cont16="sref">l16="sr
160s" cl" name="L158"> 158<<<<<<<<<*aPL15 through unencryptedtfrid=s" idthfthardware hasmment"> * add a radiotap header cont16=1sref">l16="line" name="L90">  90<16="l>160    i" name="L158"> 158<<<<<<<<<*adecryptedtthfm alreSdyhere is needed as padding
l16= if necessary */16= i>160a hre" name="L158"> 158<<<<<<<<<*omment"> * add a radiotap header cont16=3sref">l16=ne" name="L91">  9116=ne>160>has.flag &d.
flag &aX_FLAG_DECRYPTEDHAN_)ac80211/rx.c#L88" id="L88" cl16=4sref">l16=->freq, l16=/* HT info */
1605    lass="sref">freq, l16= name="L94">  94   16= n>1606class="sref"he" name="L160"> 160 Drop unencryptedtfrid=s" idkey is=set.a*omment"> * add a radiotap header cont16=7sref">l16=class="sref">status16=cl>160" class="sref id=cal" class="sreunlikely="L130" freq, l16=LAG_AMPDU_DETAILS) 16=LA>160f="+code=flags" classodeee"L154" class="lix_fcs)is_nullfunc="L130" )is_nullfunctruct freq, l16= */
RX_FLAG_FodeeeL154" class="lix_fcs)is_date116{
freq, l1609" id="L109" class="lin1609">161s" class="sref">statuuuuuu=cal" class="sre
ha
flag &drop_unencryptedtruc)))ac80211/rx.c#L88" id="L88" cl1611sref">l16the fields which the har16the>161a>->haEACCES>flag &EACCEStruc lass="sref">freq, l16" class="line" name="L1116" c>161 claslass="sref">freq, l16ieee80211_add_rx_radiota16iee>161>freq, l16ne" name="L113"> 11316ne">1614 cla1    !l16 114                16 11>1615    lass="sref">freq, l16       int freq, l16bool" class="sref">bool<16boo>161" clacal" class="srex_fcs)drop_unencrypted_mgm0="L130" has_fcs)rx_date116{
,
l16="+code=status" class="s16="+>161f="+c="L162" class="line" name="L161619sref">l16> 118        struct 16> 1>161lass="sref">Rs_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="node=local" class="sre="net/mac80211/rx.="nHAN_O02ts_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="node=lo) 
local,
{
freq, l16ef">rthdr;
162s" class="sres_fcs" class="sref">has_fcs)rx_s.flag &s_fcs)rx_s.flag &d.)SKB_RXCB cL130" )SKB_RXCBtruct 
local,
freq, l16c#L120" id="L120" class=16c#L>1621ass="sref">Rhref="net/mac80__le       int a href__le  trucgclass="sref">hafc="L130" freq, l16" class="sref">u16 <16" c>162 claslass="sref">freq, l16der *) 160mment"> * add a radiotap header cont1624sref">l16        158<<<<<<<<<*aPL15 through unencryptedtfrid=s" idthfthardware hasmment"> * add a radiotap header cont1625sref">l16lass="sref">rthdr, 016las>1624" idne" name="L160"> 160
l16ef="net/mac80211/rx.c#L116ef=>162 trucne" name="L160"> 160 * add a radiotap header cont1627sref">l16d="L126" class="line" na16d=">162" class="sref id=cal" class="sres.flag &d.
flag &aX_FLAG_DECRYPTEDHAN_)ac80211/rx.c#L88" id="L88" cl1628sref">l16 freq, l16line" name="L128"> 128162net/mac80211/rx.c#L88" id="L88" cl163"sref">l16line" name="L129"> 129163s" class="sre id=cal" class="sre
test)ste_fligtruct 
haWLAN_STA_MFP/a>->< *l16ne" name="L130"> 13016ne">163a>->freq, l16href="+code=it_len" clas16hre>163 class="sref">cpulasssssssssssssssL154" class="lix_fcs)is_unicast)robust)mgm0_frid=116{

local,
freq, l16ss="sref">cpu_to_le16163>
l16133" class="line" name="16133>163pos" class="sref"""""lasslass id=cal" class="srex_fcs)is_deauth116{
l16">pos = (unsigned ch16">p>1635        struuuuuuuuuodeeflagssssssssL154" class="licfgL116" send_unprot_deauth116{

{
l16et/mac80211/rx.c#L135" i16et/>1636class="sref""""""""""""+codsssssssss href="+codeG_FsssssssssssssL154" class="li
local,
{
l16an class="comment">/* th16an >163" class="sref">flags<"""+codsssssssss href="+codeG_FsssssssssssssL154" class="li
local,
{
freq, l1636"> 136
163f="+code=flags" classssssssss2" is id=cal" class="srex_fcs)is_dis36)is_dis36l16 class="sref">status16 cl>163lass="sref">RX_FLAG_FG_FsssssssssssssL154" class="licfgL116" send_unprot_dis36
{
l16ed_le64(status<"""+codsssssssss href="+codeG_FsssssssssssssL154" class="li
local,
{
l16class="line" name="L140"16cla>164a>->
local,
{
freq, l16     cpulassssssssssne" nae-class="sref">haEACCES>flag &EACCEStruc lass="sref">freq, l16IOTAP_TSFT);
164>l16142                <16142>164pos" class="sref"""""he" name="L160"> 160 BIP does not u isProtected field, so need to check MMIEa*omment"> * add a radiotap header cont1645sref">l16="net/mac80211/rx.c#L14316="n>1645        struuuuuuuuuiid=class="sref">haunlikely="L130" 
local,
freq, l164"> 144
>1646class="sref""""""""""""+codssssss 
local,
l16ref">hw.flags<"""+cods id=cal" class="srex_fcs)is_deauth116{
l167"> 147             167">>164f="+code=flags" classssssssssodssssss {

{
l16"+code=RX_FLAG_FAILED_FC16"+c>164lass="sref">RX_FLAG_FG_Fsssssssssssssflags" classssssssssodssssss 
local,
{
l169                *165s" class="sref">sflagG_Fsssssssssssssflags" classssssssssodssssss 
local,
{
freq, l16de=status" class="sref">16de=>165a>->)is_dis36l16>                *  >165 class="sref">cpulassssssssssssssssss 
{
l1611_RADIOTAP_F_SHORTPRE165>
local,
{
l16"line" name="L152"> 152<16"li>165pos" class="sref"""""lasslassssssssssssflags" classssssssssodssssss 
local,
{
freq, l1653"> 153
1655        struuuuuuuuuodeeflagne" nae-class="sref">haEACCES>flag &EACCEStruc lass="sref">freq, l16 href="+code=status" cla16 hr>1656class="sref"""""""""1    !l16 class="sref">RX_FLAG_HT16 cl>165" class="sref">flags 160mment"> * add a radiotap header cont1658sref">l16x.c#L157" id="L157" clas16x.c>165f="+cne" name="L160"> 160 * add a radiotap header cont1659sref">l160211/rx.c#L158" id="L15816021>165lass=ne" name="L160"> 160
l1680211/rx.c#L159" id="L1516802>166s" cl" name="L158"> 158<<<<<<<< * add a radiotap header cont1661sref">l16c80211/rx.c#L160" id="L116c80>166a>->haunlikely="L130" )is_actiontruct 
freq, l16 so initialise it to 0.<16 so>166 class="sref">cpulass"sref">flagsfreq, l16       */
166>has_fcs)="net/mac80211/rx.s_fcs)="node=lo)s 
local,
{
l16                *166pos" class="sref"""""lasslassne" nae-class="sref">haEACCES>flag &EACCEStruc lass="sref">freq, l16> |= l16           *l16f">rate->>166" class="srefne" nae0 lass="sref">freq, l16me="L166"> 166      16me=>166f="+c1    !l16"line" name="L167"> 167<16"li>166net/mac80211/rx.c#L88" id="L88" cl167"sref">l16> 168
freq, l16naligned_le16(1671ass=class="sref">ha__i.c#L116" date_to)e" 3>flag &__i.c#L116" date_to)e" 3tructs_fcs" class="sref">has_fcs)rx_date116{
haboolet/mac80211/rx.boolode=local" class="sreport_controlet/mac80211/rx.port_controltruc)ac80211/rx.c#L88" id="L88" cl1672sref">l16" class="sref">pos);16" c>167 clas="L162" class="line" name="L161673sref">l16status" class="sref">sta16sta>167>has_fcs)sub_if_date116{

freq, l1616(has_fcs)="net/mac80211/rx.s_fcs)="node=local" class="sre="net/mac80211/rx.="nHAN_O02ts_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="node=lo) 
local,
{
freq, l16,
haboolet/mac80211/rx.boolode=l {
freq, l161676class="sref"s_fcs" class="sref">haeth="net/mac80211/rx.eth="node=local" class="sree="net/mac80211/rx.e="node= lass="sref">freq, l16le16(hane"="L130" freq, l16,
freq, l16e" class="sref">rate16e" >167lass="sref">Rocal" class="sreport_controlet/mac80211/rx.port_controltrucO0211/rx.c#L117" ifals=116{
freq, l16ref">pos);
freq, l16 *)IFTYPE_AP_VLAN>flag &NLs)IFTYPE_AP_VLANHAN_O(l1611/rx.c#L129" i>        1611/>168 class="sref">cpulassne" nae-1hlass="sref">freq, l16name="L81">  81
168><    !l16a>         *)IFTYPE_STATION>flag &NLs)IFTYPE_STATIONHAN_O(freq, l16="+code=ieee80211_radiot16="+>1685        struuuuu!"L154" class="lisdateee80211_hdrsdate cla>
flag &use_4ad"n     !=u!"L154" class="lix_fcs)=as_a4et/mac80211/rx.s_fcs)=as_a4truct l16tus" class="sref">status16tus>1686clas    !l16LAG_MACTIME_MPDU)
168" class="sref">fls="s id="L154" class="lisdateee80211_hdrsdate cla>
flag &use_4ad"n    )amp; <7b,
l16""net/mac80211/rx.c#L17"16""n>168f="+code=flags" class>cpulassne" nae-1hlass="sref">freq, l1611_HW_SIGNAL_DBM)
168lass="sref">RX_FLAG_F2" ilass="sref">freq, l16" name="L88">  88   16" n>169s" class="sref">sflags" class11/rx.c#L117" icheck_port_controlet/mac80211/rx.check_port_control claO0211/rx.c#L117" i_fc=116{
freq, l16="line" name="L90">  90<16="l>169a>->l16S if necessary */16S i>169 claslass="sref">freq, l16ine" name="L91">  9116ine>169>hais_multicast)ethfr_ad"n>flag &xs_multicast)ethfr_ad"ntruct freq, l16s-> *)IFTYPE_AP_VLAN>flag &NLs)IFTYPE_AP_VLANHAN_O(l16>/* HT info */
/*>1695        struuuuuuuuune" nae-1hlass="sref">freq, l16" name="L94">  94   16" n>1696clas    !l16 class="sref">status16 cl>169" class="srefclass="sref">hane"="L130" flag &i.c#L116" date_to)e" 3truct 
local,
hasdateee80211_hdrsdate cla>
flag &ad"ntruc,gclass="sref">hasdateee80211_hdrsdate cla>
freq, l16FLAG_AMPDU_DETAILS) 16FLA>1698gt;hane"="L130" freq, l16g */
RX_FLAG_Fne" nae11/rx.c#L117" ine"="L130" freq, l17="sr
170s" cllass="sref">freq, l17="line" name="L90">  90<17="l>1701ass="sref">Rhref="net/mac80e="net/mac80211/rx.e="node=O02ts_fcs" class="sref">haeth="net/mac80211/rx.eth="node=lo)s 
local,
{
freq, l17= if necessary */17= i>1702gt;hae="net/mac80211/rx.e="node=>

,
l17=ne" name="L91">  9117=ne>170>{
freq, l17=->l17=/* HT info */
1705        struuuuuuuuune" nae-1hlass="sref">freq, l17= name="L94">  94   17= n>1706clas    !l17=class="sref">status17=cl>170" class="srefne" nae0 lass="sref">freq, l17=LAG_AMPDU_DETAILS) 17=LA>170f="+c1    !l17= */
l1709" id="L109" class="lin1709">171s" cl" name="L158"> 158a>mment"> * add a radiotap header cont1711sref">l17the fields which the har17the>171    i" name="L158"> 158<*fnequire5 that rx>
 * add a radiotap header cont1712sref">l17" class="line" name="L1117" c>171a hre" name="L158"> 158<*omment"> * add a radiotap header cont1713sref">l17ieee80211_add_rx_radiota17iee>171>haboolet/mac80211/rx.boolode=l flag &i.c#L116" frid=_allowedtructs_fcs" class="sref">has_fcs)rx_date116{
ha__le       int a href__le  trucgclass="sref">hafc="L130" l17ne" name="L113"> 11317ne">1714 cla="L162" class="line" name="L161705sref">l17 114                17 11>1715        strud.hau8="L130" hapae_group_ad"n>flag &pae_group_ad"ntruc[class="sref">haETH_ALEN>flag &ETH_ALENtruc]gclass="sref">ha__aligned>flag &__alignedtruct2)ac80211/rx.c#L88" id="L88" cl1706sref">l17       int freq, l17bool" class="sref">bool<17boo>171" class="srefs_fcs" class="sref">haeth="net/mac80211/rx.eth="node=local" class="sree="net/mac80211/rx.e="node=O02ts_fcs" class="sref">haeth="net/mac80211/rx.eth="node=lo)s 
local,
{
freq, l17="+code=status" class="s17="+>171f="+class="sref">freq, l17> 118        struct 17> 1>171lass="sref">Rhe" name="L160"> 160mment"> * add a radiotap header cont172"sref">l17ef">rthdr;
172s" cl" name="L158"> 158<<<<<<<<<*aAllow EAPOLtfrid=s"to us/thftPAE group ad"ness regardlessmment"> * add a radiotap header cont1721sref">l17c#L120" id="L120" class=17c#L>172    i" name="L158"> 158<<<<<<<<<*aof whethfrdthftfrid=awas encryptedtor nothere is needed as padding
l17" class="sref">u16 <17" c>172a hre" name="L158"> 158<<<<<<<<<*omment"> * add a radiotap header cont1723sref">l17der *)hae="net/mac80211/rx.e="node=>

freq, l17       haethfr_ad"n_equalet/mac80211/rx.ethfr_ad"n_equaltruct ha
 *flag &ad"ntruc)O||ac80211/rx.c#L88" id="L88" cl1725sref">l17lass="sref">rthdr, 017las>1725        struuuuuuclass="sref">haethfr_ad"n_equalet/mac80211/rx.ethfr_ad"n_equaltruct hapae_group_ad"n>flag &pae_group_ad"ntruc)))ac80211/rx.c#L88" id="L88" cl1726sref">l17ef="net/mac80211/rx.c#L117ef=>1726class="sref"""""""""ne" nae11/rx.c#L117" i_fc=116{
freq, l17d="L126" class="line" na17d=">172" clalass="sref">freq, l17 hax_fcs)e" _1x_port_controlet/mac80211/rx.x_fcs)e" _1x_port_controltructclass="sref">hal17line" name="L128"> 128172lass="sref">RX_FL11/rx.c#L117" ii.c#L116" drop_unencrypted>flag &x_fcs)drop_unencryptedtructcal" class="srehafc="L130" l17line" name="L129"> 129173s" class="sref">sflagne" nae11/rx.c#L117" ifals=116{
freq, l17ne" name="L130"> 13017ne">173a>-&glass="sref">freq, l17href="+code=it_len" clas17hre>173 class="sref"ne" nae11/rx.c#L117" i_fc=116{
freq, l17ss="sref">cpu_to_le16173><1    !l17133" class="line" name="17133>173pos"     !l17">pos = (unsigned ch17">p>1734" idne" name="L160"> 160mment"> * add a radiotap header cont1736sref">l17et/mac80211/rx.c#L135" i17et/>173 trucne" name="L160"> 160
 * add a radiotap header cont1737sref">l17an class="comment">/* th17an >173" cla" name="L158"> 158<*omment"> * add a radiotap header cont1738sref">l1736"> 136
173f="+cd.l17 class="sref">status17 cl>173lass=11/rx.c#L117" ii.c#L116" delivfr_s">local,
tructs_fcs" class="sref">has_fcs)rx_date116{
l17ed_le64(l17class="line" name="L140"17cla>174a>->has_fcs)sub_if_date116{

freq, l17     ha">f devic=116{
f devic=ode=local" class="sredev116{
sdate cla>
freq, l17IOTAP_TSFT);
174>hask_buf_local *="L130" code,lohref="net/mac80xmit_s">local,
 cla lass="sref">freq, l17142                <17142>174pos" class="ss_fcs" class="sref">haeth="net/mac80211/rx.eth="node=local" class="sree="net/mac80211/rx.e="node=O02ts_fcs" class="sref">haeth="net/mac80211/rx.eth="node=lo)s 
local,
{
freq, l17="net/mac80211/rx.c#L14317="n>1745gt;hasta_infoet/mac80211/rx.sta_infoode=local" class="sredsteee80211_hdrdste cla lass="sref">freq, l174"> 144
>1746class="sref"s_fcs" class="sref">has_fcs)rx_s.flag &s_fcs)rx_s.flag &d.)SKB_RXCB cL130" )SKB_RXCBtruct 
local,
freq, l17ref">hw.freq, l177"> 147             177">>174f="+code=flaghref="net/mac80s">local,

="L130" code lass="sref">freq, l17"+code=RX_FLAG_FAILED_FC17"+c>174lass="sref">Rhref="net/mac80xmit_s">local,
 claO0211/rx.c#L117" iNULLlocal,
freq, l179                *175s" cllass="sref">freq, l17de=status" class="sref">17de=>175a>-> *)IFTYPE_AP/a>->< *)IFTYPE_APtrucO||ac80211/rx.c#L88" id="L88" cl1752sref">l17>                *  >175 class="sref">cpulcal" class="sresdateee80211_hdrsdate cla>
)IFTYPE_AP_VLAN>flag &NLs)IFTYPE_AP_VLANHAN_)O(freq, l1711_RADIOTAP_F_SHORTPRE175>flag &flig" claO()SDATA_DONT_BRIDGE_PACKETS>flag &IEEEs)SDATA_DONT_BRIDGE_PACKETSHAN_)O(freq, l17"line" name="L152"> 152<17"li>175pos" class="sref"=cal" class="sres.flag &d.
flag &rx_flig" claO()RX_RA_MATCH>flag &IEEEs)RX_RA_MATCHHAN_)O(freq, l1753"> 153
1755        struuuuu=cal" class="sresdateee80211_hdrsdate cla>
)IFTYPE_AP_VLAN>flag &NLs)IFTYPE_AP_VLANHAN_O||e"L154" class="lisdateee80211_hdrsdate cla>
l17 href="+code=status" cla17 hr>1756class="sref""""""""" id=class="sref">hais_multicast)ethfr_ad"n>flag &xs_multicast)ethfr_ad"ntruct l17 class="sref">RX_FLAG_HT17 cl>175" class="sref">flagscpulce" name="L160"> 160mment"> * add a radiotap header cont1758sref">l17x.c#L157" id="L157" clas17x.c>175f="+cne" name="L160"> 160 * add a radiotap header cont1759sref">l170211/rx.c#L158" id="L15817021>175lass=ne" name="L160"> 160 * add a radiotap header cont176"sref">l1780211/rx.c#L159" id="L1517802>176s" cl" name="L158"> 158<<<<<<<< * add a radiotap header cont1761sref">l17c80211/rx.c#L160" id="L117c80>176a>->cpulcref="net/mac80xmit_s">local,
 claO0211/rx.c#L117" is">_copy="L130" _copytruct local,
haGFP_ATOMIClocal,
freq, l17 so initialise it to 0.<17 so>176 class="sref">cpulass"sref">f id="L154" class="lixmit_s">local,
 cla)ac80211/rx.c#L88" id="L88" cl1763sref">l17       */
176>ha">f info_ratelimited>flag &">f info_ratelimitedtruct  name="L158"string">"%s: failed to clone multicasttfrid=\n"mment">,ac80211/rx.c#L88" id="L88" cl1764sref">l17                *176pos" class="sref"""""lasslassef="+codeG_Fssssssssssssssssclass="sref">hadev116{

freq, l17> |= l17           *has">local,
{
freq, l17f">rate->>176" class="sref">flags<"""+cods id=cal" class="sredsteee80211_hdrdste cla)O="L162" class="line" name="L161768sref">l17me="L166"> 166      17me=>176f="+code=flags" classssssssssodssssss e" name="L160"> 160mment"> * add a radiotap header cont1769sref">l17"line" name="L167"> 167<17"li>176lass=ne" name="L160"> 160 * add a radiotap header cont177"sref">l17> 168
 158<<<<<<<< * add a radiotap header cont1771sref">l17naligned_le16(177    i" name="L158"> 158<<<<<<<< * add a radiotap header cont1772sref">l17" class="sref">pos);17" c>177a hre" name="L158"> 158<<<<<<<<
l17status" class="sref">sta17sta>177><" name="L158"> 158<<<<<<<< * add a radiotap header cont1774sref">l1716(local,
 claO0211/rx.c#L117" is">="L130" code lass="sref">freq, l17,
local,
,
freq, l171776class="sref""""""""""""+cods1    !l17le16(flags<1    !l17,
l17e" class="sref">rate17e" >177net/mac80211/rx.c#L88" id="L88" cl178"sref">l17ref">pos);
local,
l17haalignlocal,
->class="sref">ha__maybe_unused>flag &__maybe_unusedcode lass="sref">freq, l1711/rx.c#L129" i>        1711/>178 claslass="sref">freq, l17name="L81">  81
178><#ifndeftclass="sref">haCONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS>flag &CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESSclaslass="sref">freq, l17a>         160mment"> * add a radiotap header cont1785sref">l17="+code=ieee80211_radiot17="+>1784" idne" name="L160"> 160 * add a radiotap header cont17r6sref">l17tus" class="sref">status17tus>178 trucne" name="L160"> 160 * add a radiotap header cont17r7sref">l17LAG_MACTIME_MPDU)
178" cla" name="L158"> 158 * add a radiotap header cont17r8sref">l17""net/mac80211/rx.c#L17"17""n>178f="+cne" name="L160"> 160_push()mment"> * add a radiotap header cont17r9sref">l1711_HW_SIGNAL_DBM)
178lass=ne" name="L160"> 160
l17" name="L88">  88   17" n>179s" cl" name="L158"> 158<<<<<<<< * add a radiotap header cont1791sref">l17="line" name="L90">  90<17="l>179a>->haalignlocal,
->= ((unsigned long)=cal" class="sres">local,
{
haeth="net/mac80211/rx.eth="node=)))O(freq, l17S if necessary */17S i>179 class="sref">cpulass id=cal" class="srealignlocal,
-&g)O="L162" class="line" name="L161793sref">l17ine" name="L91">  9117ine>179>_headroom="L130" _headroomtruct local,
l17s->hadev_kfree_s">local,
truct local,
freq, l17>/* HT info */
/*>1795        struuuuuuuuu""""""""""""""""class="sref">has">local,
,
freq, l17" name="L94">  94   17" n>1796class="sref""""""""""""+cods1s2" is="L162" class="line" name="L1617s7sref">l17 class="sref">status17 cl>179" class="sref">flags<"""+codssssssssshref="net/mac80u8="L130" ="L130" code>
freq, l17FLAG_AMPDU_DETAILS) 17FLA>179f="+code=flags" classssssssssodssssss 1/rx.c#L117" isize_tet/mac80211/rx.size_t>->class="sref">halen116{
_headlen116{
_headlentruct local,
freq, l17g */
RX_FLAG_F""""""""""""""""class="sref">has">local,

,
-&g lass="sref">freq, l18="sr
180s" class="sref">sflagG_Fsssssssssssss11/rx.c#L117" imemmov=116{
local,
{
hadate116{
halen116{
freq, l18="line" name="L90">  90<18="l>180a>->cpul""""""""class="sref">has">_set_tail_po n"enet/mac80211/rx.s">_set_tail_po n"entruct local,
halen116{
freq, l18= if necessary */18= i>180 class="sref">cpulass"sref">f1    !l18=ne" name="L91">  9118=ne>180>l18=->l18=/* HT info */
1805        !l18= name="L94">  94   18= n>1806class="sref""""""""" id=class="sref">has">local,
l18=class="sref">status18=cl>180" class="sref">flagscpulce" name="L160"> 160 delivfr to local steck *omment"> * add a radiotap header cont18=8sref">l18=LAG_AMPDU_DETAILS) 18=LA>180f="+code=flags" classssssssss local,
flag &eth_typ=_tran"truct local,
hadev116{
freq, l18= */
RX_FLAG_F""""""""11/rx.c#L117" imemsetet/mac80211/rx.memsettruct local,
local,
local,
local,
freq, l1809" id="L109" class="lin1809">181s" class="sref">sflags" class11/rx.c#L117" i">fif_receivf_s">local,
fif_receivf_s">truct local,
freq, l18the fields which the har18the>181a>->l18" class="line" name="L1118" c>181 class="sref"1    !l18ieee80211_add_rx_radiota18iee>181><    !l18ne" name="L113"> 11318ne">181pos" class="s id=cal" class="srexmit_s">local,
 cla)O="L162" class="line" name="L161805sref">l18 114                18 11>1815        struuuuuuuuuhe" name="L160"> 160mment"> * add a radiotap header cont1806sref">l18       int  160 * add a radiotap header cont1807sref">l18bool" class="sref">bool<18boo>181" cla" name="L158"> 158 * add a radiotap header cont1808sref">l18="+code=status" class="s18="+>181f="+cne" name="L160"> 160
l18> 118        struct 18> 1>181lass=ne" name="L160"> 160 * add a radiotap header cont182"sref">l18ef">rthdr;
182s" class="sref">sflagcal" class="srexmit_s">local,
 cla>
freq, l18c#L120" id="L120" class=18c#L>182a>->haxmit_s">local,
 cla>
flag &hton"truct flag &ETH_P)e" _3="ne) lass="sref">freq, l18" class="sref">u16 <18" c>182 class="sref">cpulassclass="sref">has">_reset_">fwork_headeret/mac80211/rx.s">_reset_">fwork_headertruct local,
 cla) lass="sref">freq, l18der *)has">_reset_eq<_headeret/mac80211/rx.s">_reset_eq<_headertruct local,
 cla) lass="sref">freq, l18       hadev_queue_xmitlocal,
local,
 cla) lass="sref">freq, l18lass="sref">rthdr, 018las>1825        stru1    !l18ef="net/mac80211/rx.c#L118ef=>1826clas1    !l18d="L126" class="line" na18d=">182" clalass="sref">freq, l18 hadebug_noincode=ccal,
freq, l18line" name="L128"> 128182lass=11/rx.c#L117" ii.c#L116" rx_h_amsdu="L130" has_fcs)rx_date116{
l18line" name="L129"> 129183s" cl="L162" class="line" name="L161831sref">l18ne" name="L130"> 13018ne">183a>->ha">f devic=116{
f devic=ode=local" class="sredev116{

{
freq, l18href="+code=it_len" clas18hre>183 class="sref"s_fcs" class="sref">hask_buf_local *="L130" codeO0211/rx.c#L117" i
="L130" code lass="sref">freq, l18ss="sref">cpu_to_le16183>has_fcs)="net/mac80211/rx.s_fcs)="node=local" class="sre="net/mac80211/rx.="nHAN_O02ts_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="node=lo) ="L130" code>
freq, l18133" class="line" name="18133>183pos" class="shref="net/mac80__le       int a href__le  trucgclass="sref">hafc="L130" freq, l18">pos = (unsigned ch18">p>1835gt;hask_buf__headlocal *hafrid=_list="L130" freq, l18et/mac80211/rx.c#L135" i18et/>1836class="sref"s_fcs" class="sref">has_fcs)rx_s.flag &s_fcs)rx_s.flag &d.)SKB_RXCB cL130" )SKB_RXCBtruct 
local,
freq, l18an class="comment">/* th18an >183" clalass="sref">freq, l1836"> 136
1838gt;hauncokelyet/mac80211/rx.uncokelytruct"L154" class="lix_fcs)is_date116{
l18 class="sref">status18 cl>183lass="sref">RX_FLAG_Fne" nae11/rx.c#L117" iRX_CONTINUE="L130" freq, l18ed_le64(freq, l18class="line" name="L140"18cla>184a>->hauncokelyet/mac80211/rx.uncokelytruct"L154" class="lix_fcs)is_date_presentlocal,
)is_date_presenttruct l18     cpulassne" nae11/rx.c#L117" iRX_DROP_MONITOR="L130" freq, l18IOTAP_TSFT);
184><    !l18142                <18142>184pos" class="s id=!=cal" class="sres.flag &d.
flag &rx_flig" claO()RX_AMSDU cL130" )RX_AMSDUHAN_))    !l18="net/mac80211/rx.c#L14318="n>1845        struuuuuuuuune" nae11/rx.c#L117" iRX_CONTINUE="L130" freq, l184"> 144
>1846clas    !l18ref">hw.hax_fcs)=as_a4et/mac80211/rx.s_fcs)=as_a4truct freq, l187"> 147             187">>184f="+code=flags" c11/rx.c#L117" i
 *)IFTYPE_AP_VLAN>flag &NLs)IFTYPE_AP_VLANHAN_O(freq, l18"+code=RX_FLAG_FAILED_FC18"+c>184lass="sref">RX_FL"L154" class="li
freq, l189                *185s" class="sref">sflagne" nae11/rx.c#L117" iRX_DROP_UNUSABLE="L130" freq, l18de=status" class="sref">18de=>185a>-&glass="sref">freq, l18>                *  >185 class="sref" id=class="sref">hais_multicast)ethfr_ad"n>flag &xs_multicast)ethfr_ad"ntruct freq, l1811_RADIOTAP_F_SHORTPRE185>
 *)IFTYPE_AP_VLAN>flag &NLs)IFTYPE_AP_VLANHAN_O(freq, l18"line" name="L152"> 152<18"li>185pos" class="sref" c11/rx.c#L117" i
l1853"> 153
1855        struuuuud=class="sref">hanx="L130" 
 *)IFTYPE_STATION>flag &NLs)IFTYPE_STATIONHAN_O(freq, l18 href="+code=status" cla18 hr>1856class="sref"""""""11/rx.c#L117" i
flag &use_4ad"nHAN_)))ac80211/rx.c#L88" id="L88" cl1857sref">l18 class="sref">RX_FLAG_HT18 cl>185" class="sref">flagsfreq, l18x.c#L157" id="L157" clas18x.c>185f="+class="sref">freq, l180211/rx.c#L158" id="L15818021>185lass="sref">Rhref="net/mac80s">="L130" code>
{
freq, l1880211/rx.c#L159" id="L1518802>1860ass="sref">Rhref="net/mac80__s">_queue_head_initlocal,
_queue_head_inittruct(hafrid=_list="L130" freq, l18c80211/rx.c#L160" id="L118c80>186a>-&glass="sref">freq, l18 so initialise it to 0.<18 so>186 class="sref" id=class="sref">has">_ise ariz=116{
_ise ariz=truct local,
l18       */
186>freq, l18                *186pos"     !l18> |= hax_fcs)amsdu_to)e" 3">flag &s_fcs)amsdu_to)e" 3"truct local,
hafrid=_list="L130" hadev116{

flag &dev_ad"n="ne,    !l18           *
 *l18f">rate->>186" class="sref">flags<"""+codsef"""""""11/rx.c#L117" i

ha_fc=116{
freq, l18me="L166"> 166      18me=>186f="+class="sref">freq, l18"line" name="L167"> 167<18"li>186lass="sref">Rwhiled="L154" class="lis">_queue_emptyet/mac80211/rx.s">_queue_emptytruct(hafrid=_list="L130" l18> 168
sflagcal" class="sre
local,
_dequeuelocal,
_dequeuetruct(hafrid=_list="L130" freq, l18naligned_le16(187a>-&glass="sref">freq, l18" class="sref">pos);18" c>187 class="sref">cpulass id="L154" class="lix_fcs)frid=_allowed>flag &i.c#L116" frid=_allowedtructcal" class="srehafc="L130" l18status" class="sref">sta18sta>187>local,
truct 
local,
freq, l1816(freq, l18,
l181876class="sref"""""""""class="sref">hadev116{

flag &d.flag &rx_packe/" cla++ lass="sref">freq, l18le16(flagshadev116{

flag &d.flag &rx_byte" clas+0211/rx.c#L117" i
="L130" code>
freq, l18,
freq, l18e" class="sref">rate18e" >187lass="sref">RX_FLAG_FL154" class="lix_fcs)delivfr_s">local,
truct11/rx.c#L117" ifreq, l18ref">pos);
l18freq, l1811/rx.c#L129" i>        1811/>188 class="sref"ne" nae11/rx.c#L117" iRX_QUEUED="L130" freq, l18name="L81">  81
188><1    !l18a>        l18="+code=ieee80211_radiot18="+>1884" id#ifdeftclass="sref">haCONFIG_MACL116" MESH>flag &CONFIG_MACL116" MESHos"     !l18tus" class="sref">status18tus>188 trucd.l18LAG_MACTIME_MPDU)
188" cla",
)rx_h_mesh_fwdingtructs_fcs" class="sref">has_fcs)rx_date116{
l18""net/mac80211/rx.c#L17"18""n>188f="+c="L162" class="line" name="L1618r9sref">l1811_HW_SIGNAL_DBM)
188lass="sref">Rs_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="node=local" class="srefwd)="net/mac80211/rx.fwd)="n cla,gocal" class="sre="net/mac80211/rx.="nHAN_ lass="sref">freq, l18" name="L88">  88   18" n>1890ass="sref">Rs_fcs" class="sref">has_fcs)tx_infoet/mac80211/rx.s_fcs)tx_infoode=local" class="sreinfoet/mac80211/rx.snfoode= lass="sref">freq, l18="line" name="L90">  90<18="l>189a>->has_fcss)="net/mac80211/rx.s_fcss)="node=local" class="sremesh_="net/mac80211/rx.mesh_="node= lass="sref">freq, l18S if necessary */18S i>189 class="sref"s_fcs" class="sref">hask_buf_local *="L130" codeO0211/rx.c#L117" i
="L130" code,gocal" class="srefwd)s">="L130" ode= lass="sref">freq, l18ine" name="L91">  9118ine>189>has_fcs)local="L130" )localode=lohref="net/mac80local="L130" 
freq, l18s->has_fcs)sub_if_date116{

freq, l18>/* HT info */
/*>1895gt;has_fcs)rx_s.flag &s_fcs)rx_s.flag &d.)SKB_RXCB cL130" )SKB_RXCBtruct local,
freq, l18" name="L94">  94   18" n>1896class="sref"s_fcs" class="sref">has_fcs)if_mesh>flag &s_fcs)if_meshode=local" class="sreifmsh>flag &sfmshode=O02(hasdateee80211_hdrsdate cla>
freq, l18 class="sref">status18 cl>189" class="sref11/rx.c#L117" i__le       int a href__le  trucgclass="sref">harea on116{
freq, l18FLAG_AMPDU_DETAILS) 18FLA>189f="+code=flaghref="net/mac80u       int a hrefu  trucgclass="sref">haq     int a hrefq cla,gclass="sref">ha="nlen116{
freq, l18g */
l19="sr
1900ass="sref">Rhref="net/mac80="net/mac80211/rx.="nHAN_O02ts_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="node=lo)211/rx.c#L117" is">="L130" code>
freq, l19="line" name="L90">  90<19="l>190a>->ha="nlen116{
)="nlen116{
)="nlentruct freq, l19= if necessary */19= i>190 claslass="sref">freq, l19=ne" name="L91">  9119=ne>190> 160 make sure fixfdspartaof mesh headertis=thfre, also checks s"> lena*omment"> * add a radiotap header cont19=4sref">l19=->_may_pullet/mac80211/rx.ps">_may_pulltruct 
local,
ha="nlen116{
l19=/* HT info */
1905        struuuuuuuuune" nae11/rx.c#L117" iRX_DROP_MONITOR="L130" freq, l19= name="L94">  94   19= n>1906clas    !l19=class="sref">status19=cl>190" class="sref11/rx.c#L117" imesh_="net/mac80211/rx.mesh_="node=O02ts_fcs" class="sref">has_fcss)="net/mac80211/rx.s_fcss)="node=lo)d=class="sref">has">local,
{
ha="nlen116{
freq, l19=LAG_AMPDU_DETAILS) 19=LA>190f="+class="sref">freq, l19= */
Rce" name="L160"> 160 make sure full mesh headertis=thfre, also checks s"> lena*omment"> * add a radiotap header cont191"sref">l1909" id="L109" class="lin1909">191s" class="sre id=!F_BADFCS" classps">_may_pullet/mac80211/rx.ps">_may_pulltruct 
local,
l19the fields which the har19the>191a>->ha="nlen116{
)get_eesh_="nlen116{
)get_eesh_="nlentruct l19" class="line" name="L1119" c>191 class="sref">cpulassne" nae11/rx.c#L117" iRX_DROP_MONITOR="L130" freq, l19ieee80211_add_rx_radiota19iee>191><    !l19ne" name="L113"> 11319ne">191pos" class="sce" name="L160"> 160 reloadspo n"ensa*omment"> * add a radiotap header cont1915sref">l19 114                19 11>1915        struclass="sref">ha="net/mac80211/rx.="nHAN_O02ts_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="node=lo)211/rx.c#L117" is">="L130" code>
freq, l19       int has_fcss)="net/mac80211/rx.s_fcss)="node=lo)d=class="sref">has">local,
{
ha="nlen116{
freq, l19bool" class="sref">bool<19boo>191" clalass="sref">freq, l19="+code=status" class="s19="+>1918os" class="sce" name="L160"> 160 frid=ais in RMC, don't forwarda*omment"> * add a radiotap header cont1919sref">l19> 118        struct 19> 1>1919" class="sre id=class="sref">has_fcs)is_date116{
freq, l19ef">rthdr;
192s" class="sref">sclass="sref">hass_multicast)ethfr_ad"n>flag &xs_multicast)ethfr_ad"ntruct freq, l19c#L120" id="L120" class=19c#L>192a>->flag &ad"n3="ne,gclass="sref">hamesh_="net/mac80211/rx.mesh_="node=,gclass="sref">ha
l19" class="sref">u16 <19" c>192 class="sref">cpulassne" nae11/rx.c#L117" iRX_DROP_MONITOR="L130" freq, l19der *)l19       )is_date116{
l19lass="sref">rthdr, 019las>1925        struuuuu!=cal" class="sres.flag &d.
flag &rx_flig" claO()RX_RA_MATCH>flag &IEEEs)RX_RA_MATCH cla))ac80211/rx.c#L88" id="L88" cl1926sref">l19ef="net/mac80211/rx.c#L119ef=>1926class="sref"""""""""ne" nae11/rx.c#L117" iRX_CONTINUE="L130" freq, l19d="L126" class="line" na19d=">192" clalass="sref">freq, l19 
freq, l19line" name="L128"> 128192lass="sref">RX_FLAG_Fne" nae11/rx.c#L117" iRX_DROP_MONITOR="L130" freq, l19line" name="L129"> 129193s" cllass="sref">freq, l19ne" name="L130"> 13019ne">193a>->hamesh_="net/mac80211/rx.mesh_="node=>
flag &flig" claO(l19href="+code=it_len" clas19hre>193 class="sref">cpulasss_fcs" class="sref">hamesh_path>flag &mesh_pathode=local" class="sremppath>flag &mppathode= lass="sref">freq, l19ss="sref">cpu_to_le16193>flag &proxied_ad"node= lass="sref">freq, l19133" class="line" name="19133>193pos" class="sref"""""charlocal" class="srempp_ad"n>flag &mpp_ad"node= lass="sref">freq, l19">pos = (unsigned ch19">p>1935        !l19et/mac80211/rx.c#L135" i19et/>1936class="sref""""""""" id=class="sref">hass_multicast)ethfr_ad"n>flag &xs_multicast)ethfr_ad"ntruct l19an class="comment">/* th19an >193" class="sref">flagscpulcal" class="srempp_ad"n>flag &mpp_ad"node=O0211/rx.c#L117" ih"net/mac80211/rx.="nHAN_OTAP_F_BADFCS" classad"n3>flag &ad"n3="ne lass="sref">freq, l1936"> 136
l19ne" net)ethfr_ad"n>flag &xsg &mpp_ad"node=O0211/rx.cssmesh_="na>{
 129193s" cllass="sref">freq, l19ne" name="L130"> 13019ne">193a>->hamesh_A5_AWARD="ne) lass=""sref">hamesh_A5_AWde=>
flag ass="sref"9RX_FLAG_Fne" nae11/rx.c#L917" i94ref="net/mac80c>local,
bool<19boo>191" csref"> alre> yl19= *e06sr 1895sref">l18q19= *8sref">l19="+code=status" class="s19="+>1"ne lass="9ref">freq, local,
<"n1="ne))O="L162" class="line" name="L161937sref">l19an class="comment">/* th19an >193" class="sref">flagscpulca href="+code=ieeulca p;xsg &mpp_ad"node=O0211/rx.cal,
<9 hs_fcs)is_date_prese9ttruc9  &ad"n3="ne lass="sref">freq, l1936"> 136
l19ne" net)et2fr_ad"n>flag &a2p;xsg &mpp_ad"node=O0211/rx.ch_path>flasne" nae11/rx.c#L117" iRX9DROP_94>18= i>180 class="srefhNULLcode lass="sref">freq, freq, local,
freq, l19line" name="L128"> 128192lass="sre" claO(9RX_AM9DU cL130" freq, flag &rx_packe/" clrcu_re> ref""sref">freq,rcu_re> ref""35" ial,
,
<"n1="ne))O="L162" " clas19hre>193 class="sref"136
1936class="sref">freq, l1936"> 211/rx.="nHAN_OTA"ne,gclass="sref">hamesh_="netl,
)IFTYPE_AP_VLAN>fla9 9amp;NLs)IFTYPEEEEEass="line" na19d=">19" " clas19hre>193 class="sref"
flag cal" class9"srevlan="L130" 1936class="sref">freq, l1936"> 211/rx.="nHAN_OTA2" class="line" name="L161937sref">211/rx.="nHAN_OTA"ne,gclass="sref">hamesh_="netl,
sflag9e" nae11/rx.c#L117" iRX_D9OP_UN95a href="+codes">localfreq, freq,  &ad"n3="ne lassspinref""_bclas19hre>193 clspinref""_bc35" iass="sref">has_fcs193 class="sref" l18le1eref""sref">freq,8le1eref""="netl,
fla1/rx.="nHAN_OTAP_F_BADFCS9 clas9ad"n1et/mac80211/r>)IFTYPEEEEEass="line" na19d=">111/rx.c#L1_equlode=lohref="net/11/rx.c#L1_equloa="nlen116{
193 class="sref" l1asslas19hre>193 class6"> 211/rx.="nHAN_OTA2" class="line" name="L161937sref">flig">flag &rx_flig" claO.c#L117" i9Ls)IFTYPE_AP_VLAN>fla9 9amp;NLs)IFTYPE_Asresteee80id=_>,
<"n1="ne))O="L162emcp">freq, 193 class="sref" l1asslas19hre>193 class6"> 211/rx.="nHAN_OTA2" class="line" name="L161937sref">211/rx.="nHAN_OTAt/maALEt/mac80vi_local
193 clspinrunef""_bc35" iass="sref">has_fcs193 class="sref" l18le1eref""sref">freq,8le1eref""="netl,
)IFTYPE_STATION>fla9 9amp;NLs)IFTYPE_SEsQUEUED="L130"  *flag ≈rx_packe/" clrcu_re> runef""sref">freq,rcu_re> runef""35" ial,
flags<9e" nae11/rx.c#L117" iRX_D9OP_UN95ac80211/rx.frQUEUED="L130" freq, ha="nlen116{
{
bool<19boo>191" cFalasssreaaca19=d destination.  D, l19="+code=status" class="s19="+>1">_queue_h9ad_inittruct(h9619line" name="L12ef="+code19der>19   !l19et/mac80211/rx.c#L135" i19et/>1936class="sref""""""""" id=class="sref">hass_multicast)ethfr_ad"n>flag &xs_multicast)ethfr_ad"ntruct freq, 1866class="sref""""""""""""+codsef"""""""11/rx.c#L117" i211/rx.="nHAN_OTAnt">/* th19an >193" class="sref">flagscpulcal" class="srempp_ad"n>flaflig">flag &rx_flig" claOise ariz=196{
_ise ariz9truct9local,
l19ef="net/mac80211/rx.c#L119ef=>1926="+codeG_F9e" nae11/rx.c#L117" iRX_D9OP_UN9SABLE="L130" freq, l18FLAG_AMP>, l19="linselect1869sre9="lief="+code=ieee802111924srselect1869sre9="lia="nlen116{
_may_pullet/mac80211/rx.ps">_m>/* th19an >193" classal,
hadev116<9a>{

don't forwarda*omment"> *869srestoppl18" class869srestopphas_fcs>186" class="sref">flags<"""+codsef"""""""11/rx.c#L117" it/mac80211/rx.ps"18s8sref">l18FLAG_AMP_multicast)ethfr_ad"ntruct  *
1896class="sref"s_fcs"_to)e" 3"truct  ropp,
f">flags<9a hrefextra_tx_headroom="9e,gcl96ac80211/rx.frid=_>,
freq, l19line" name="L128"> 128192lass="srela) lass="9ref">freq,  QUEUED="L130" _queue9emptytruct(haf9718g */
l1869sremapp !l1869sremapp !{
_may_pullet/mac80211/rx.ps"18s8sref">l18FLAG_AMP_="L128"> 128192lass="sre
9dequeuetruct(h9frid=_list="L130" freq, freq, l19 hafc="L130uuuuu!=cal" class="sres. &d.
1896class="sref"s_fcs"_to)e" 3"truct  128192lass="sre
"+codeG_F9ode
localgototo)e" 3"truct  128192lass="sre1874sref">91816(l18,
flag 144
1896class="sref"s_fcs" l1ashcfFree190 !flags<980s">="L130" co9e>
,
 128192lass="sre1a) lass="9ref">freq, ha="nlen116{
local,
tru9818g */
codeO0211/rx.c#L117" i, freq, _may_pullet/mac80211/rx.ps"GFP_ATOMIC> &d. 128192lass="sre"sref">fre9, l19ref">9819line" name="L12ef="+code19der>1hrefs">codeO0211/rx.c#L117" ifr_l18" _ratelimitbool"%s: failed totclonefreql19t/mac80211/rx.ps">_may_pulltruct  1811/>189 class="sref"ne" nae11/rx9c#L1198d"n1et/mac80211/r>)IFTYPEEEEE+codefc="L13f="+code19der>1 href="+co18   >1866class="sref""""""""""""+codsenae1 hree1872sref">fae1_AMP_="L128"> 128192lass="sre""+codeG_F9ef">freq, 98a href="+codes">localgototo)e" 3"truct  128192lass="sret;<1    !<9 href="+code=ieee8021118r9sref"9887pos" class=QUEUED="L130" haCONFIG_MACL916" M98_CONTINUE="L130"   94   19M)
188lass="sref">Rs_>, ap header cont1915sref">l19 114                19 11>1915        struclass="sref">hahrefs">codeO0211/rx.c#L117" ihas_fcs)="net/mac80211/rx.s_fcs)="node=lo)211/rrx_date1169/a>{
1890ass="sref">Rs_fc="sref">has_fcs)rx_s.fl &s_fcs)rx_s.codeO0211/rx.c#L117" i)="node=lo)211/rra) lass="9rx.c#L88" id="L88" cl18r89ref">9818x.c#L157" id="L157" clas18mem">l>freq, la="nlen116{
1890ass="sref">Rs_fc, 0, sizeof("L88">  88   18" n>1890ass="sref">Rs_fc)9211/rx.s_fcs)="node=lo)211/rss="srefwd9="net/mac80211/rx.fwd)="n9cla,g9918g */
1890ass="sref">Rs_fcee1931sref">l19ne" name="L130"> 13019ne">193a>|"sref">has_fcs)rx_s. &s_fcs)rx_s.)="node=lo)211/rnfoet/mac89211/rx.s_fcs)tx_infoo9e=loc99f="net/mac80date116{
1890ass="sref">Rs_fcee1931sref">l19ne" n)is_date116{
<.c#L116" is ihas_fcsl18           *)="node=lo)211/rnre1    !<9x.s_fcss)="node=local9 clas9="sremesh_="neate116{
1890ass="sref">Rs_fcee1931sref">l19ne" n)is_date116{
<.c#L116" is ijiffiags_fc="sref">has_fcsjiffiags_fc211/rx.s_fcs)="node=lo)211/rn 1811/>189"L130" code,goc9l" cl9ss="srefwd)s">ed ch19">p>1935        !l19et/mac80211/rx.c#L135" i19et/>1936classM)
188lass="sref">Rs_"sref">hass_multicast)ethfr_ad"n>flag &xs_multicast)ethfr_ad"ntruct 
9a hre99a href="+codes">localuuuuu!=cal" class="sres. &d.
1896class="sref"s_fcs"_to)e" 3"truct 188lass="sed_mac80)="node=lo)211/rx.c#L117" 9
9a hre99 class="sresteee80L13"n1="ne))O="L162emcp">freq, Rs_"sref">hass_multicast)et2fr_ad"n>flag &a2p;xs211/rx.="nHAN_OTA"ne,gclass="sref">hamesh_="neef""""""""""""+codsef"""""""11/rx.c#L117" i211/rx.="nHAN_OTAt/maALEt/mac80vi_local
codeO0211/rx.c#L117" ihamesh_="netmulticast)ethfr_ad"ntruct 
1896class="sref"s_fcs"_to)e" 3"truct 188lass="sed_uniac80="netl,
freq, bool<19boo>191" cunable totresolve next hop8sref">l19="+code=status" class="s19="+20de= lass=20de=      int a hrefq cla20de=>20declass="sresteee80L13"n1="ne))O="L162e1932sre_error_t+code=ieee8021112e1932sre_error_t+a="nlen116{
1896class="sref"s_fcs" l1ashcf1 ef="+code=cpu_to_leleoo>1 ef=fcs"_to)e" 3"truct )
188lass="sref">Rs_"sref">hass_multicast)et" imesh_rmc_checket/mac802
)tx_inf=2021=>20hlocal, l18 class="sref">statusRs_"sref">hass_multicast)et2fr_ad"n>flag &a2p;xs211/rx.="nHAN_OTA"ne,gclass="sref">hamesh_="netl, 202e= lass=20x.s_fcss)="node=loc=20x.=>208 &d. 1896class="sref"s_fcs"_to)e" 3"truct , 203e= lass=20"L130" code,g=20"L=>20lass="sref">hafc="L130uuuuu!=cal" clclass="line" name="L1618ef">l18status" class="sref">suhrefs">codeO0211/rx.c#L117" i)="node=lo)21>204e= lass=20209a href="+codes">locafreq, l19line" name="L128"> 128192lass=">205e= lass=2020887pos" class=QUEUED="L130" 206e= lass=20 )SKB_R=20 <=>208_CONTINUE="L130" 207e= lass=20et/mac80u="L130" 20819= name="L94"> 94 1ass="sres. &d. 1896class="sref"s_fcs"_to)e" 3"truct 188lass="seds="srei)="node=lo)21>208e= lass=20N MESH_PATH_NOFORWARD="=20N =>208refWLAN_REASON MESH_PATH_NOF111865srefdd_pen90 !freq, l1fdd_pen90 !freqCa="nlen116{ >186" class=""_to)e" 3"truct codeO0211/rx.c#L117" i)="node=lo)21>209e= lass=20>haq int a hrefq cl=20>h=>20918, 21de= lass=2160 make sure full m=2160>=216s="srefwd)s">ed ch19">p>1935 !l19et/mac80211/rx.c#L135" i19et/>1936class="sref""""""""" id=class="sref">hass_multicast)ethfr_ad"n>flag &xs_datetruct =21ad"n1et/mac80211/rx.ad"n1="ne)O(A"ne,gclass="sref">hamesh_="neef""""""""""""+codsla++ lass="sref">freq, lname="L130"> 13019ne">193a>-> &d.=21"net/mac80sdateee80211_hdrsdate cla))ac80211/rx.c#L88" id="L88" cl1926sref">l19ef="net/mac80211/rx.c#L119ef=>1=213e= lass=2ssne" nae11/rx.c#L117" i=2ssn>=21lass="sref">hhNUL="net/mac80211/rx.c#L119ef=>1=214e= lass=2sref">freq, =219a href="+codes">locafreq, l19line" name="L128"> 128192lass=">215e= lass=2a>19ne">191pos" class="s=2a>1>=21887po=QUEUED="L130" 216e= lass=2is">="L130" co=2is">=218_CON#en90fQUEUED="L130" 217e= lass=2116{ =21X_CONTINUE="L130" freq, =218refWag &CONFIG_MACL116" MESHos" !l18t_to)e" 3"truct , frebugsnoin/a>,_CONTINUE="L130" 16=2ss=>=21918, &CONFIG_MACL116" MESHos"href="+codes_fcs)rx_h_mesh_fwdhf">l19 ME_MPDU) 188" cla", )rx_h_mesh_fwdingtructs_fcs" class="sref">has_fcs=2P_truccode lass="sref">freq, =2Pl" class="sreinfoet/mac80211/rx.snfoode= lass="sref">freq, l18s->has_fcs)sub_if_date116{ =2=2P="sremesh_="net/mac80211/rx.mesh_=">ode= lass="sref">freq, l18ine" name="L91"> 9118ine>189>has_fcs)local="L130" )localode=lohref="net/mac80local="L130" =2Pss="srefwd)s">="L130" fr_reqice1 hree1872sref">fr_reqicel18ine" name="L91"> la++ lass="sref">freq">, hamesh_="neef""""""""""""+codsla++ lass="sref">freqal="L130" freq, =2P="net/mac80local="L130" l1811_HW_SIGNAL_Densa*omment"> * add a radiotap header cont1915sref">l19 114 19 11>1915 stef">has_fcs)sub_if_date116{ has_fcs)="net/mac80211/rx.s_fcs)="node=lo)21=2P5e= lass=2nHAN_OTAP_F_BADFCS" clas=2nHA>=2Pl18 *freq, )frid=_allowed>flag>l19an class="comment">/* th19an >193" class="sref">flagscsss_fcs)is_date116{ )="node=lo)21=2P6e= lass=2x.c#L117" iIEEEs)RX_=2x.c>=2Pef="net/mac80date116{ { bo)ieq, )is_date116{ portcs)i6" i0211/rx.s_fcs)="node=lo)21=2P7e= lass=2f"""""""""ne" nae11/rx.c=2f"">=2P7184"> 144nder cont1915sref"ert">/* th19an >19ert6" i0211/rx.s_fcs)="node=lo)21=2P8e= lass=2sref">freq, =2Psref">ha="nlen116{ =2Pd=ais in RMC, don't forwardaun/akelp">freq, l19 )is_date116{ flag &rx_flig" c203de= lass=2_Fne" nae11/rx.c#L117" i=2_Fn>=2_Fnet/mac80sdateee80211_hdrsdate cla))ac80211/rx.c#L88" id="L88" cl1926sref">l19ef="net/mac80211/rx.c#L119ef=>1=231e= lass=2sref">freq, =2_frid=_list="L130" =2_l18naligned_le"L1't forwardaun/akelp">freq, l1_psreoo>9 )is_date116{ flag &rx_flig" c2033e= lass=2ag &mesh_pathode=2ag<>=2_local, freq, l19line" name="L128"> 128192lass=">234e= lass=2"+codeG_Fcharlocal" clas=2"+c>=2_SABLE="L130" =2_l18 0"sref">bool<19boo>191"ref">l19="+code=status" class="s19="+236e= lass=2sref">freq, =2_ef="n 0"sref">bool<19boo>19des">loca* Sen9 unexpected-4a> &-clalasevoo>e tohoagl19="+code=status" class="s19="+237e= lass=2t/mac80211/rx.="nHAN_OTA=2t/m>=2_7f="n 0"sref">bool<19boo>19des">loca* ref">l roref1 clalas totoo *e0monitor a hrefaces.ref">l19="+code=status" class="s19="+238e= lass=2"net/mac80211/rx.="nHAN_=2"ne>=2_8f="n 0"sref">bool<19boo>19des">loca*sref">l19="+code=status" class="s19="+239e= lass=2na>{ >=2_d=ais in RMC, don't forwarda*omment"> csref" 19 11>1915 sref"9 )is_date116{ =29Rd"n1et/mac80211/rx.ad"n1="ne)O(A"ne,gclass="sref">hamesh_="neef""""""""""""+codsef"""""""11/rx.c#L117" ill19an class="commNL freq, freq, =29hloc don't forwarda)sub_if_date116{ haclass="multicast)ethfr_ad"ntruct test_and c">laclas>191 hree1872sref"test_and c">laclas>199 haclass="_to)e" 3"truct h/rx.cFSTA4ADDR_EVENT6" isaethfr_ad"ntruct =298d"n1et/mac80211/r>)IFTYPEEEEto)e" 3"truct &ds="srgclass="sref">hcfg_mesh_fwdunexpected_4a> &ds="sr9 ethfr_ad"ntruct freq, =29amp;NLs)IFTYPE_Asresteee80id=_>, <"n1="ne))O="L1/"+code=ieee802111866sref">l18 *freq0211/rx.="nHAN_OTAP_F_BADFCS" classad"n3>flag &ad"n3=e,gclass="sref">haclass=>flag &ad"n3=e,gclass="sref">haclass=x="L130" 211/rx.="nHAN_OT"GFP_ATOMIC> &d. 128192lass="=295e= lass=29211/rx.c#L117" iIEEEs=29">ha="nlen116{ l19=/* HT info */ 1905 =296e= lass=29uuuuuuuuune" nae11/rx.c=29uu>=29freq, =29X_CONTINUE="L130" =298refWLAN_REASON MESH_PATH_NOert">/* th19an >19ert6" i>l19an class="comm__19 11>1915">l1_tore9=t" imesh_rmc_che__19 11>1915">l1_tore9=t9 has_fcs)is_date116{ portcs)i6" iP_="L128"> 128192lass="=299e= lass=2nLs)IFTYPE_AP_VLAN>f=2nLs>=29d=ais in RMC, don't forwardaun/akelp">freq, /* th19an >19ert6" isaethfr_ad"ntruct =29">ha="nlen116{ 1905 =251e= lass=29e" nae11/rx.c#L117" iRX=29e">=29frid=_list="L130" freq, =29l18naligned_le"L12't forwarda*omment"> l18" clas=29local, freq, l19line" name="L128"> 128192lass=">254e= lass=29Ls)IFTYPE_AP_VLAN>f=29Ls>=29SABLE="L130" =295=ais in RMC, don't forwarda/"+code=ieee802111866sref">l18 *ll19an class="commNL freq, )is_date116{ portcs)i6" iP"multicast)/rx.ad"n1="ne)O(A"ne,gclass="sref">hamesh_="neef""""""""""""+codsbs="L130"> 130bs=6" is_code lass="sref">freq, *=299" class="sretyp=116has_fcsshamesh_="neef""""""""""""+codsbs="L130"> 130bs=6" i,einfoet/mac80211/rx.snfoode= lass="sref">freq, l18s->_may_pulltr=298e= lass=29e" nae11/rx.c#L117" iRX=29e">=29DFCS" classad"n3>flag &am="sretyp=116freq, 128192lass="=259e= lass=2nref">freq, =29918, la++ lass="sref">freq">, hamesh_="neef""""""""""""+codsla++ lass="sref">freqal="L130" { =29a18, /"+code=ieee802111866sref">l18 *, hamesh_="nal="L130" =29hfreq, =292ABLE="L130" { _ise ar=296<>=29has_fcs)sub_if_date116{ freq">, freqal="L130" =29SABLE="L130" freq, =29l18 *freq, lag{ >=29ef="net/mac80date116{ freq, lag188lasrx_bytref="ne+sref">has_fcs)sub_if_date116{ loal="L130" *=29X_CONTINUE="L130" =29l19d="L126" classs_fcs" class="sdt;>186" class="sref">flags<"""+codsps_f"ne,gclass="sref">hps_f"ne,ass="multicast)ref">has_fcs/t;>186" class="sref">flags<"""+codsef"""""""11/rx.c#L117" x="L130" freq, =29918, 19 !l19et/mac80211/rx.c#L135" ethfr_ad"ntruct =29eFCS" classad"n3>flag(ap header cont1915sref"211de=me19 >192pos"211de=FCS" stef">has_fcs)sub_if_date116{ has_fcs)="net/mac8)sref">flags<"""+codse_ des"""""""11/rx.c#L_ des6" is_multicast)ethfr_ad"ntruct >186" class="sref">flags<"""+codsscannp !freq, =295test_bis"""""""11/rx.c#test_bis9 ON MESH_PATH_NOSDATAcFSTTE_OFFCHANNEL"""""""11/rx.c#SDATAcFSTTE_OFFCHANNEL{ has_fcshamesh_="neef""""""""""""+cods,8le1|ac80211/rx.c#L88" e6" isaf_code lass="sref">freq, =298d"n1et/mac80211/r>)IFTYPEEEEto)e" 3"truct freqod_timea9 iass="sref">has_fcs>186" class="sref">flags<"""+codsdyeadic_ps_timealass="sref">fredyeadic_ps_timea{ , jiffiags_fc+ode lass="sref">freq, =29amp;NLs)IFTYPE_Asresteee80to)e" 3"truct >186" class="sref">flags<"""+codsef"""""""11/rx.c#L117" x="L130" (276e= lass=29 href1875sref">l18, =298_CONTINUE="L130" 277e= lass=29 &d.=29819= name="L94"> 94 119 11>1915"eliv/rxreq, l1"eliv/rxreq9 ="L130" =2980>=29sref">ha="nlen116{ freq, =29918, , loal="L130" , ,>=29>">lo=QUEUED="L130" 281e= lass=29, =29=29frid=_list="L130" l18t_to)e" 3"truct , frebugsnoin/a>,_CONTINUE="L130" =298d"n1&CONFIG_MACL116" MESHos"h_ctref">freq, ) 188" cla", )rx_h_mesh_fwdingtructs_fcs" class="sref">has_fcsfreq, =29amp;Ncode lass="sref">freq, ) 1sk_buf"""""""11/rx.c#Lsk_buf"ocal, has_fcs)sub_if_date116{ haCONFIG_MA=29la>=29687pos" classME_MPDU) 1rx_h_mesh_ba 19 11>1915ba ocal, l19 1141915ba ocalhas_fcs_="net/mac80211/rx.="nHAN_O02ts_fcs" class="sref">has_fcs)="net/mac80211/rx.s_fcs)="node=lo)21=287e= lass=292 ) 1tid_assdu_)sub_if_date116, )="node=lo)21=288e= lass=29/a>{ =298refWLAN_REASON MESH_PATH_NOumeshode= lass="srufreq, )="node=lo)21=289e= lass=29rx.c#L88" id="L88" cl18=29rx>=29818x.c#L157" id="L157" clas1umeshode= lass="srufreq, )="node=lo)21=29de= lass=29="net/mac80211/rx.fwd)==29=">=29=_CONTINUE="L130" )tx_inf=2921>=29819line" name="L1ON MESH_PATH_NO/akelp">freq, )is_date116{ flag &rx_flig" c2092e= lass=29x.s_fcss)="node=loc=29x.>=29"net/mac80sdateee80211_hdrsdate cla))ac80211/rx.c#L88" id="L88" cl1926sref">l19ef="net/mac80211/rx.c#L119ef=>1=293e= lass=29"L130" code,g=29"L>=293_CONTINUE="L130" =29419line" name="L1ON MESH_PATH_NO192>< !back6sr"18s8sref">l18FL192>< !back6sr"9 )is_date116{ freq, =29">ha="nlen116{ freq, )SKB_R=29 <>=29amp;NLs)IFTYPE_SEc#L157" id="L157" clas1amp;meshode= lass="sref">freq, )is_date116{ <.c#L116" is211/rx.="nHAN_OTAg)="node=lo)21=297e= lass=29et/mac80u="L130" =299" class="sretyp=116<} id="L157" clas1ampackedub_if_date116, )="node=lo)21=298e= lass=29N MESH_PATH_NOFORWARD="=29N >=29sref">ha="nlen116{ flag &ad"n3=e,gclass="sref">haclass=flig">flag &rx_flig" c210de= lass=10de= int a hrefq cla10de=>10declass="sresteee80L1teee80211_hdrsdate cla))ac802"sref">freq, l19line" name="L128"> 128192lass=">101e= lass=10211/rx.s_fcs)tx_inf=1021=>10frid=_list="L130" s)="node=loc=10x.=>108_may_pullet/mac80211/rx.psoffseto"""""""11/rx.c#Loffseto"9 ME_MPDU) 188" cla"1915ba ocalet/mac80211/rx.psn)is_date116{ <.c#L116" i)9t/mac80211/rx.ps">_may_pulltr=103e= lass=10"L130" code,g=10"L=>10lass="sref">hafc="L13333333333333333333iass="sref">has_fcshas_fcsflag &rx_flig" c2104e= lass=10109a href="+codes">locateee80211_hdrsdate cla))ac802"sref">freq, l19line" name="L128"> 128192lass=">105e= lass=1010887po="L128"> 128192lass=">106e= lass=10 )SKB_R=10 <=>10amp;NLs)IFTYPE_SE>, has_fcs">fr_torcpu">freq, fr_torcpu9 )ba ref="mac8x="L130" )is_date116{ <.c#L116" i)"mef"mef" 12e="L128"> 128192lass=">107e= lass=10et/mac80u="L130" 10X_CONTINUE="L130" flaga>, has_fcs)cu_dehasehance1 hree1872sref")cu_dehasehance9 haclass=>flag &ad"n3assdu_mlsrgclass="sref">hassdu_mlsrmac8x="L130" { , )="node=lo)21=109e= lass=10>haq int a hrefq cl=10>h=>10amp;NLs)IFTYPEEEEEass="line" na19d=">tid_agg_)sub_if_date116flag &rx_flig" c211de= lass=1160 make sure full m=1160>=11declass="sresteee80L1teee80211_hdrsdate cla))ac802"sref">freq, l19line" name="L128"> 128192lass=">111e= lass=1+code=11frid=_list="L130" =11"net/mac80sdateee802111/rx.="nHAN_OTAghas_fcs">fr_torcpu">freq, fr_torcpu9 )ba ref="mac8x="L130" 128192lass=">113e= lass=1ssne" nae11/rx.c#L117" i=1ssn>=113_CONTINUE="L130" freq, =119a href="+codes">loca80"sref">bool<19boo>191" sreot session timeaa*sref">l19="+code=status" class="s19="+115e= lass=1a>19ne">191pos" class="s=1a>1>=11">ha="nlen116{ l19 ="L130" co=1is">=11amp;NLs)IFTYPE_SEc#L157" id="L157" clas1mod_timealass="sref">freqod_timea9 iass="sref">has_fcsl19 fresession_timeamac809="+code=status" class="s19="+117e= lass=1116{ =119" class="sretyp=116<)IFTYPE_SEc#L157" id="L157" clas1TU_TO_EXP_TIM#L88" id="L88" cTU_TO_EXP_TIM#9 l19 freq, =11sref">ha="nlen116{ 16=1ss=>=11918, spinsrefklass="sref">frespinsrefk9 iass="sref">has_fcsl19 frereordehsrefk{ )="node=lo)21=12de= lass=1P_F_BADFCS" classfrid=_c=1P_F>=12a18, bool<19boo>191" srlease stored clalas ups to88"rt of BARa*sref">l19="+code=status" class="s19="+1P1e= lass=111/rx.="nHAN_OTAP_F_BADF=111/>=12h rx_h_mesh_frlease_reordehss="sre0188lasrx_h_mesh_frlease_reordehss="sre9 1866class="sr211/rx.="nHAN_OTtid_agg_)sub_if_date116=1=12"net/mac80sdateee8021ss="sretyp=116<)IFTYPE_SEc#L157" id="L157" clas1Ag)="node=lo)21=123e= lass=1ssne" nae11/rx.c#L117" i=1ssn>=12lass="sref">hafc="L130uuuuu!=cal" clspinsunrefklass="sref">frespinsunrefk9 iass="sref">has_fcsl19 frereordehsrefk{ )="node=lo)21=124e= lass=1sref">freq, =12SABLE="L130" =12">ha="nlen116{ l19 l18status" class="sref">sh FCS" classps">_may_pull)9211/rx.s_fcs)="node=lo)21=126e= lass=1x.c#L117" iIEEEs)RX_=1x.c>=12amp;NLs)IFTYPE_SEl, loal="L130" =1P7184"> 1441P8e= lass=1sref">freq, =1Psref">ha="nlen116{ =1Pd=ais in RMC, 0"sref">bool<19boo>191"ref">l19="+code=status" class="s19="+13de= lass=1_Fne" nae11/rx.c#L117" i=1_Fn>=1_Fnet/ 0"sref">bool<19boo>19des">loca* Afteaathis point, we only want managleoo> clalas,ref">l19="+code=status" class="s19="+131e= lass=1sref">freq, =1_frid= 0"sref">bool<19boo>19des">loca* so we csrel rorallEll19="+code=status" class="s19="+132e= lass=1 claO(=1_l18na 0"sref">bool<19boo>19des">loca* too *e0monitor a hrefaces.ref">l19="+code=status" class="s19="+133e= lass=1ag &mesh_pathode=1ag<>=1_bool<19boo>19des">loca*sref">l19="+code=status" class="s19="+134e= lass=1"+codeG_Fcharlocal" clas=1"+c>=139a href="+cod1_hdrsdate cla))ac802"sref">freq, l19line" name="L128"> 128192lass=">1_5e= lass=1 class="sref"""""charloc=1 cl>=13887po=QUEUED="L130" 136e= lass=1sref">freq, =138_CONTINUE="L130" 137e= lass=1t/mac80211/rx.="nHAN_OTA=1t/m>=1_7f="nag voidc8 name="L91"> rx_h_mesh_process_sa_query6sr"18s8sref">l18FL192>< process_sa_query6sr"9 ME_MPDU) 188" cla"freq, l18s->=13DFCS" classad"n3>flag &am="sretyp=116<<<<<<) 188" cla"mgm!{ >=13918, 1ize_!loc9="+code=status" class="s19="+14de= lass=19RX_FLAG_Fne" nae11/rx.c=19RX>=14_truccode lass="sref">freq, freq, =19hode= lass="sref">freq, l18ine" name="L91"> 9118ine>189>hamesh_="neef""""""""""""+codslocalode=lohref="net/mac80local="L130" )is_date_pre=19 h>=195, =14ss="srefwd)s">="L130" resup="line" name="resunHANal="L130" freq, =14SABLE="L130" =145=ais in RMC, don="line" na19d=">211/rx.c#L_equalode=lohref="net211/rx.c#L_equalatus" class="sref">smgm!hamesh_="neef""""""""""""+codsef"""""""11/rx.c#L117" ifreq, =14amp;NLs)IFTYPE_SE>0"sref">bool<19boo>191" No>e toown _uniac8 "37sessa*sref">l19="+code=status" class="s19="+197e= lass=19ref">freq, =149" class="sretyp=116<1_hdr=198refWLAN_REAS=QUEUED="L130" 199e= lass=1nLs)IFTYPE_AP_VLAN>f=1nLs>=19d=aisQUEUED="L130" 15de= lass=19"srevlan="L130" =156s="srefwd)s">ed ="line" na19d=">211/rx.c#L_equalode=lohref="net211/rx.c#L_equalatus" class="sref">smgm!hass="sr211/rx.="nHAN_OTA"ne,gclass="sref">hamesh_="neef""""""""""""+codsu">freq, =15hsmgm!hamesh_="neef""""""""""""+codsu">freq, freq, freq, =15"net/mac80sdateee802110"sref">bool<19boo>191" No>efromref1 curroo> AP or no>e>boociat*e0yet.a*sref">l19="+code=status" class="s19="+153e= lass=1a1/rx.="nHAN_OTAP_F_BADF=1a1/>=19local,al="L130" )IFTYPE_AP_VLAN>f=19Ls>=154refWLAN_REAS=QUEUED="L130" 155e= lass=19evlan="L130" =15887po="L128"> 128192lass=">156e= lass=19Ls)IFTYPE_STATION>f=19Ls>=19amp;NLs)I="L1ON MESH_PATH_NO/e=lo)d=class="srehas">lo < 24 + 1 + sizeof"sref">has_fcsfreq, l18 class="sref"acti>lass=x="L130" freq, has_querymac8)a_code lass="sref">freq, *=199" class="sretyp=116bool<19boo>191" Too short SA Queryal clalaa*sref">l19="+code=status" class="s19="+158e= lass=19e" nae11/rx.c#L117" iRX=19e">=19DFCS" classad"n3>flagl,al="L130" freq, =19918, 16de= lass=19ac80dev116{ =16=_CONTINUE="L130" =19h, flags<"""+codsef"""""""11/rx.c#L117" x="L130" )="node=lo)21=162e= lass=19ref">freq, =16l18naligned_le"L1't forwarda_="net/mac80211/rx.="nHAN">l19an class="commNULL"""""""11/rx.c#NULL">loc9="+code=status" class="s19="+163e= lass=196{ _ise ar=196<>=16local,al="L130" =19SABLE="L130" freq, =19l18 *sh FCS" classps">_may_pullr211/rx.="nHAN_OTlocalode=lohref="net/mac80locsref">flags<"""+codsef"""""""11/rx.c#L117" x="L130" )="node=lo)21=166e= lass=19a>{ >=19ef="net/mac80date116{ l19 114sh FCS" classps">_may_pullr224)9211/rx.s_fcs)="node=lo)21=167e= lass=19ac80vi_local *=16819= name="L94"> 94 1memse!=168refWLAN_REASON MESH_PATH_NOmemcpygclass="sref">hmemcpy9 hass="sr211/rx.="nHAN_OTETH_ALE.1 hree1872sref"ETH_ALE.pull)9211/rx.s_fcs)="node=lo)21=169e= lass=19ref">freq, =16818x.c#L157" id="L157" clas1memcpygclass="sref">hmemcpy9 hass="sr211/rx.="nHAN_OTA"ne,gclass="sref">hamesh_="neef""""""""""""+codsef"""""""11/rx.c#L117" i)="node=lo)21=17de= lass=19emptytruct(hmemcpy9 hamesh_="neef""""""""""""+codsu">freq, )="node=lo)21=171e= lass=19dequeuetruct(=17hhas_fcsspu_torp;meshode= lass="srspu_torp;me9 hIEEE802111ITYPE_MGMT6" i"atetruct freq, =195)="node=lo)21=173e= lass=19s="sre=17has_fcs8er poush FCS" classps">_may_pullr21 + sizeof"sref">has_fcsfreq, l18 class="sref"acti>lass=x="L130" freq, has_querymac8)a9211/rx.s_fcs)="node=lo)21=174e= lass=19ode=19amp;NLs)I"sref">has_fcsfreq, l18 class="sref"acti>lass=x="L130" hcategory6" i"sref">has_fcs/rx.cCATEGORY_SArQUERYgclass="sref">h/rx.cCATEGORY_SArQUERYnHANal="L130" (freq, l18 class="sref"acti>lass=x="L130" freq, has_querymac8x="L130" l18 class="sref"acti>lass="sref">has_fcs/rx.cACTIO._SArQUERY_RESPONS#L88" id="L88" c/rx.cACTIO._SArQUERY_RESPONS#nHANal="L130" l18, =17ef="net/mac80date116{ hmemcpy9 freq, l18 class="sref"acti>lass=x="L130" freq, has_querymac8x="L130" =179" class="sretyp=11611/rx.="nHAN_OTmgm!freq, l18 class="sref"acti>lass=x="L130" freq, has_querymac8x="L130" ="L130" =1980>=17DFCS" classad"n3>flaef">has_fcs/rx.cSArQUERY_TR_ID_LE.1 hree1872sref"/rx.cSArQUERY_TR_ID_LE.pull)9211/rx.s_fcs)="node=lo)21=179e= lass=19ref">freq, =17d=aisQUEUED="L130" 18de= lass=19>, ,>=18eFCS" classadid="L157" clas1ieee802111txxreq, l1txxreqatus" class="sref">sh href="+co18 >1866class="sr211/rx.="nHAN_OTh FCS" classps">_may_pull)9211/rx.s_fcs)="node=lo)21=181e= lass=19, =19=19frid==QUEUED="L130" 182e= lass=19 href="+code=ieee802111=19 h>=182ABLE="L130" =198d"n1ag &CONFIG_MACL116" MESHos" !l18t_to)e" 3"truct , frebugsnoin/a>,_CONTINUE="L130" freq, =19amp;N&CONFIG_MACL116" MESHos"h1mgm!_chefklass="sref">freL116" MESHos"h1mgm!_chefk9 ME_MPDU) 188" cla", )rx_h_mesh_fwdingtructs_fcs" class="sref">has_fcs=19887pocode lass="sref">freq, haCONFIG_MA=19la>=19687pos" classME_MPDU) 1rx_h_mesh_mgm!mgm!l19 114has_fcs)="net/mac89211/rx.s_fcs)="node=lo)21=187e= lass=192 ) 1rx_h_mesh_fwdag188lasrx_h_mesh_fwdaghas_fcsIEEE802111SKB_RXCB1 hree1872sref"IEEE802111SKB_RXCB9 )="node=lo)21=188e= lass=19/a>{ =18sref">ha="nlen116{ =18d=ais in RMC, 0"sref">bool<19boo>191"ref">l19="+code=status" class="s19="+19de= lass=19="net/mac80211/rx.fwd)==19=">=19Fnet/ 0"sref">bool<19boo>19des">loca* Fromrhere on, look only at managleoo> clalas.ref">l19="+code=status" class="s19="+191e= lass=19211/rx.s_fcs)tx_inf=1921>=19frid= 0"sref">bool<19boo>19des">loca* Det/ and <.c#L11 clalas are already handled,ref">l19="+code=status" class="s19="+192e= lass=19x.s_fcss)="node=loc=19x.>=19l18na 0"sref">bool<19boo>19des">loca* an9 unknown (sreorv1d) clalas are useless.ref">l19="+code=status" class="s19="+193e= lass=19"L130" code,g=19"L>=19bool<19boo>19des">loca*sref">l19="+code=status" class="s19="+194e= lass=19=19419line" name="L1ON MESH_PATH_NO)sub_if_date116{ lo < 24ts_fcs" class="sref">has_fcs=19">ha="nlen116{ sdate cla))ac802"sref">freq, l19line" name="L128"> 128192lass=">196e= lass=19 )SKB_R=19 <>=198_CONTINUE="L130" 197e= lass=19et/mac80u="L130" =199" class="sree"L12't forwarda*omment"> ">l1gm!l1gm!9 198e= lass=19N MESH_PATH_NOFORWARD="=19N >=19DFCS" classad"n3>flagl,/a>sdate cla))ac802"sref">freq, l19line" name="L128"> 128192lass=">199e= lass=19>haq int a hrefq cl=19>h>=19d=aisQUEUED="L130" 20de= lass=20de= int a hrefq cla20de=>206s="srefwd)s">ed ON MESH_PATH_NO)sub_if_date116{ ll19an class="commNL lo &ulticast)ethfr_ad"ntruct ">lbeac>l18 class="sref"*omment"> ">lbeac>l9 208188lasflage">lo &ultiref">has_fcsIEEE8021119srBEACON_REPORTED/a>, freq, code,g=20"L=>20lass="sref">hafc="L13inDU) 1si!20SABLE="L130" 20">ha="nlen116{ { flags<"""+codsef"""""""11/rx.c#L117" x="L130" 188lasflage">lo &ultiref">has_fcsIEEE802111HW_SIGNAL_DBM/a>, has_fcs)SKB_R=20 <=>20amp;NLs)IFTYPE_SE"+codes"'t forwardasi!ag188lasag 128192lass=">207e= lass=20et/mac80u="L130" 20X_CONTINUE="L130" flaga>, lbeac>l18 class="sref"cfg_mesh_feportcobs>lbeac>l9 flags<"""+codsef"""""""11/rx.c#L117" x="L130" hwiphypullrl="L130" haq int a hrefq cl=20>h=>20amp;NLs)IFTYPEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE *{ has_fcs)="net/mac8r211/rx.="nHAN_OT)sub_if_date116{ lorl="L130" make sure full m=2160>=21declass="sresteee80L1teee8021a>)IFTYPE_SE"+codes"'t forwardasg188lasagl18FLfsr"9 r211/rx.="nHAN_OThi!=21h )sub_if_date116{ 188lasflage">lo |sref">has_fcsIEEE8021119srBEACON_REPORTED/a>, )="node=lo)21=212e= lass=2)get_eesh_="nlentruct =21"net/mac80sda=QUEUED="L130" 213e= lass=2ssne" nae11/rx.c#L117" i=2ssn>=213_CONTINUE="L130" freq, =21419line" name="L1! ON MESH_PATH_NOsg188lasag188lasrx_flage">lo &ultiref">has_fcsIEEE8021119srRA_MATCH/a>, 215e= lass=2a>19ne">191pos" class="s=2a>1>=21">ha="nlen116{ ,/a>sdate cla))ac802"sref">freq, l19line" name="L128"> 128192lass=">216e= lass=2is">="L130" co=2is">=218_CONTINUE="L130" 217e= lass=2116{ =219" class="sree"L1't forwarda*omment"> l ro_unencryptedl1gm!{ 218e= lass=2sref">freq, =21DFCS" classad"n3>flagl,/a>sdate cla))ac802"srefUNUSABL#L88" id="L88" c802"srefUNUSABL# name="L128"> 128192lass=">219e= lass=2ss="sce" name="L160"> 16=2ss=>=21d=aisQUEUED="L130" 22de= lass=2P_F_BADFCS" classfrid=_c=2P_F>=22a18, sdate cla))ac80211/rx.c#L88" id="L88" cl1926sref">l19ef="net/mac80211/rx.c#L119ef=>1=2P1e= lass=211/rx.="nHAN_OTAP_F_BADF=211/>=22frid==QUEUED="L130" 2P2e= lass=2=2=222ABLE="L130" =228d"n1ag &CONFIG_MACL116" MESHos" !l18t_to)e" 3"truct , frebugsnoin/a>,_CONTINUE="L130" freq, =22amp;N&CONFIG_MACL116" MESHos"h1acti>l18 class="sref"L116" MESHos"h1acti>l9 ME_MPDU) 188" cla", )rx_h_mesh_fwdingtructs_fcs" class="sref">has_fcs=22887pocode lass="sref">freq, )RX_=2x.c>=22687pos" classME_MPDU) 1rx_h_mesh_="sref">freq, l18ine" name="L91"> 9118ine>189>{ 1=2P7e= lass=2f"""""""""ne" nae11/rx.c=2f"">=22787pos" classME_MPDU) 1rx_h_mesh_="sref">freq, l18s->has_fcs)sub_if_date116{ 1=2P8e= lass=2sref">freq, =22887pos" classME_MPDU) 1rx_h_mesh_mgm!mgm!l19 114has_fcs)="net/mac89211/rx.s_fcs)="node=lo)21=2P9e= lass=2net/mac80211/rx.mesh_="n=2net>=2Pd=ais in RMC,ME_MPDU) 1rx_h_mesh_fwdag188lasrx_h_mesh_fwdaghas_fcsIEEE802111SKB_RXCB1 hree1872sref"IEEE802111SKB_RXCB9 )="node=lo)21=23de= lass=2_Fne" nae11/rx.c#L117" i=2_Fn>=236s="srefwd)s">nDU) 1de=lo)d=class="srehas">lo sref">has_fcs)sub_if_date116{ lo9211/rx.s_fcs)="node=lo)21=231e= lass=2sref">freq, =23frid=_list="L130" =23l18naligned_le"L12't forwarda*omment"> ">lacti>l18 class="sref"L116" MESH">lacti>l9 233e= lass=2ag &mesh_pathode=2ag<>=23local,/a>sdate cla))ac80211/rx.c#L88" id="L88" cl1926sref">l19ef="net/mac80211/rx.c#L119ef=>1=234e= lass=2"+codeG_Fcharlocal" clas=2"+c>=23SABLE="L130" =23l18 0"sref">bool<19boo>191" l rortoo smallEclalas *sref">l19="+code=status" class="s19="+236e= lass=2sref">freq, =23amp;NLs)I="L1ON MESH_PATH_NO/e=lo)d=class="srehas">lo < ef">has_fcsIEEE802111MI.cACTIO._SIZ#L88" id="L88" cIEEE802111MI.cACTIO._SIZ#tructs_fcs" class="sref">has_fcs=239" class="sretyp=116<1_hdrsdate cla))ac802"srefUNUSABL#L88" id="L88" c802"srefUNUSABL# name="L128"> 128192lass=">238e= lass=2"net/mac80211/rx.="nHAN_=2"ne>=23sref">ha="nlen116{ >=23918, flag &ad"n3=e,gclass="sref">haclass= &ulticast)611/rx.="nHAN_OTmgm!freq, l18 class="sref"acti>lass=x="L130" hcategory6" i"!sref">has_fcs/rx.cCATEGORY_PUBLIChas_fcs=24declass="sresteee80L11_hdrsdate cla))ac802"srefUNUSABL#L88" id="L88" c802"srefUNUSABL# name="L128"> 128192lass=">241e= lass=29ref">freq, =24frid=_list="L130" )is_date_pre=29 h>=24l18naligned_le"L12 ON MESH_PATH_NOsg188lasag188lasrx_flage">lo &ultiref">has_fcsIEEE8021119srRA_MATCH/a>, 243e= lass=2asne" nae11/rx.c#L117" i=2asn>=24local,/a>sdate cla))ac802"srefUNUSABL#L88" id="L88" c802"srefUNUSABL# name="L128"> 128192lass=">244e= lass=29ref">freq, =24SABLE="L130" =245=ais in RMC,switchL1ON MESH_PATH_NOmgm!freq, l18 class="sref"acti>lass=x="L130" hcategory6" ia_code lass="sref">freq, =24amp;NLs)Icase ef">has_fcs/rx.cCATEGORY_HTgclass="sref">h/rx.cCATEGORY_HTmp;N:ode lass="sref">freq, freq, =249" class="sretyp=116<80"sref">bool<19boo>191" srjePDUHT acti>lEclalas fromragesupportp ! HT *sref">l19="+code=status" class="s19="+248e= lass=29_F_BADFCS" classfrid=_c=29_F>=24DFCS" classad"n3>flagEass="line" na19d=">AP_F_BADFCS" classad"n3>flag &ad"n3=e,gclass="sref">haclass=>flag &ad"n3=e,gclass="sref">haclass=x="L130" has_fcs)IFTYPE_AP_VLAN>f=2nLs>=24amp;NLs)IFTYPEEEEEEEEEEEEgotoU) 1rnvalidub_if_date116 128192lass=">25de= lass=29"srevlan="L130" =25=_CONTINUE="L130" =25h!sref">has_fcsNL freq, =25"net/mac80sdateee8021116<8c#L116" sub_if_89pos" class="ss_fcs" class=ref""""""""""""+codsef"""""""11/rx.c#L117" i!sref">has_fcsNL hNL =29loca116<8c#L116" sub_if_89pos" class="ss_fcs" class=ref""""""""""""+codsef"""""""11/rx.c#L117" i!sref">has_fcsNL hNL )IFTYPE_AP_VLAN>f=29Ls>=254refWLAN_REASes">loca116<8c#L116" sub_if_89pos" class="ss_fcs" class=ref""""""""""""+codsef"""""""11/rx.c#L117" i!sref">has_fcsNL hNL =25">ha="nlen116{ !sref">has_fcsNL has_fcs)IFTYPE_STATION>f=29Ls>=25amp;NLs)IFTYPE_SE"+codes"break)TINUE="L130" *=25X_CONTINUE="L130" =29DFCS" classad"n3>flag80"sref">bool<19boo>191" verify acti>lE&ultirsmpse .c#L11 are psreont *sref">l19="+code=status" class="s19="+259e= lass=2nref">freq, =25amp;NLs)IFTYPEEEEEassON MESH_PATH_NO/e=lo)d=class="srehas">lo < ef">has_fcsIEEE802111MI.cACTIO._SIZ#L88" id="L88" cIEEE802111MI.cACTIO._SIZ#truc + 2ts_fcs" class="sref">has_fcs{ =26declass="sresteee80L1teee8021gotoU) 1rnvalidub_if_date116 128192lass=">261e= lass=29ad_inittruct(=26frid=_list="L130" freq, =26"net/mac80sdateee8021switchL1ON MESH_PATH_NOmgm!freq, l18 class="sref"acti>lass=x="L130" freq, l18 class="sref"acti>lass=a_code lass="sref">freq, { _ise ar=296<>=26locacase ef">has_fcs/rx.cHTcACTIO._SMPSgclass="sref">h/rx.cHTcACTIO._SMPSmp;N:_code lass="sref">freq, =264refWLAN_REASes">loca116<8021sE_MPDU) 1rx_h_mesh_="pported_bandub_if_date116 128192lass=">265e= lass=29ref">freq, =26">ha="nlen116{ freq, 128192lass=">266e= lass=29a>{ >=268_CONTINUE="L130" 267e= lass=29ac80vi_local *=269" class="sretyp=116<)IFTYPE_80"sref">bool<19boo>191" .cver>e toHTacapability *sref">l19="+code=status" class="s19="+268e= lass=29a hrefextra_tx_headroom=29a >=26DFCS" classad"n3>flagteee8021switchL1ON MESH_PATH_NOmgm!freq, l18 class="sref"acti>lass=x="L130" freq, freq, freq, =26amp;NLs)IFTYPEEEEEEEEEEEEcase ef">has_fcs/rx.cHTcSMPS926srROL_DISABL#D/a>, freq, )IFTYPef="+code18sampsub_if_date116has_fcs/rx.cHTcCAP_SM_PS9DISABL#D/a>, 128192lass=">271e= lass=29dequeuetruct(=27hfreq, =295has_fcs/rx.cHTcSMPS926srROL_STATICfreq, =27loca116<8021a>)IFTYPef="+code18sampsub_if_date116has_fcs/rx.cHTcCAP_SM_PS9STATIC 128192lass=">274e= lass=29ode=274refWLAN_REASes">loca116<8021ggggggggbreak)TINUE="L130" (ha="nlen116{ has_fcs/rx.cHTcSMPS926srROL_DYNAMICfreq, l18, =27amp;NLs)IFTYPE_SE"+codes"a>)IFTYPef="+code18sampsub_if_date116has_fcs/rx.cHTcCAP_SM_PS9DYNAMIC 128192lass=">277e= lass=29 &d.=279" class="sretyp=116a116<8021ggggggggbreak)TINUE="L130" ="L130" =2980>=27DFCS" classad"n3>flaaaaaaaaaadefault:ode lass="sref">freq, freq, =27amp;NLs)IFTYPEEEEEEEEEEEEEEEEEEEEgotoU) 1rnvalidub_if_date116 128192lass=">28de= lass=29>, ,>=28declass="sresteee80L1teee8021=QUEUED="L130" 281e= lass=29, =29=28hhas_fcsIEEE802111HTcCAP_SM_PS9SHIFTgclass="sref">hIEEE802111HTcCAP_SM_PS9SHIFT name="L128"> 128192lass=">282e= lass=29 href="+code=ieee802111=29 h>=282ABLE="L130" =28loca116<802180"sref">bool<19boo>191" if no change do no>hp ! *sref">l19="+code=status" class="s19="+284e= lass=29ef">freq, =284refWLAN_REASes">loca116<8021Eass haclass=>flag &ad"n3=e,gclass="sref">haclass=x="L130" ha="nlen116{ IEEE802111HTcCAP_SM_PSgclass="sref">hIEEE802111HTcCAP_SM_PS6" is ll19an class="commampsub_if_date116has_fcshaCONFIG_MA=29la>=28amp;NLs)IFTYPE_SE"+codes"a>)IFTYPgotoU) 1handledp="line" name="handled name="L128"> 128192lass=">287e= lass=292 { =28DFCS" classad"n3>flaaaaaaaaaa haclass=>flag &ad"n3=e,gclass="sref">haclass=x="L130" IEEE802111HTcCAP_SM_PSgclass="sref">hIEEE802111HTcCAP_SM_PS6" ie="L128"> 128192lass=">289e= lass=29rx.c#L88" id="L88" cl18=29rx>=28amp;NLs)IFTYPEEEEEEEEEEEE haclass=>flag &ad"n3=e,gclass="sref">haclass=x="L130" has_fcsampsub_if_date116 128192lass=">29de= lass=29="net/mac80211/rx.fwd)==29=">=29=_CONTINUE="L130" )tx_inf=2921>=29h{ flags<"""+codsef"""""""11/rx.c#L117" x="L130" hwiphypull_O02ts_fcs" class="sbandsub_if_date116 &ad"n3=e,/ue0188lasag 128192lass=">292e= lass=29x.s_fcss)="node=loc=29x.>=292ABLE="L130" code,g=29"L>=29loca116<80218" class="sref")atre .c#L11_)atreupdatrub_if_date116haclass=rl="L130" =294refWLAN_REASes">loca116<8021ggggggggdes">loca116<80218" class="sref"IEEE8021119CcSMPS92HANGED/a>, 128192lass=">295e= lass=29=29">ha="nlen116{ ) 1handledp="line" name="handled name="L128"> 128192lass=">296e= lass=29 )SKB_R=29 <>=29amp;NLs)IFTYPE_SE=QUEUED="L130" 297e= lass=29et/mac80u="L130" =299" class="sretyp=116adefault:ode lass="sref">freq, flagaaaaaaaagotoU) 1rnvalidub_if_date116 128192lass=">299e= lass=29>haq int a hrefq cl=29>h>=29amp;NLs)IFTYPEEEE=QUEUED="L130" 30de= lass=30de= int a hrefq cla30de=>30=_CONTINUE="L130" )tx_inf=3021=>30hs)="node=loc=30x.=>308has_fcs/rx.cCATEGORY_BACKfreq, code,g=30"L=>30lass="sref">hafc="L13iass.c#L116" sub_if_89pos" class="ss_fcs" class=ref""""""""""""+codsef"""""""11/rx.c#L117" i!sref">has_fcsNL 304refWLAN_REASes">loca116<8c#L116" sub_if_89pos" class="ss_fcs" class=ref""""""""""""+codsef"""""""11/rx.c#L117" i!sref">has_fcsNL hNL 30">ha="nlen116{ !sref">has_fcsNL hNL )SKB_R=30 <=>30amp;NLs)IFTYPE_SE"+co8c#L116" sub_if_89pos" class="ss_fcs" class=ref""""""""""""+codsef"""""""11/rx.c#L117" i!sref">has_fcsNL hNL 309" class="sretyp=116a116<8c#L116" sub_if_89pos" class="ss_fcs" class=ref""""""""""""+codsef"""""""11/rx.c#L117" i!sref">has_fcsNL has_fcs30DFCS" classad"n3>flagdes"""""break)TINUE="L130" haq int a hrefq cl=30>h=>30d=aisQUEUED="L130" 31de= lass=3160 make sure full m=3160>=31declass="sresteee80L180"sref">bool<19boo>191" verify acti>l_sl19="+code=status" class="s19="+311e= lass=3+code=31hlo < ef">has_fcsIEEE802111MI.cACTIO._SIZ#L88" id="L88" cIEEE802111MI.cACTIO._SIZ#truc + 1ts_fcs" class="sref">has_fcs=315=313_CONTINUE="L130" freq, =314refWLAN_REASes">locaswitchL1ON MESH_PATH_NOmgm!freq, l18 class="sref"acti>lass=x="L130" freq, l18FLaddba_sr"ass=x="L130" l_sl_sfreq, 19ne">191pos" class="s=3a>1>=31">ha="nlen116{ has_fcs/rx.cACTIO._ADDBA_REQfreq, ="L130" co=3is">=31amp;NLs)IFTYPE_SE"+codes"EassON MESH_PATH_NO/e=lo)d=class="srehas">lo < freq, { =319" class="sretyp=116a116<8021ggggggggocassizeof"sref">has_fcsfreq, l18 class="sref"acti>lass=x="L130" freq, l18FLaddba_sr"ass=)saTINUE="L130" 318e= lass=3sref">freq, =31DFCS" classad"n3>flaggggggggggggggggggotoU) 1rnvalidub_if_date116 128192lass=">319e= lass=3ss="sce" name="L160"> 16=3ss=>=31amp;NLs)IFTYPEEEEEEEEEEEEbreak)TINUE="L130" =32declass="sresteee80L1case ef">has_fcs/rx.cACTIO._ADDBA_RESPgclass="sref">h/rx.cACTIO._ADDBA_RESPmp;N:ode lass="sref">freq, =32hlo < freq, =3=325has_fcsfreq, l18 class="sref"acti>lass=x="L130" freq, 323e= lass=3ssne" nae11/rx.c#L117" i=3ssn>=32loca116<8021a>)IFTYPgotoU) 1rnvalidub_if_date116 128192lass=">324e= lass=3sref">freq, =324refWLAN_REASes">loca116<8021break)TINUE="L130" =32">ha="nlen116{ has_fcs/rx.cACTIO._DELBAgclass="sref">h/rx.cACTIO._DELBAmp;N:ode lass="sref">freq, )RX_=3x.c>=32amp;NLs)IFTYPE_SE"+codes"EassON MESH_PATH_NO/e=lo)d=class="srehas">lo < freq, =329" class="sretyp=116a116<8021ggggggggocassizeof"sref">has_fcsfreq, l18 class="sref"acti>lass=x="L130" freq, has_fcs)="nelb"ass=)saTINUE="L130" 328e= lass=3sref">freq, =32DFCS" classad"n3>flaggggggggggggggggggotoU) 1rnvalidub_if_date116 128192lass=">3P9e= lass=3net/mac80211/rx.mesh_="n=3net>=32amp;NLs)IFTYPEEEEEEEEEEEEbreak)TINUE="L130" =33declass="sresteee80L1default:ode lass="sref">freq, freq, =33h) 1rnvalidub_if_date116 128192lass=">332e= lass=3 claO(=335333e= lass=3ag &mesh_pathode=3ag<>=33g &88ac80211/rxn692lass=">3P9e= lass=3net/mac8021=3ag<1refass=3g44444444444FeuLaddba_sr"ass=x=4FeuL) 1rnvalidub_if_date116s)="node=loc=30x.=>308)Icase ef">has_fcs/rx.cSPECTRUM_MGM/O._DELBAgclass="sref">h/rx.cACTIO._D*sref">l193"+code=status" class="s193"+23633 lass=3x.c#L117" iIEEfs">code,g=30"L=>30lb_if_date116 &ad"n3=e,/ue0188lasaghas_fcs3/22373= lass=2t/mac80211/rx.x.mesh_="n=3net>=32amp;NLs)IFTYPEEEEEEEEEE"ass=)saTIL128"> 128192lass3">2383= lass=2"net/mac80211/rx.="nHAN_=2"n3>=23sref">3a="nlen116{ freq, =259" class="sretyp=116a116<8c#L116" sub_if_89pos" class="ss_fcs" class=ref""""""""""""+codsef"""""""11/rx.c#L117" i!sref">has_fcsNL has_fcs3/224d3= lass=29RX_FLAG_Fne" x.mesh_="n=3net>=32amp;NLs)IFTYPEEEEEEEEEABL# name=3L128"> 128192lass3">2413= lass=29ref">freq, =24frid=_3ist="L130" =31declass="sresteee80L180"sref">bool<19boo>191" verify acti>l_s2433= lass=2asne" nae11/rx =31hlo < ef">has_fcsIEEE802111MI.cACTIO._SIZ#L88" id="L88" cIEEE802111MI.cACTIO._SIZ#ABL# name=3L128"> 128192lass3">24434 lass=3sref">freq, =324refWLAN_REASes">loca116<8>=24SABLE=3L130" =324refWLAN_REASes">loca116<8>sref">l193e lass="sref">freq, <3 =29634 lass=3x.c#L117" iIEE, =314refWLAN_REASes">locaswitchL1ON MESH_PATH_NOmgm!freq, l18 class="sref"acti>lass=x="L130" loc_REASes">locaswieasur">locl18FLaddba_sr"ass=x="L130" l_sl_sfreq, <3 =2973= lass=29ref">freqDFCS" clas=3nHA>=32">ha="nlen116SPCT_MSR has_fcs/rx.cACTSPCT_MSR h/rx.cACTIO._D*sref">l193"+code=status" class="s193"+2483= lass=29_F_BADFCS" clnae11/rx =31hlo < has_fcs3/22493= lass=2nLs)IFTYPE_AP_VLAN#L117" iIEE," class="sretyp=116a116<8021ggggggggocassizeof"sref">has_fcsfreq, l18 class="sref"acti>lass=x="L130" loc_REASes">locaswieasur">lochas_fcs)="nelalid name=3L128"> 128192lass3">25d35 lass=29emptytruct(loca116<8>=25=_CONT3NUE="L130" =33hloc>freq, loc>frelassa href1=2nre>=259" class="sretyp=116a116<8c#Lx.="nHAN_OThbandu16<8021ggggggggocassizeof"sx.="nHAN_OThbanduhfreq, =29">ha="nlen116{ ) 1handledp="line" name="ha3ulticast)T3NUE="L130" =32">ha="nlen116SPCT_CHL_SWI &ultiref">has_fcs>ha="nlen116SPCT_CHL_SWI &uO._DELBAgclass="sref">h/rx.cACTIO._Dulticast)T3NUE="L130" )IFTYPE_AP_____ =31hlo < has_fcsfreq, l18 class="sref"acti>lass=x="L130" has_fcs)="nelasref">l193fcs" class="sref">has_fcs3/22563= lass=29Ls)IFTYPE_STATIONNNNNNNNNf1=3sre>=324refWLAN_REASes">loca116<8>_HTmp;N:o3NUE="L130" *=25X_CONT3NUE="L130" =319" class="sretyp=116a116<8c#L116" sub_if_89pos" class="ss_fcs" class=ref""""""""""""+codsef"""""""11/rx.c#L117" i!sref">has_fcsNL l193"+code=status" class="s193"+2593= lass=2nref">freq_STATIONNNNNNNNNf1=3sre>=324refWLAN_REASes">loca116<8truc + 2ts3fcs" class="sref">has_fcs3/226d36 lass=30de= int a hrefq cla30dealid name=3L128"> 128192lass3">26136 lass=311/rx.="nHAN_OTAP_F_BADF=3rid=_c=29_F>=24Dether_addr_equc#L11_)atreupdatrether_addr_equc#lassa href1=2nre>=2516<8021ggggggggocassizeof"sref">has_fcslass=x="L130" lass=x="L130" has_fcs)="nel>=26frid=_3ist="L130" freq_STATIONNNNNNNNNf1=3sre>=324refWLAN_REASes">loca116<8tlticast)T3e lass="sref">freq, <3 =26336 lass=3ag &mesh_pathode=3agfreq, <3 =2643= lass=29e" nae11/rx.c#L117" i1refass=3g44444444444FeuLaddba_sr"ass=x=4FeuL) 1rnvalidub_if_date116 128192lass3">2653= lass=29ref">freqrx.c#L117"=3 cl>=335 128192lass3">26636 lass=29Ls)IFTYPEf1=3sre>=324refWLAN_REASes">loca116<8t_HTmp;N:o3NUE="L130" 2673= lass=29ac80vcss)="node=loc=30x.=>308)Icase ef">has_fcs/rx.cSA_QUERYO._DELBAgclass="sref">h/rx.cACTIO._D*sref">l193"+code=status" class="s193"+2683= lass=29a hrefextra_t =31hlo < freq, <3 =2693= lass=29ref">freq, has_fcsfreq, l18 class="sref"acti>lass=x="L130" lasssa_4Fes=has_fcs)="nelBL#Dmp;N:o3e lass="sref">freq, <3 =27d3= lass=29emptytruct(=324refWLAN_REASes">loca116<8BL#Dass=e=3L128"> 128192lass3">27137 lass=29ref">freq, freq, =314refWLAN_REASes">locaswitchL1ON MESH_PATH_NOmgm!freq, l18 class="sref"acti>lass=x="L130" lasssa_4Fes=l18 class="sref"act3ATICmp;N:o3e lass="sref">freq, <3 =2733= lass=29s="sre=32">ha="nlen116SA_QUERY )Icase ef">has_fcsnlen116SA_QUERY h/rx.cACTIO._DATICass=e=3L128"> 128192lass3">2743= lass=29ode=319" class="sretyp=116a116<8c#L116" sub_if_89pos" class="ss_fcs" class=ref""""""""""""+codsef"""""""11/rx.c#L117" i!sref">has_fcsNL (loca116<8Bmpsass=e=3e lass="sref">freq, <3 =2763= lass=29 href1875sref">l18, =33hfrelassa href1=2nre>=259" class="sretyp=116a116<8c#Lx.="nHAN_OThbandu16<8021ggggggggocassizeof"sx.="nHAN_OThbanduh 128192lass3">2773= lass=29 &d.=29">ha="nlen116{ ) 1handledp="line" name="ha3gggbreak)T3NUE="L130" ="L130" rx.c#L117"=3 cl>=335freq, <3 =2793= lass=29ref">freqf1=3sre>=324refWLAN_REASes">loca116<8alid name=3L128"> 128192lass3">28d3= lass=29>, s)="node=loc=30x.=>308has_fcs/rx.cH308h/rx.cACTIO._Dteee8021=Q3EUED="L130" 2813= lass=29, =31hlo < 128192lass3">28238 lass=29ref">freq_STATIONNNN," class="sretyp=116a116<8021ggggggggocassizeof"sref">has_fcsfreq, l18 class="sref"acti>lass=x="L130" l18FLaddba_sr"ass=x="L130" has_fcs)="nel>=282ABLE=3L130" =324refWLAN_REASes">loca116<8aTICass=e=3"+code=status" class="s193"+28438 lass=29ref">freq, locaswitchL1ON MESH_PATH_NOmgm!freq, l18 class="sref"acti>lass=x="L130" l18FLaddba_sr"ass=x="L130" l18 class="sref"act3smpsass=ts3fcs" class="sref">has_fcs3/22863= lass=29lass="sref">hcss)="node=loc=30x.=>SP_MESH_PEERING_OPE>!sref">has_fcs<0x.=>SP_MESH_PEERING_OPE>O._DELBAgclass="sref">h/rx.cACTIO._DtMICass=e=3L128"> 128192lass3">28738 lass=29ref">freqDFCS" clas=3nHA>=32">ha="SP_MESH_PEERING_CLOS h/rx.cACTIO._Dtggbreak)T3NUE="L130" { =32">ha="SP_MESH_PEERING_CONFIRM h/rx.cACTIO._Dtdefault:o3L128"> 128192lass3">2893= lass=29rx.c#L88" id="L88" cl=23l18s=rmentmesh class="sref"ac cl>=23l18s=rmentmeshlassalass=href=319" class="sretyp=116a116<8c#L116" sub_if_89pos" class="ss_fcs" class=ref""0" has_fcs)="nelsmpsass=e=3L128"> 128192lass3">29d39 lass=29emptytruct() 1rnvalidub_if_date116=29=_CONT3NUE="L130" )tx_i =319" class="sretyp=116a116<8c#L116" sub_if_89pos" c8 class="sref"acti>lass=x="L130" lasssecurit= 128192lass3">29239 lass=29ref">freq_STATIONNNNNNNNNure full m=3160>=31declasuserre ce toU191" verify acti>l_s=292ABLE=3L130" codeeeeeeeeef1=3sre>=324refWLAN_REASes">loca116<8haclass=rl3"L130" 1rnvalidub_if_date116 128192lass3">2953= lass=29=32">ha="SP_MGK_INFORM h/rx.cACTIO._Ddled name=3L128"> 128192lass3">2963= lass=29 =32">ha="SP_MGK_="+cocase ef">has_fcsh/rx.cACTIO._DdMICass=e=3EUED="L130" 2973= lass=29et/mac80u="L111111111=23l18s=rmentmesh class="sref"ac cl>=23l18s=rmentmeshlassalass=href=319" class="sretyp=116a116<8c#L116" sub_if_89pos" class="ss_fcs" class=ref""0" has_fcs)="nelsggbreak)T3e lass="sref">freq, <3 =2983= lass=29N MESH_PATH_NOFORWARDhref) 1rnvalidub_if_date116default:o3L128"> 128192lass3">2993= lass=29>haq int eeeeeeeef1=3sre>=324refWLAN_REASes">loca116<4FTYPEEEE=Q4EUED="L130" 30d40 lass=29emptytruct(=335)tx_inf=3021=>30hs)="node=loc=30x.=>308has_fcs/rx.cH308h/rx.cACTIO._4BACKmp;N:o4e lass="sref">freq, <4 =3034= lass=30"L130" code,g=30"L=>30hlo < has_fcsfreq, l18 class="sref"acti>lass=x="L130" freq, l18FLaddba_sr"ass=x="L130" has_fcs)="ne4ulticast)T4NUE="L130" )tx_inf=3021=>30h 128192lass4N=30640 lass=29a>{ =23l18s=rmentmesh class="sref"ac cl>=23l18s=rmentmeshlassalass=href=319" class="sretyp=116a116<8c#L116" sub_if_89pos" class="ss_fcs" class=ref""0" has_fcs)="ne4DHOCtructs4fcs" class="sref">has_fcs4/23084= lass=30N MESH_PATH_NOFORWARD="=30N =>30DFCS" classad"n3>flagdes"4"""break)T4NUE="L130" freq, =25mesh_="su">mentpath_se#L11_)atreupdatrmesh_="su">mentpath_se#lassa href1=2nre>=2516<8021ggggggggocassizeof"s)E_APgclass="sref">hNL 30d=aisQ4EUED="L130" 31d4= lass=3160 make s h211/rx.c#L117"=2mesh_path_se#menthwmq, =259" class="sretyp=116a116<8c#Lc0" has_fcs)="ne4*sref">l194"+code=status" class="s194"+3114= lass=3+code30DFCS" classad"n3>flagdes"4truc + 1ts4fcs" class="sref">has_fcs4/23124= lass=3)get_eesh_="nl1refass=3g44444444444FeuLaddba_sr"ass=x=4FeuL) 1rnvalidub_if_date116=335freq, freq, <4 =3154= lass=3a>19nereturnass=3g4444444444RXsrROLINU freq, <4 =31641 lass=29a>{ freq, <4 =3174= lass=ss=3g4444444444"+codes"flaggggggggggotoU) h/rx.cACTIO._4r"ass=)saT4NUE="L130" 3184= lass=3sref"> href1=2nre>=259b_if_date116 &ad"n3=e,/ue0 128192lass4">3194= lass=3ss="scure full m=3160>=31declaswillereturnain the next toU191" verify acti>l_sfreq, <4 =3P142 lass=29ref">freq, freq, <4 =3P24= lass==29">ha="nlen116{ ) h/rx.cACTIO._4suass=)saT4NUE="L130" 3234= lass=3ssne" , =25b_if_date116has_fcs)="ne4alid name=4L128"> 128192lass4">3244= lass=3sref">freq href1=2nre>=25b_if_date1161rnvalidub_if_date116=25b_if_date116freq, <4 =3P64= lass=3x.c#L1returnass=3g4444444444RXsQUEUref">has_fcs/RXsQUEUre) 1rnvalidub_if_date116freq, <4 =3P742 lass=29 *3284216h/rx.cACTIO._4s""break)T4L128"> 128192lass4">3P94= lass=3net/ma href1=2nre>=25b_if_date116=319" class="sretyp=116a116<8c#L116" sub_if_89pos" cLkb_4FeuL/ht_smpsass=x="Lkb_4FeuL8c#Lx.="nHAN_OThbandub_if_date116freq, <4 =3314= lass=3sref">11/rx.c#L117"=2 cl>=23l184FeuL_work class="sref"ac cl>=23l184FeuL_worklassalass=href=31b_if_date116{ =319" class="sretyp=116a116<8c#L116" sub_if_89pos" cwork class="sref"acworklass 128192lass4">3324= lass=3 claO(, =25b_if_date116has_fcs)="ne4defc=====Q4EUED="L130" 33343 lass=30"L130" =25b_if_date1161rnvalidub_if_date116=33g 4amp88ac80211/rxn692lass="43P9e=4lass=3net/mac8returnass=3g4444444444RXsQUEUref">has_fcs/RXsQUEUre) 1rnvalidub_if_date116=335l194"+code=status" class="s194"+23643 lass=29a>{ has_fcs4/22374= lassull[ic>11/rx.c#L117"=2 cl>=23l18rx_resul8021ggggggggocas cl>=23l18rx_resul86{ 128192lass4">2384= lass11/rx.c#L117"=2 cl>=23l18rx_h_userre ce_16<8021ggggggggocas cl>=23l18rx_h_userre ce_16<8lassastruct>11/rx.c#L117"=2 cl>=23l18rx_" class="sretyp=116 cl>=23l18rx_" cl6=25b_if_date116has_fcs)="ne4d""break)T4a="nlen116{ has_fcs4/224d4= lass=29RX_FLstruct>11/rx.c#L117"=2 cl>=23l18rx_9b_if_date116=23l18rx_9b_if_6=259b_if_date116 &=L130" 128192lass4">24144 lass=3sref">int>11/rx.c#L117"=2sigdate116 &=L10s)="node=loc=29x4TCH6" isaT4NUE="L130" 2434= lass=2asne" ure full m=3160>=31declasskip known-badsteee800"srefs oU<8returnathemain the next toU191" verify acti>l_s 128192lass4">24444 lass=3sref">fs">code,g=30"L=>30lb_if_date116 &ad"n3=e,/ue0has_fcs)="ne4>=24SABLE=4L130" l194e lass="sref">freq, <4 =29644 lass=29a>{ freq, <4 =2974= lass=29ref">ure full m=3160>=31declaoo>191" verify acti>l_s=31decL130" here means the kernel doesn't know how to toU191" verify acti>l_shas_fcs4/22494= lassure full m=3160>=31decL130" 191" verify acti>l_s 128192lass4">25d45 lassure full m=3160>=31decL130" 191" verify acti>l_s=31decL130" 191" verify acti>l_s=31decL130" 191" verify acti>l_s &mesh_pathode=3ag4ulticast)T4NUE="L130" fs">code,g=30"L=>30_if_date116{ flags<"""+codflag_date116has_fcs)="ne4ulticast)T4NUE="L130" &=L1code,g=30"L=>30lb_if_date116 &ad"n3=e,/ue0{ 1rnvalidub_if_date116l194fcs" class="sref">has_fcs4/225645 lass=29a>{ _HTmp;N:o4NUE="L130" fs">code,g=30"L=>30cfg=23l18rx_16<8021ggggggggocascfg=23l18rx_16<8lassalass=href=31b_if_date116, &.c#L116" sub_if_e,gclass="sref"4>=25X_CONT4NUE="L130" ""break)T4"+code=status" class="s194"+2594= lass=2nref">freq_STATIONNNNNNrx.="nHAN_OT)suGFP_ATOMIag>!sref">has_fcGFP_ATOMIa8c#Lc0 l18 class="sref"act4truc + 2ts4fcs" class="sref">has_fcs4/226d46 lass=3160 make s, =25b_if_date116has_fcs)="ne4alid name=4L128"> 128192lass4">26146 lass=311/rx.="nHAN_OTAP_F_BA href1=2nre>=25b_if_date1161rnvalidub_if_date116=26frid=_4ist="L130" freqd"n3=e,/ue0=25b_if_date116freq, <4 =26346 lass=30"L130" has_fcs/RXsQUEUre) 1rnvalidub_if_date116freq, <4 =2644= lass=29e" narx.c#L117"=3 cl>=335 128192lass4">26546 lasse>=324refWLAN_REASes">loca116<4smpsass=e=4L128"> 128192lass4">26646 lass=29a>{ 2674= lass=29ac80vreturnass=3g4444444444RXsrROLINU l194"+code=status" class="s194"+2684= lassrx.c#L117"=3 cl>=335freq, <4 =26946 lass=30>haq int a hrefq cl=30>4BL#Dmp;N:o4e lass="sref">freq, <4 =27d4= lassull[ic>11/rx.c#L117"=2 cl>=23l18rx_resul8021ggggggggocas cl>=23l18rx_resul86{ 128192lass4">27147 lass11/rx.c#L117"=2 cl>=23l18rx_h_="su">mreturn021ggggggggocas cl>=23l18rx_h_="su">mreturnlassastruct>11/rx.c#L117"=2 cl>=23l18rx_" class="sretyp=116 cl>=23l18rx_" cl6=25b_if_date116has_fcs)="ne4gggbreak)T4NUE="L130" l18 class="sref"act4ATICmp;N:o4e lass="sref">freq, <4 =2734= lass=29s="srstruct>11/rx.c#L117"=2 cl>=23l18b_if_date116{ =23l18b_if_6=25b_if_date116{ 30_if_date116{ 1rnvalidub_if_date116 128192lass4">2744= lass=29ode11/rx.c#L117"=2 cl>=23l1816<8021ggggggggocas cl>=23l1816<8lassa* href1=2nre>=2516<8021ggggggggocassizeof"s=L1astruct>11/rx.c#L117"=2 cl>=23l1816<8021ggggggggocas cl>=23l1816<8lassa*) 11/rx.c#L117"=2b_if_date11611/rx.c#L117"=2sk_bufss="ss_fcs" classk_bufslassa* href1=2nre>=25nbkbdate1161rnvalidub_if_date116freq, <4 =2764= lass=29 hrefstruct>11/rx.c#L117"=2 cl>=23l18sub_if_" class="sretyp=116 cl>=23l18sub_if_" cl6=259" class="sretyp=116a116<8c#L=L1code,g=30"L=>30_if_date116 128192lass4">2774= lass=29 &struct>11/rx.c#L117"=2 cl>=23l18rx_9b_if_date116=23l18rx_9b_if_6=259b_if_date116 &=L130" freq, <4 =2794= lass=29ref">=23l18is_="su">freq, =23l18is_="su">lassa href1=2nre>=2516<8021ggggggggocassizeof"sref">has_fcs{ 128192lass4">28d48 lass=3160 make sreturnass=3g4444444444RXsrROLINU 28148 lass=29ref">freq, 128192lass4">28248 lass=29ref">ure full m=3160>=31declaoo>191" verify acti>l_s=282ABLE=4L130" =31decL130" anesteee80oo>191" verify acti>l_sTICass=e=4"+code=status" class="s194"+28448 lassure full m=3160>=31decL130" returnef">unknownoo>191" verify acti>l_sand;=31decL130" 191" verify acti>l_smpsass=e=4fcs" class="sref">has_fcs4/22864= lassure full m=3160>=31decL130" the 0x80 bitain the teee800category, aef" quired byoo>191" verify acti>l_s_HTmp;N:o4L128"> 128192lass4">28748 lassure full m=3160>=31decL130" 191" verify acti>l_s=31decL130" loc "srefoo>191" verify acti>l_s 128192lass4">28948 lassure full m=3160>=31decL130" ) >191" verify acti>l_s 128192lass4">29d49 lassure full m=3160>=31decL130" 191" verify acti>l_s=29=_CONT4NUE="L130" =31decL130" 191" verify acti>l_s 128192lass4">29249 lass=3 claO(, code,g=30"L=>30lb_if_date116 &ad"n3=e,/ue0hNL =292ABLE=4L130" =319" class="sretyp=116a116<8c#L116" sub_if_89pos" class="ss_fcs" class=ref""""""""""""+codsef"""""""11/rx.c#L117" ihNL TICass=e=4"L130" =319" class="sretyp=116a116<8c#L116" sub_if_89pos" class="ss_fcs" class=ref""""""""""""+codsef"""""""11/rx.c#L117" i!sref">has_fcsNL 8c#Lc0=2"net/mac80211/rx.="nHAN_=2"n4GEDass=te=4L128"> 128192lass4">2954= lass=29 128192lass4">29649 lass=29a>{ 297497lass=3sref">fs">code,g=30"L=>30entmulticast_ether_addrfreq, =2516<8021ggggggggocassizeof"sref">has_fcsfreq, <4 =2984= lass=29N MESH_PATH_Nreturnass=3g4444444444RXsDROP_MONITOR 128192lass4">29949 lass=30>haq int a hrefq cl=30>5FTYPEEEE=Q5EUED="L130" 30d50 lass=29emptyure full m=3160>=31declasdo notNreturnarejected0teee800"srefs *boo>191" verify acti>l_s30=_CONT5NUE="L130" =25m6<8021ggggggggocassizeof"sref">has_fcsfreq, l1category021ggggggggocascategorylass=lass=10x800=2"net/mac80211/rx.="nHAN_=2"n5"""break)T5NUE="L130" freqreturnass=3g4444444444RXsDROP_UNUSABL freq, <5 =30350 lass=3ag &mesh_pathode=3ag5ulticast)T5NUE="L130" =25nbkbdate11630lkb_copy_exp1_>188lasaglassa href1=2nre>=25b_if_date116{ flags<"""+codextra_tx_headroomhref="net/mac80extra_tx_headroomlassx.0.c#L116" sub_if_e,gclass="sref"5ulticast)T5NUE="L130" has_fcGFP_ATOMIa8c#Lc18LAG>1rnvalidub_if_date116 128192lass5N=306506lass=30211/r, =25nbkbdate116l18 class="sref"act5ulticast)T5NUE="L130" 11/rx.c#L117"=2 cl>=23l1816<8021ggggggggocas cl>=23l1816<8lassa* href1=2nre>=25n16<8021ggggggggocasnsizeof"s=L1avoid *) href1=2nre>=25nbkbdate116has_fcs5/230850 lass=2"net/mac80211/rx.="nHAN_=2"n5"""break)T5NUE="L130" freq href1=2nre>=25n16<8021ggggggggocasnsizeof"sref">has_fcsfreq, l1category021ggggggggocascategorylass=|=10x8018LAG>1rnvalidub_if_date11630d=aisQ5EUED="L130" 31d5= lass=3160 make s href1=2nre>=25memcpy021ggggggggocasmemcpylassa href1=2nre>=25n16<8021ggggggggocasnsizeof"sref">has_fcshas_fcs!sref">has_fcs8c#Lc18LAG>1rnvalidub_if_date116l195"+code=status" class="s195"+3115= lass=3+code=25memcpy021ggggggggocasmemcpylassa href1=2nre>=25n16<8021ggggggggocasnsizeof"sref">has_fcs, has_fcs8c#Lc18LAG>1rnvalidub_if_date116has_fcs5/231251 lass=29x.s_fcss)="node=loc=29x5===break)T5NUE="L130" =25memsec_REASes">locaswiemseclassa href1=2nre>=25nbkbdate1161rnvalidub_if_date116freq, freq, <5 =31551 lass=29evlan="L130" 11/rx.c#L117"=2 cl>=23l18tx_bkbdate116=23l18tx_bkblassa href1=2nre>=25b_if_date1161rnvalidub_if_date116freq, <5 =316516lass=30211/rrx.c#L117"=3 cl>=335freq, <5 =31751 lass=29ref">uas_fcs=25b_if_date1163185= lass=3sref">returnass=3g4444444444RXsQUEUref">has_fcs/RXsQUEUre) 1rnvalidub_if_date116 128192lass5">3195= lassrx.c#L117"=3 cl>=335freq, <5 =3P152 lassull[ic>11/rx.c#L117"=2 cl>=23l18rx_resul8021ggggggggocas cl>=23l18rx_resul86{ freq, <5 =3P25= lass11/rx.c#L117"=2 cl>=23l18rx_h_16<8021ggggggggocas cl>=23l18rx_h_16<8lassastruct>11/rx.c#L117"=2 cl>=23l18rx_" class="sretyp=116 cl>=23l18rx_" cl6=25b_if_date116has_fcs)="ne5suass=)saT5NUE="L130" 3235= lassl18 class="sref"act5alid name=5L128"> 128192lass5">32452 lass=29ode11/rx.c#L117"=2 cl>=23l18sub_if_" class="sretyp=116 cl>=23l18sub_if_" cl6=259" class="sretyp=116a116<8c#L=L1code,g=30"L=>30_if_date11611/rx.c#L117"=2 cl>=23l1816<8021ggggggggocas cl>=23l1816<8lassa* href1=2nre>=2516<8021ggggggggocassizeof"s=L1avoid *) href1=2nre>=25b_if_date116freq, <5 =3P65= lass=3x.c#L1rx.="nHAN_OT)su__lee lass="sreyp=116__lee 6freq, <5 =3P752 lass=29 *32852 lass=3sref"> href1=2nre>=259b"""""""11/rx.c#L11s7" i3016<8021ggggggggocassizeof"sref">has_fcs{ 128192lass5">3P952 lass=30>haq int a hrefq cl=30>5EEEbreak)T5NUE="L130" =23l18s=rmentmesh class="sref"ac cl>=23l18s=rmentmeshlassalass=href=319" class="sretyp=116a116<8c#L116" sub_if_89pos" class="ss_fcs" class=ref""0E_APgclass="sref">hNL freq, <5 =33153 lass=3+code=319" class="sretyp=116a116<8c#L116" sub_if_89pos" class="ss_fcs" class=ref""""""""""""+codsef"""""""11/rx.c#L117" i!sref">has_fchree1872sref"tyADHOa8c#L=lass=lass="sref">hNL 128192lass5">33253 lass=29ref">freqhref=319" class="sretyp=116a116<8c#L116" sub_if_89pos" class="ss_fcs" class=ref""""""""""""+codsef"""""""11/rx.c#L117" i!sref">has_fcsNL 33353 lass=30"L130" freq, =314ref9b"""""""11/rx.c#L11s7" il18 class="sref"act5*sref">l195"+code=status" class="s195"+23653 lass=3x.c#L1css)="node=loc=3cpu_to_lee lass="sreyp=116cpu_to_lee lassa href1=2nre>=25IEEE802111Sef"tyAUTH h/rx.cACTIO._5SIZ#tructs5fcs" class="sref">has_fcs5/2237537lass=3x.c#L1css)="node=loc=3cpu_to_lee lass="sreyp=116cpu_to_lee lassa href1=2nre>=25IEEE802111Sef"tyBEACg>!sref">has_fcsh/rx.cACTIO._5S"ass=)saT5L128"> 128192lass5">238538lass=3x.c#L1css)="node=loc=3cpu_to_lee lass="sreyp=116cpu_to_lee lassa href1=2nre>=25IEEE802111Sef"tyPROBE_RESP""""11/rx.c#L11IEEE802111Sef"tyPROBE_RESPh/rx.cACTIO._5S""break)T5a="nlen116{ freq re full m=3160>=31declasprocess1for all: mesh, mlma,aibss *boo>191" verify acti>l_shas_fcs5/224d54 lass=3160 make s="=30N =>30DFCS" classad"n3>flagdes"5ABL# name=5L128"> 128192lass5">24154 lass=3sref">css)="node=loc=3cpu_to_lee lass="sreyp=116cpu_to_lee lassa href1=2nre>=25IEEE802111Sef"tyASSOC_RESP""""11/rx.c#L11IEEE802111Sef"tyASSOC_RESPh/rx.cACTIO._5AZ#truc +o5ist="L130" s)="node=loc=3cpu_to_lee lass="sreyp=116cpu_to_lee lassa href1=2nre>=25IEEE802111Sef"tyREASSOC_RESP""""11/rx.c#L11IEEE802111Sef"tyREASSOC_RESPh/rx.cACTIO._5Aefc=====Q5NUE="L130" 2435= lass=2asne" css)="node=loc=3cpu_to_lee lass="sreyp=116cpu_to_lee lassa href1=2nre>=25IEEE802111Sef"tyDEAUTH h/rx.cACTIO._5A=33g 5L128"> 128192lass5">24454 lass=3sref">css)="node=loc=3cpu_to_lee lass="sreyp=116cpu_to_lee lassa href1=2nre>=25IEEE802111Sef"tyDISASSOC h/rx.cACTIO._5A21break)T5L130" code,g=30"L=>30entmulticast_ether_addrfreq, =2516<8021ggggggggocassizeof"sref">has_fcshNL sref">l195e lass="sref">freq, <5 =29654 lass=29 , =2516<8021ggggggggocassizeof"sref">has_fcsfreq, <5 =29754 lass=29et/mac80u="L111111111returnass=3g4444444444RXsDROP_MONITOR has_fcs5/224954 lass=2nref">freq re full m=3160>=31declasprocess1only1for ull[ion *boo>191" verify acti>l_s 128192lass5">25d55 lass=3160 make s, =259" class="sretyp=116a116<8c#L116" sub_if_89pos" class="ss_fcs" class=ref""""""""""""+codsef"""""""11/rx.c#L117" i!sref">has_fcsNL freq="=30N =>30DFCS" classad"n3>flagdes"5ulticast)T5NUE="L130" s)="node=loc=3cpu_to_lee lass="sreyp=116cpu_to_lee lassa href1=2nre>=25IEEE802111Sef"tyPROBE_REQ""""11/rx.c#L11IEEE802111Sef"tyPROBE_REQh/rx.cACTIO._5ulticast)T5NUE="L130" re full m=3160>=31declasprocess1only1for ibss *boo>191" verify acti>l_s=259" class="sretyp=116a116<8c#L116" sub_if_89pos" class="ss_fcs" class=ref""""""""""""+codsef"""""""11/rx.c#L117" i!sref">has_fchree1872sref"tyADHOa8c#LCl195fcs" class="sref">has_fcs5/225655 lass=29 30DFCS" classad"n3>flagdes"5u"ass=)saT5NUE="L130" h/rx.cACTIO._5u""break)T5"+code=status" class="s195"+2595= lass=2nref">freqreturnass=3g4444444444RXsDROP_MONITOR has_fcs5/226d56 lass=3160=335 128192lass5">26156 lass=29ref">freq, =26frid=_5ist="L130" ure full m=3160>=31decla 4FeuL up0"sref1oU<8kick off workato process1it *boo>191" verify acti>l_sfreq, <5 =26356 lass=30"L130 href1=2nre>=25b_if_date116freq, <5 =26456 lass=30=25bkb_4FeuL_tai=319" class="sretyp=116a116<8c#L116" sub_if_89pos" cLkb_4FeuL/ht_smpsass=x="Lkb_4FeuL8c#Lx.="nHAN_OThbandub_if_date116 128192lass5">26556 lass=3nHAN_Od"n3=e,/ue0=23l184FeuL_work class="sref"ac cl>=23l184FeuL_worklassalass=href=31_if_date116{ =319" class="sretyp=116a116<8c#L116" sub_if_89pos" cwork class="sref"acworklass 128192lass5">266566lass=30211/r, =25b_if_date116has_fcs)="ne5t_HTmp;N:o5NUE="L130" 26756 lass=29et/mac80u="L1 href1=2nre>=25b_if_date1161rnvalidub_if_date116l195"+code=status" class="s195"+26856 lass=2"net/mac80211/rx.="nHAN_=2"n5b""break)T5e lass="sref">freq, <5 =26956 lass=2nref">returnass=3g4444444444RXsQUEUref">has_fcs/RXsQUEUre) 1rnvalidub_if_date116freq, <5 =27d5= lassrx.c#L117"=3 cl>=335 128192lass5">27157 lass=29ref">freq, =31decla TODO:euse IEEE8021119X_FRAGMENTED *boo>191" verify acti>l_sfreq, <5 =2735= lassull[ic>void d"n3=e,/ue0=23l18rx_cooka>_monitor class="sref"ac cl>=23l18rx_cooka>_monitorlassastruct>11/rx.c#L117"=2 cl>=23l18rx_" class="sretyp=116 cl>=23l18rx_" cl6=25b_if_date116 128192lass5">27457 lass=29>>>>>>>>>>>>>>>>>>>>>>>>struct>11/rx.c#L117"=2 cl>=23l18ratL/ht_smpsass=x=" cl>=23l18ratL6=25batL/ht_smpsass=x="ratL6has_fcs)="ne5Aand;l18 class="sref"act5Ampsass=e=5e lass="sref">freq, <5 =2765= lass=29 hrefstruct>11/rx.c#L117"=2 cl>=23l18sub_if_" class="sretyp=116 cl>=23l18sub_if_" cl6=259" class="sretyp=116a116<8c#L18LAG>1rnvalidub_if_date116 128192lass5">2775= lass=29 &struct>11/rx.c#L117"=2 cl>=23l18b_if_date116{ =23l18b_if_6=25b_if_date116{ 30_if_date116{ 1rnvalidub_if_date11611/rx.c#L117"=2sk_bufss="ss_fcs" classk_bufslassa* href1=2nre>=25bkbdate11630_if_date116=25bkb2date1161rnvalidub_if_date116freq, <5 =2795= lass=29ref">struct>11/rx.c#L117"=2lid_devicL/ht_smpsass=x="lid_devicLlassa* href1=2nre>=25prev_dev class="sref"acprev_devlass=L1code,g=30"L=>30NULLg>!sref">has_fchULL.c#L18LAG>1rnvalidub_if_date116 128192lass5">28d58 lass=29RX_FLstruct>11/rx.c#L117"=2 cl>=23l18rx_9b_if_date116=23l18rx_9b_if_6=259b_if_date116 &=L130" 28158 lass=3sref">int>11/rx.c#L117"=2needa>_headroomhref="net/mac80needa>_headroom.c#L18LAG>1rnvalidub_if_date116 128192lass5">28258 lass=29x.s_fcss)="node=loc=29x5>=282ABLE=5L130" =31declaoo>191" verify acti>l_sTICass=e=5"+code=status" class="s195"+28458 lassure full m=3160>=31decL130" monitor has been processed0already, thenoo>191" verify acti>l_sand;=31decL130" 191" verify acti>l_smpsass=e=5fcs" class="sref">has_fcs5/22865= lassure full m=3160>=31decL130" 191" verify acti>l_s_HTmp;N:o5L128"> 128192lass5">287587lass=3sref">fs">code,g=30"L=>30_if_date116has_fcs)="ne5tggbreak)T5NUE="L130" 1rnvalidub_if_date116 128192lass5">28958 lass=3net/ma href1=2nre>=25b_if_date116 128192lass5">29d59 lass=30de= int a hrefq cla30d5>=29=_CONT5NUE="L130" =31decla If there are no cooka> monitor interfacfs, jusc "see the SKB *boo>191" verify acti>l_s 128192lass5">29259 lass=3 claO(, { _mntr_date116_mntr_6has_fcs)="ne5>=292ABLE=5L130" 1rnvalidub_if_date116TICass=e=5"L130" freq, 128192lass5">2955= lass=29=31decla room1for the radiotap header based0on drivar1fel[191" verify acti>l_s 128192lass5">29659 lass=3x.c#L1rx.="nHAN_OT)suneeda>_headroomhref="net/mac80needa>_headroom.c#L=L130" =23l18rx_radiotap_h=23l18rx_radiotap_h=25b_if_date116{ 29759 lass=29 *freq, <5 =2985= lass=29N MES, =259kb_headroomhref="net/mac809kb_headroomlassa href1=2nre>=25bkbdate116_headroomhref="net/mac80needa>_headroom.c#L=lass=lass="sref">hNL 128192lass5">29959 lass=2nref">freq href1=2nre>=25p9kb_exp1_>_head class="sref"acp9kb_exp1_>_headlassa href1=2nre>=25bkbdate116_headroomhref="net/mac80needa>_headroom.c#Lx.0.f="nHAN_OThbanduGFP_ATOMIag>!sref">has_fcGFP_ATOMIa8c#Lc0"sref">hNL 30d60 lass=3160 make sgoto130" 1rnvalidub_if_date11630=_CONT6NUE="L130" freq, ure full m=3160>=31decla prepeU<8radiotap informl[ion *boo>191" verify acti>l_sfreq, <6 =30360 lass=30"L130 href1=2nre>=25 cl>=23l18add8rx_radiotap_header href="+codes"/ cl>=23l18add8rx_radiotap_headerlassa href1=2nre>=25b_if_date116{ _headroomhref="net/mac80needa>_headroom.c#Lx verify acti>l_s>>>>>>>>>>>>>>>>>>>>>>>>.="nHAN_OThbandufalsL/ht_smpsass=x="falsLa> & =324refWLAN_REASes">loca116<6B6ticast)T6N128"> 128192lass6N=30660 lass=3x.c#L1rx.="nHAN_OT)su9kb_set_REA_header href="+codes"/9kb_set_REA_headerlassa href1=2nre>=25bkbdate116uas_fcs=3d.c#L=L130" 1rnvalidub_if_date116freq, <6/230860 lass=3sref"> href1=2nre>=259kbdate1161rnvalidub_if_date116 128192lass6N=30960 lass=3net/ma href1=2nre>=259kbdate116=25ETH_P_f_d_2date116 & 30d=aisQ6EUED="L130" 31d61 lass=30de= int a hrefq cla30d6*sref">l196"+code=status" class="s196"+3116= lass=3+code< href1=2nre>=25bist_for_each_31dry_rcudate116{ =25b" class="sretyp=116a116<8c#Lx.lass=href=31b_if_date116{ has_fcs6/231261 lass=29ref">freq=23l18a116<_runnef"ass="sretyp=116 cl>=23l18s116<_runnef"lassa href1=2nre>=25b" class="sretyp=116a116<8c#Lc0"sref">hNL freq, freq, <6 =31561 lass=29evlan="L130" , =259" class="sretyp=116a116<8c#L116" sub_if_89pos" class="ss_fcs" class=ref""""""""""""+codsef"""""""11/rx.c#L117" ihNL freq, <6 =31661 lass=29 =259" class="sretyp=116a116<8c#L116" sub_if_89pos" cudate116{ hNL freq, <6 =31761 lass=29et/mac80u="L111111111continue31861 lass=2"net/mac80211/rx.="nHAN_=2"n6=""break)T6L128"> 128192lass6">31961 lass=2nref">freq, =25prev_dev class="sref"acprev_devlass l18 class="sref"act6EEEbreak)T6NUE="L130" make s=3+code< href1=2nre>=25bkb2date11630lkb_cloref"te116=25bkbdate116!sref">has_fcGFP_ATOMIa8c#Lc18LAG>1rnvalidub_if_date116freq, <6 =3P162 lass=311/rx.="nHAN_OTAP_F_BA, =259kb2date116l18 class="sref"act6E""break)T6e lass="sref">freq, <6 =3P262 lass=29ref">freq> make s=3+code< href1=2nre>=25bkb2date116has_fcs30prev_dev class="sref"acprev_devlass18LAG>1rnvalidub_if_date11632362 lass=30"L130" =25lidif_receive_skbdate116=25bkb2date1161rnvalidub_if_date116 128192lass6">32462 lass=29>>>>>>>>rx.c#L117"=3 cl>=335=335freq, <6 =3P662 lass=29a>{ freq, <6 =3P762 lass=29et/mac80u="L1 href1=2nre>=25prev_dev class="sref"acprev_devlass=L1code,g=30"L=>309" class="sretyp=116a116<8c#L116" sub_if_89pos" cdev class="sref"acdevlass18LAG>1rnvalidub_if_date11632862 lass=29N MESH_PATH_Ncode,g=30"L=>309" class="sretyp=116a116<8c#L116" sub_if_89pos" cdev class="sref"acdevlassr211/rx.="nHAN_OT)sub_it_date1161rnvalidub_if_date116 128192lass6">3P962 lass=2nref">freq href1=2nre>=259" class="sretyp=116a116<8c#L116" sub_if_89pos" cdev class="sref"acdevlassr211/rx.="nHAN_OT)sub_it_date11630lkbdate1161rnvalidub_if_date116=335freq, <6 =33163 lass=29ref">freq, 128192lass6">33263 lass=3 claO(, =25prev_dev class="sref"acprev_devlass l18 class="sref"act6defc=====Q6EUED="L130" 33363 lass=30"L130" 30lkbdate11630prev_dev class="sref"acprev_devlass18LAG>1rnvalidub_if_date116=33g 6amp88ac80211/rxn692lass="63P9e=63 lass=29 href1=2nre>=25lidif_receive_skbdate116=25bkbdate1161rnvalidub_if_date116a6" is co6L130" 1rnvalidub_if_date1166ticast)T6"+code=status" class="s196"+23663 lass=3x.c#L1rx.c#L117"=3 cl>=335has_fcs6/223763 lass=29 * 128192lass6">238638lass=30" h/rx.cACTIO._6S""break)T6a="nlen116{ has_fcs6/224d64 lassrx.c#L117"=3 cl>=335 128192lass6">24164 lass=29ref">freq, void d"n3=e,/ue0=23l18rx_toU=23l18rx_toU11/rx.c#L117"=2 cl>=23l18rx_" class="sretyp=116 cl>=23l18rx_" cl6=25b_if_date11624364 lass=30"L130" href1=2nre>=25 cl>=23l18rx_resul8021ggggggggocas cl>=23l18rx_resul86has_fcs)="ne6A=33g 6L128"> 128192lass6">24464 lassl18 class="sref"act6A21break)T6L130" =314refrfs class="sref"acre_6l18 class="sref"act6>sref">l196e lass="sref">freq, <6 =29664 lass=29 s)="node=loc=3RXsDROP_MONITOR h/rx.cACTIO._6Y_HTmp;N:o6e lass="sref">freq, <6 =29764 lass=29et/mac80u="L1>s)="node=loc=3If_d_DEBUG_INC { 1rnvalidub_if_date116=25b_if_date116has_fcs)="ne6A""break)T6fcs" class="sref">has_fcs6/224964 lass=2nref">freqc80u="L1>s)="node=loc=3b_if_date1161rnvalidub_if_date116 128192lass6">25d65 lass=3160 make sure full m=3160>=31decla fall through *boo>191" verify acti>l_ss)="node=loc=3RXsCONTINU freqstruct>11/rx.c#L117"=2 cl>=23l18ratL/ht_smpsass=x=" cl>=23l18ratL6=25batL/ht_smpsass=x="ratL630NULLg>!sref">has_fchULL.c#L18LAG>1rnvalidub_if_date11611/rx.c#L117"=2 cl>=23l18supported_b1_>188lasag=23l18supported_b1_>6=25sb1_>188lasag61rnvalidub_if_date116 6NUE="L130" struct>11/rx.c#L117"=2 cl>=23l18rx_9b_if_date116=23l18rx_9b_if_6=259b_if_date116 &18LAG>1rnvalidub_if_date116=324refWLAN_REASes">loca116<6asref">l196fcs" class="sref">has_fcs6/225665 lass=29 =259b_if_date116 &=L130" 1rnvalidub_if_date116 *309b1_>188lasag630_if_date116{ flags<"""+codwiphy021ggggggggocaswiphy.c#L116" sub_iflocalode=b1_>_date116_.c#L[ href1=2nre>=259b_if_date116 &116" sub_iflocalode=b1_>date116a> &]18LAG>1rnvalidub_if_date116freq=314ref9b_if_date116 &116" sub_iflocalode=flagdate116hNL has_fcs6/226d66 lass=3160 make s=3+code< href1=2nre>=25batL/ht_smpsass=x="ratL6=319b1_>188lasag6=259b_if_date116 &116" sub_iflocalode=ratL_idif_date116 &]18LAG>1rnvalidub_if_date116 128192lass6">26166 lass=29ref">freq, =26frid=_6ist="L130" freq11/rx.c#L117"=2 cl>=23l18rx_cooka>_monitor class="sref"ac cl>=23l18rx_cooka>_monitorlassa href1=2nre>=25b_if_date116=25batL/ht_smpsass=x="ratL61rnvalidub_if_date116freq, <6 =26366 lass=30"L130" flagdes"6PSmp;N:_co6e lass="sref">freq, <6 =26466 lass=29rx.c#L117"=3 cl>=335 128192lass6">26566 lass=3nHAN_Ocss)="node=loc=3RXsDROP_UNUSABL h/rx.cACTIO._6smpsass=e=6L128"> 128192lass6">26666 lass=29 =25If_d_DEBUG_INC { h/rx.cACTIO._6s_HTmp;N:o6NUE="L130" 26766 lass=29et/mac80u="L1, =25b_if_date116has_fcs)="ne6*sref">l196"+code=status" class="s196"+26866 lass=29N MESH_PATH_N=3+code< href1=2nre>=25b_if_date1161rnvalidub_if_date116freq, <6 =26966 lass=2nref">freq href1=2nre>=25dev_kfree_skbdate116=25b_if_date116freq, <6 =27d67 lass=3160 make s="=30N =>30DFCS" classad"n3>flagdes"6BL#Dass=e=6L128"> 128192lass6">27167 lass=311/rx.css)="node=loc=3RXsQUEUref">has_fcs/RXsQUEUre) h/rx.cACTIO._6gggbreak)T6NUE="L130" freq11/rx.c#L117"=2If_d_DEBUG_INC { freq, <6 =27367 lass=30"L130" flagdes"6ATICass=e=6L128"> 128192lass6">27467 lass=29=335=335freq, <6 =27667 lass=29a>{ 128192lass6">2776= lassull[ic>void d"n3=e,/ue0=23l18rx_toU=23l18rx_toU11/rx.c#L117"=2 cl>=23l18rx_" class="sretyp=116 cl>=23l18rx_" cl6=25b_if_date116has_fcs)="ne6gggbreak)T6NUE="L130" l18 class="sref"act6g""break)T6e lass="sref">freq, <6 =27967 lass=3net/ma href1=2nre>=25 cl>=23l18rx_resul8021ggggggggocas cl>=23l18rx_resul8630RXsDROP_MONITOR 128192lass6">28d68 lass=29RX_FLstruct>11/rx.c#L117"=2sk_bufss="ss_fcs" classk_bufslassa* href1=2nre>=25bkbdate1161rnvalidub_if_date11628168 lass=29ref">freq, 128192lass6">28268 lass#def19l130" freq, freq, href1=2nre>=25rfs class="sref"acre_630b_h class="sref"acb_h6=25b_if_date116freq, =25rfs class="sref"acre_6freq, has_fcs6/228668 lass=29 freq, 128192lass6">287687lass=3sref">} while (0 128192lass6">28968 lass=3net/ma href1=2nre>=25spin8b_ik class="sref"acspin8b_ik6=31_if_date116{ flags<"""+codb_ik class="sref"acb_ik6 128192lass6">29d69 lass=3_Fne" =31_if_date116{ has_fcs)="ne6>=29=_CONT6NUE="L130" 1rnvalidub_if_date116 128192lass6">29269 lass=29x.s_fcss)="node=loc=29x6>=292ABLE=6L130" =31_if_date116{ 30tru"""""11/rx.c#L117rui1rnvalidub_if_date116TICass=e=6"L130" freq, 128192lass6">2956= lass=29=25bkbdate11630__9kb_de4FeuL/ht_smpsass=x="__9kb_de4FeuL6=31_if_date116{ l18 class="sref"act6dled name=6L128"> 128192lass6">29669 lass=29 =259pin8unb_ik class="sref"ac9pin8unb_ik6=31_if_date116{ flags<"""+codb_ik class="sref"acb_ik629769 lass=29 *freq, <6 =29869 lass=29N MESH_PATH_Ncre full m=3160>=31declaoo>191" verify acti>l_s 128192lass6">29969 lassure full m=3160>=31decL130" 191" verify acti>l_s30d70 lassure full m=3160>=31decL130" 191" verify acti>l_s=31decL130" 191" verify acti>l_s 128192lass7N=30270 lassure full m=3160>=31decL130" 191" verify acti>l_sfreq, <7 =30370 lass=30"L130" 30b_if_date11630lkbdate1161rnvalidub_if_date116freq, has_fcs)="ne7B6ticast)T7N128"> 128192lass7N=30670 lass=29 =25CALL_RXH has_fcs)="ne7B7ticast)T7NUED="L130" s)="node=loc=3CALL_RXH has_fcs)="ne7B8ticast)T7N lass="sref">freq, <7/230870 lass=29N MESH_PATH_Ncode,g=30"L=>30CALL_RXH has_fcs)="ne7B9ticast)T7N128"> 128192lass7N=30970 lass=2nref">freq href1=2nre>=25CALL_RXH has_fcs)="ne7=>30d=aisQ7EUED="L130" 31d71 lass=3160 make suhref1=2nre>=25CALL_RXH has_fcs)="ne7=1YPEEEE=Q7"+code=status" class="s197"+31171 lass=311/rx.="nHAN_Oure full m=3160>=31decla musc be after MMIC verify so header is counted in MPDU mic *boo>191" verify acti>l_shas_fcs7/231271 lass#ifdefsuhref1=2nre>=25CONFIG_MAC=23l18MESH freq, code,g=30"L=>30ecl>=23l18vif_ ntmesh class="sref"acecl>=23l18vif_ ntmesh6=31_if_date116hNL >>>>>>>>uhref1=2nre>=25CALL_RXH freq, <7 =31571 lass#endifa hree192IEEE8021f_date116freq, <7 =31671 lass=29 =25CALL_RXH =23l18rx_t_amsdu;has_fcs)="ne7=7ticast)T7e lass="sref">freq, <7 =31771 lass=29et/mac80u="L1 href1=2nre>=25CALL_RXH =23l18rx_t_" cl;has_fcs)="ne7=8ticast)T7NUE="L130" 31871 lass=29N MESH_PATH_Ncode,g=30"L=>30CALL_RXH 128192lass7">31971 lass=2nref">frequhref1=2nre>=25CALL_RXH =23l18rx_t_mgmt_check;has_fcs)="ne7EEEbreak)T7NUE="L130" make suhref1=2nre>=25CALL_RXH =23l18rx_t_ac[ionooa " has_fcs)="ne7E1YPEEEE=Q7e lass="sref">freq, <7 =3P172 lass=311/rx.="nHAN_O>s)="node=loc=3CALL_RXH has_fcs)="ne7E""break)T7e lass="sref">freq, <7 =3P272 lass=29ref">frequhref1=2nre>=25CALL_RXH =23l18rx_t_ac[ion_returnooa " has_fcs)="ne7E==break)T7NUE="L130" 32372 lass=30"L130" =25CALL_RXH =23l18rx_t_mgmtooa " has_fcs)="ne7E4CKmp;N:o7L128"> 128192lass7">32472 lass=29ref">freq, h/rx.cACTIO._7R6ticast)T7e lass="sref">freq, <7 =3P672 lass=29 =25 cl>=23l18rx_toU=23l18rx_toU=31_if_date116=25bfs class="sref"acre_6freq, <7 =3P772 lass=29et/mac80u="L1 href1=2nre>=25spin8b_ik class="sref"acspin8b_ik6=31_if_date116{ flags<"""+codb_ik class="sref"acb_ik632872 lass#undefsuhref1=2nre>=25CALL_RXH 128192lass7">3P972 lass=2nref">rx.c#L117"=3 cl>=335freq, <7 =33173 lass=3+code< href1=2nre>=25_if_date116{ 30falsL/ht_smpsass=x="falsLa> & 128192lass7">33273 lass=29x.s_fcss)="node=loc=29x7defc=====Q7EUED="L130" 33373 lass=30" h/rx.cACTIO._7>=33g 7amp88ac80211/rxn692lass="73P9e=73 lass=29=259pin8unb_ik class="sref"ac9pin8unb_ik6=31_if_date116{ flags<"""+codb_ik class="sref"acb_ik6h/rx.cACTIO._7>a6" is co7L130" =335{ has_fcs7/223773 lassull[ic>void d"n3=e,/ue0=23l18invoke8rx_toU=23l18invoke8rx_toU11/rx.c#L117"=2 cl>=23l18rx_" class="sretyp=116 cl>=23l18rx_" cl6=25b_if_date116has_fcs)="ne7S"ass=)saT7L128"> 128192lass7">238738lassl18 class="sref"act7S""break)T7a="nlen116{ 30RXsDROP_MONITOR has_fcs7/224d74 lass=30de= int a hrefq cla30d7ABL# name=7L128"> 128192lass7">24174 lass#def19l130" freq, do {=29N MESH_PATH_N=3+code< \=29ref">freq, 24374 lass=30"L130" 30b_h class="sref"acb_h6=25b_if_date116freq, 7L128"> 128192lass7">24474 lass=29, =25rfs class="sref"acre_6freq, freq, sref">l197e lass="sref">freq, <7 =29674 lass=29 freq, <7 =29774 lass=29 *=25CALL_RXH =23l18rx_t_check;has_fcs)="ne7A""break)T7fcs" class="sref">has_fcs7/224974 lass has_fcs)="ne7alid name=7L128"> 128192lass7">25d75 lass=3160=25 cl>=23l18rx_reorder_assduass="sretyp=116 cl>=23l18rx_reorder_assdu6=25b_if_date116has_fcs)="ne7aBL# name=7NUE="L130" freq, uhref1=2nre>=25 cl>=23l18rx_toU=23l18rx_toU=25b_if_date116has_fcs)="ne7aefc=====Q7NUE="L130" 1rnvalidub_if_date116 7NUE="L130" freq, h/rx.cACTIO._7asref">l197fcs" class="sref">has_fcs7/225675 lass=3x.c#L1rx.="nHAN_OT)su cl>=23l18rx_toU=23l18rx_toU=31_if_date116=25bfs class="sref"acre_6 *=25CALL_RXH =335has_fcs7/226d76 lass=30de= int a hrefq cla30d7alid name=7L128"> 128192lass7">26176 lassure full m=3160>=31declaoo>191" verify acti>l_s=26frid=_7ist="L130" =31decL* This func[ion makes re ls into the RX path, thereforeoo>191" verify acti>l_sfreq, <7 =26376 lassure full m=3160>=31decL* it hasato be invoked under RCU0read b_ik.oo>191" verify acti>l_s 7e lass="sref">freq, <7 =26476 lassure full m=3160>=31decL*boo>191" verify acti>l_s 128192lass7">26576 lassvoid d"n3=e,/ue0=23l18release_reorder_timeou8021ggggggggocas cl>=23l18release_reorder_timeou8611/rx.c#L117"=2ull_info class="sref"ac9ll_info6=25b_if_date116{ 30tid class="sref"actid;has_fcs)="ne7smpsass=e=7L128"> 128192lass7">26676 lassl18 class="sref"act7s_HTmp;N:o7NUE="L130" 26776 lass=29et/mastruct>11/rx.c#L117"=2 cl>=23l18rx_" class="sretyp=116 cl>=23l18rx_" cl6=31_if_date116l18 class="sref"act7s"ass=)saT7"+code=status" class="s197"+26876 lass=29N MESH_PATH_Nf">flags<"""+codb_if_date116{ 30l_if_date116{ l18 class="sref"act7s""break)T7e lass="sref">freq, <7 =26976 lass=2nref">freqf">flags<"""+codb" class="sretyp=116a116<8c#L=L1code,g=30"L=>30l_if_date116{ freq, <7 =27d77 lass=3160 make sf">flags<"""+codb_if_date116{ 30l_if_date116{ { l18 class="sref"act7Blid name=7L128"> 128192lass7">27177 lass=311/rx.="nHAN_Oure full m=3160>=31decla This is OK -- musc be QoS 116<1fsrefL*boo>191" verify acti>l_sfreqf">flags<"""+codbecurity_idif_date11630tid class="sref"actid;l18 class="sref"act7Blticast)T7e lass="sref">freq, <7 =27377 lass=30"L130" flags<"""+codbeqno_idif_date11630tid class="sref"actid;l18 class="sref"act7B=33g 7L128"> 128192lass7">27477 lass=29f">flags<"""+codflag_date116l18 class="sref"act7Blticast)T7NUE="L130" freq, <7 =276776lass=29et/mastruct>11/rx.c#L117"=2tid_assdu__if_date116=25tid_agg__if_date1161rnvalidub_if_date116 128192lass7">27777 lass=29 *=25tid_agg__if_date11630bcu_dereferencL/ht_smpsass=x="rcu_dereferencLlassahref=31l_if_date116{ flags<"""+codtid__if_date116=25tid class="sref"actid;freq, <7 =27977 lass=3net/mahas_fcs)="ne7alid name=7L128"> 128192lass7">28d78 lass=3160 make sreturn18LAG>1rnvalidub_if_date11628178 lass=29ref">freq, 128192lass7">28278 lass=29ref">uhref1=2nre>=25spin8b_ik class="sref"acspin8b_ik6=31tid_agg__if_date116=31 cl>=23l18s6<_reorder_releaseass="sretyp=116 cl>=23l18s6<_reorder_releaselassahref=31l_if_date116{ 7"+code=status" class="s197"+28478 lass=29=259pin8unb_ik class="sref"ac9pin8unb_ik6=31tid_agg__if_date116=324refWLAN_REASes">loca116<7ampsass=e=7fcs" class="sref">has_fcs7/228678 lass=3x.c#L1rx.="nHAN_OT)su cl>=23l18rx_toU=23l18rx_toU=31_if_date116 128192lass7">287787lassrx.c#L117"=3 cl>=335 128192lass7">28978 lassure full m=3160>=31decla main receive pathL*boo>191" verify acti>l_s 128192lass7">29d79 lass=30de= int a hrefq cla30d7>=29=_CONT7NUE="L130" int1code,g=30"L=>30prepare_for_toU11/rx.c#L117"=2 cl>=23l18rx_" class="sretyp=116 cl>=23l18rx_" cl6=25b_if_date116l18 class="sref"act7and; 128192lass7">29279 lass=29ref">freq> make s=3+code11/rx.c#L117"=2 cl>=23l18hdr class="sref"ac cl>=23l18hdr6=25hdr class="sref"achdr6has_fcs)="ne7>=292ABLE=7L130" l18 class="sref"act7>TICass=e=7"L130" 11/rx.c#L117"=2 cl>=23l18sub_if_" class="sretyp=116 cl>=23l18sub_if_" cl6=25b" class="sretyp=116a116<8c#L=L1code,g=30"L=>30_if_date116 128192lass7">2957= lass=2911/rx.c#L117"=2sk_bufss="ss_fcs" classk_bufslassa* href1=2nre>=25bkbdate11630_if_date1161rnvalidub_if_date116 128192lass7">296796lass=29et/mastruct>11/rx.c#L117"=2 cl>=23l18rx_9b_if_date116=23l18rx_9b_if_6=259b_if_date116 &=L130" 297797lass=3x.c#L1rx.="nHAN_OT)suu8date116=25bssid class="sref"acbssida> &=L130" =23l18get_bssid class="sref"ac cl>=23l18get_bssidlassaclass="sref")suhdr class="sref"achdr6flags<"""+codtypeass="sretyp=116typelass"freq, <7 =29879 lass=29N MESint1code,g=30"L=>30mul[icas8021ggggggggocasmul[icas8a> &=L130" 128192lass7">29979 lass has_fcs)="ne8FTYPEEEE=Q8EUED="L130" 30d80 lass=29RX_FLs =314refl" class="sretyp=116a116<8c#L116" sub_if_89pos" class="ss_fcs" class=ref""f">flags<"""+codtypeass="sretyp=116typelass"1l18 class="sref"act8F1YPEEEE=Q8EUE="L130" s)="node=loc=3NL=23l18IFTYPE_STATIONass="sretyp=116NL=23l18IFTYPE_STATIONlassELBAgclass="sref">h/rx.cACTIO._8F2YPEEEE=Q8E128"> 128192lass8N=30280 lass=29ref">freq &=lass=lass=1211/rx.c#L117"=2l" class="sretyp=116a116<8c#L116" sub_if_89pos" cuass="sretyp=116uef""f">flags<"""+codmgd class="sref"acmgdef""f">flags<"""+coduse_4addr class="sref"acuse_4addr6has_fcs)="ne8BACKmp;N:o8e lass="sref">freq, <8 =30380 lass=30"L130" , &=lass=lass=a hree192IEEE8021f_date116 128192lass8N=30580 lass=29evlan="L130" 211/rx.c#L117"=2ether_addr_equf_date116{ flags<"""+codaddr class="sref"acaddr6l18 class="sref"act8F6CKmp;N:o8e128"> 128192lass8N=30680 lass=29 , l18 class="sref"act8F7CKmp;N:o8eUED="L130" flags<"""+codmgd class="sref"acmgdef""f">flags<"""+coduse_4addr class="sref"acuse_4addr6has_fcs)="ne8B8CKmp;N:o8e lass="sref">freq, <8/230880 lass=29N MESH_PATH_N" 128192lass8N=30980 lass=2nref">freq1111111111/rx.c#L117"=2lb_if_date116 &116" sub_iflocalode=rx_flag_date11631d81 lass=3160 make srx.c#L117"=3 cl>=33530DFCS" classad"n3>flagdes"8*""break)T8fcs" class="sref">has_fcs8/231281 lass=29ref">css)="node=loc=3NL=23l18IFTYPE_ADHOC h/rx.cACTIO._8===break)T8NUE="L130" 211/rx.c#L117"=2bssid class="sref"acbssida> &" has_fcs)="ne8=4CKmp;N:o8NUE="L130" >>>>>>>>return 0freq, <8 =31581 lass=29evlan="L130" , =25 cl>=23l18is_beaconass="sretyp=116 cl>=23l18is_beaconlassaclass="sref")suhdr class="sref"achdr6{ l18 class="sref"act8/6ticast)T8e lass="sref">freq, <8 =31681 lass=29 >>>>>>>return 1freq, <8 =31781 lass=29et/mac80u="L1} el211/rx.c#L117"=2 cl>=23l18bssid_maa hass="sretyp=116 cl>=23l18bssid_maa hlassaclass="sref")subssid class="sref"acbssida> &x.11/rx.c#L117"=2l" class="sretyp=116a116<8c#L116" sub_if_89pos" cuass="sretyp=116uef""f">flags<"""+codibssdate116{ flags<"""+codbssid class="sref"acbssida> &""1l18 class="sref"act8/8CKmp;N:o8NUE="L130" 31881 lass=29N MESH_PATH_N>>>>>>>>return 0 128192lass8">31981 lass=2nref">freq} el211/rx.c#L117"=2mul[icas8021ggggggggocasmul[icas8a> &=lass=lass=a hree192IEEE8021f_date116 make ssssssssssss211/rx.c#L117"=2ether_addr_equf_date116{ flags<"""+codaddr class="sref"acaddr6l18 class="sref"act8E1YPEEEE=Q8e lass="sref">freq, <8 =3P182 lass=311/rx.="nHAN_O="L130" , has_fcs)="ne8E""break)T8e lass="sref">freq, <8 =3P282 lass=29ref">freqH_PATH_N>>>>>>>>return 032382 lass=30"L130" &116" sub_iflocalode=rx_flag_date116 128192lass8">32482 lass=29r el211/rx.c#L117"=2b_if_date116l18 class="sref"act8Ea6" is co8NUE="L130" 30ratL_idif_date116 &18LAG>1rnvalidub_if_date116freq, <8 =3P682 lass=29 &116" sub_iflocalode=flagdate1161rnvalidub_if_date116freq, <8 =3P782 lass=29et/mac80u="L1" &== 0;Oure full m=3160>=31decla TODO: HT ratL_L*boo>191" verify acti>l_s32882 lass=29N MESH_PATH_N>>>>>>>>ell_s 128192lass8">3P982 lass=2nref">freq11111111eeeeeeee11/rx.c#L117"=2ratL_idif_date116 &== 11/rx.c#L117"=2lb_if_date116 &116" sub_iflocalode=ratL_idif_date116 &18LAG>1rnvalidub_if_date116 make s=3+code< href1=2nre>=25 cl>=23l18ibss8rx_no_b_if_date116{ cl>=23l18ibss8rx_no_b_ilassaclass="sref")su9" class="sretyp=116a116<8c#Lx.11/rx.c#L117"=2bssid class="sref"acbssida> &x.11/rx.c#L117"=2hdr class="sref"achdr6l18 class="sref"act81default:o8e lass="sref">freq, <8 =33183 lass=311/rx.="nHAN_O="L130" >freq11111111eeeeeeee11/rx.c#L117"=2BIT""""11/rx.c#L11BITlassaclass="sref")suratL_idif_date116 &)" 128192lass8">33283 lass=29ref">freqrx.c#L117"=3 cl>=33533383 lass=30"L130" flagdes"8>=33g 8amp88ac80211/rxn692lass="83P9e=83 lass=29s)="node=loc=3NL=23l18IFTYPE_MESH_POINT""""11/rx.c#L11NL=23l18IFTYPE_MESH_POINTlassELBAgclass="sref">h/rx.cACTIO._8>a6" is co8L130" &=lass=lass=a hree192IEEE8021f_date1166ticast)T8"+code=status" class="s198"+23683 lass=29 { flags<"""+codaddr class="sref"acaddr6l18 class="sref"act81Z#truc +o8fcs" class="sref">has_fcs8/223783 lass=29et/mac80u="L1" has_fcs)="ne8S"ass=)saT8L128"> 128192lass8">23883 lass=29N MESH_PATH_N" has_fcs)="ne8BLICtructs8fcs" class="sref">has_fcs8/224d84 lass=3160 make s=3+code< href1=2nre>=25lb_if_date116 &116" sub_iflocalode=rx_flag_date116 128192lass8">24184 lass=311/rx.="nHAN_Orx.c#L117"=3 cl>=335freq="=30N =>30DFCS" classad"n3>flagdes"8Aefc=====Q8NUE="L130" 24384 lass=30"L130css)="node=loc=3NL=23l18IFTYPE_AP_VLANass="sretyp=116NL=23l18IFTYPE_AP_VLANlassELBAgclass="sref">h/rx.cACTIO._8A=33g 8L128"> 128192lass8">24484 lass=29s)="node=loc=3NL=23l18IFTYPE_APass="sretyp=116NL=23l18IFTYPE_APlassELBAgclass="sref">h/rx.cACTIO._8Aa6" is co8L130" 211/rx.c#L117"=2bssid class="sref"acbssida> &"1l18 class="sref"act8>sref">l198e lass="sref">freq, <8 =29684 lass=29 , { flags<"""+codaddr class="sref"acaddr6l18 class="sref"act8>Z#truc +o8e lass="sref">freq, <8 =29784 lass=29et/mac80u="L1" 211/rx.c#L117"=2 cl>=23l18bssid_maa hass="sretyp=116 cl>=23l18bssid_maa hlassaclass="sref")subssid class="sref"acbssida> &x.11/rx.c#L117"=2l" class="sretyp=116a116<8c#L116" sub_if_89pos" class="ss_fcs" class=ref""f">flags<"""+codaddr class="sref"acaddr6l18 class="sref"act8A""break)T8fcs" class="sref">has_fcs8/224984 lass=2nref">freq111111111re full m=3160>=31declaoo>191" verify acti>l_s 128192lass8">25d85 lassure full m=3160>=31decL130" 191" verify acti>l_s=31decL130" 191" verify acti>l_s=31decL130" 191" verify acti>l_s=31decL130" 191" verify acti>l_s 8NUE="L130" =31decL130" 191" verify acti>l_s=25 cl>=23l18is_public_ac[ionass="sretyp=116 cl>=23l18is_public_ac[ionlassaclass="sref")suhdr class="sref"achdr6l18 class="sref"act8asref">l198fcs" class="sref">has_fcs8/225685 lass=29 >>>>>>>>return 1=25 cl>=23l18is_beaconass="sretyp=116 cl>=23l18is_beaconlassaclass="sref")suhdr class="sref"achdr6{ freq1111111111/rx.c#L117"=2lb_if_date116 &116" sub_iflocalode=rx_flag_date116has_fcs8/226d86 lass=3160 make srx.c#L117"=3 cl>=335 128192lass8">26186 lass=311/rx.="nHAN_O="=30N =>30DFCS" classad"n3>flagdes"8>=26frid=_8ist="L130" css)="node=loc=3NL=23l18IFTYPE_WDSass="sretyp=116NL=23l18IFTYPE_WDSlassELBAgclass="sref">h/rx.cACTIO._8tlticast)T8e lass="sref">freq, <8 =26386 lass=30"L130" code,g=30"L=>30bssid class="sref"acbssida> &=||1211/rx.c#L117"=2 cl>=23l18is_" class="sretyp=116 cl>=23l18is_" cllassaclass="sref")suhdr class="sref"achdr6{ 8e lass="sref">freq, <8 =26486 lass=29>>>>>>>>return 0 128192lass8">26586 lass=29evlan="L130" fs">211/rx.c#L117"=2ether_addr_equf_date116{ flags<"""+codwd_date116flags<"""+codremote_addr class="sref"acremote_addra> &x.11/rx.c#L117"=2hdr class="sref"achdr6l198L128"> 128192lass8">26686 lass=29 >>>>>>>return 026786 lass=29et/mac80u="L1="=30N =>30DFCS" classad"n3>flagdes"8>"ass=)saT8"+code=status" class="s198"+26886 lass=29N MEScss)="node=loc=3NL=23l18IFTYPE_P2P_DEVICEass="sretyp=116NL=23l18IFTYPE_P2P_DEVICElassELBAgclass="sref">h/rx.cACTIO._8t""break)T8e lass="sref">freq, <8 =26986 lass=2nref">freq, =25 cl>=23l18is_public_ac[ionass="sretyp=116 cl>=23l18is_public_ac[ionlassaclass="sref")suhdr class="sref"achdr6freq, <8 =27d87 lass=3160 make sssss2 href1=2nre>=25 cl>=23l18is_probe_reqass="sretyp=116 cl>=23l18is_probe_reqlassaclass="sref")suhdr class="sref"achdr6{ 128192lass8">27187 lass=311/rx.="nHAN_Ossss2 href1=2nre>=25 cl>=23l18is_probe_respass="sretyp=116 cl>=23l18is_probe_resplassaclass="sref")suhdr class="sref"achdr6{ freqssss2 href1=2nre>=25 cl>=23l18is_beaconass="sretyp=116 cl>=23l18is_beaconlassaclass="sref")suhdr class="sref"achdr6{ freq, <8 =27387 lass=30"L130" >>>>>>>return 0 8L128"> 128192lass8">27487 lass=29fs">211/rx.c#L117"=2ether_addr_equf_date116{ flags<"""+codaddr class="sref"acaddr6l18 class="sref"act8Blticast)T8NUE="L130" &116" sub_iflocalode=rx_flag_date116freq, <8 =27687 lass=29 flagdes"8B_HTmp;N:o8L128"> 128192lass8">27787 lass=29et/madefaultELBAgclass="sref">h/rx.cACTIO._8gggbreak)T8NUE="L130" =31decla should never get here *boo>191" verify acti>l_sfreq, <8 =27987 lass=2nref">frequhref1=2nre>=25WARN_ON_ONCEass="sretyp=116WARN_ON_ONCElassa1" 128192lass8">28d88 lass=3160 make s="=30N =>30DFCS" classad"n3>flagdes"8aL#Dass=e=8EUED="L130" 28188 lass=311/rx.rx.c#L117"=3 cl>=335 128192lass8">28288 lass=29x.s_fcss)="node=loc=29x8alticast)T8L130" 8"+code=status" class="s198"+28488 lassrx.c#L117"=3 cl>=335=324refWLAN_REASes">loca116<8ampsass=e=8fcs" class="sref">has_fcs8/228688 lass1re full m=3160>=31declaoo>191" verify acti>l_s 128192lass8">287887lassure full m=3160>=31decL* This func[ion returns whether or not the SKBoo>191" verify acti>l_s=31decL* wasadesta hd for RX processing or not, which,oo>191" verify acti>l_s 128192lass8">28988 lassure full m=3160>=31dec * if consume is true, is equivah191" verify acti>l_s 128192lass8">29d89 lassure full m=3160>=31decL* or not the skb wasaconsumed.oo>191" verify acti>l_s=29=_CONT8NUE="L130" =31decL*boo>191" verify acti>l_s 128192lass8">29289 lassull[ic>code,g=30"L=>30boo_date116{ =25 cl>=23l18prepare_and8rx_toU=23l18prepare_and8rx_toU11/rx.c#L117"=2 cl>=23l18rx_" class="sretyp=116 cl>=23l18rx_" cl6=25b_if_date116l18 class="sref"act8>=292ABLE=8L130" >>>>>>>>>>>>>>>>>>>>>>>>>>>struct>11/rx.c#L117"=2sk_bufss="ss_fcs" classk_bufslassa* href1=2nre>=25bkbdate116{ =25consumedate116{ l18 class="sref"act8>=33g 8"L130" l18 class="sref"act8GEDass=te=8L128"> 128192lass8">2958= lass=2911/rx.c#L117"=2 cl>=23l18b_if_date116{ =23l18b_if_lassa* href1=2nre>=25b_if_date116{ 30_if_date116{ 128192lass8">296896lass=29et/mastruct>11/rx.c#L117"=2 cl>=23l18sub_if_" class="sretyp=116 cl>=23l18sub_if_" cl6=25b" class="sretyp=116a116<8c#L=L1code,g=30"L=>30_if_date11629789 lass=29et/mastruct>11/rx.c#L117"=2 cl>=23l18rx_9b_if_date116=23l18rx_9b_if_6=259b_if_date116 &=L130" freq, <8 =29889 lass=29N MESstruct>11/rx.c#L117"=2 cl>=23l18hdr class="sref"ac cl>=23l18hdr6=25hdr class="sref"achdr6 128192lass8">29989 lass=3net/ma30prepares021ggggggggocasprepares8c#L30d90 lass=30de= int a hrefq cla30d9F1YPEEEE=Q9EUE="L130" 30_if_date116309kbdate1161rnvalidub_if_date116 128192lass9N=30290 lass=29ref">11/rx.c#L117"=2lb_if_date116 &116" sub_iflocalode=rx_flag_date116freq, <9 =30390 lass=30"L130code,g=30"L=>30prepares021ggggggggocasprepares8c#L=L1code,g=30"L=>30prepare_for_toU=25b_if_date116freq, 128192lass9N=30590 lass=29evlanfs">211/rx.c#L117"=2prepares021ggggggggocasprepares8c#L"a hrefacti>l18 class="sref"act9F6CKmp;N:o9e128"> 128192lass9N=30690 lass=29 *freq, <9/230890 lass=29N MESfs">211/rx.c#L117"=2consumedate116{ l18 class="sref"act9B9CKmp;N:o9e128"> 128192lass9N=30990 lass=2nref">freqclass="sref")su9kbdate116309kb_copydate11630d=aisQ9EUED="L130" 31d91 lass=3160 make sfs">211/rx.c#L117"=29kbdate116l18 class="sref"act9=1YPEEEE=Q9"+code=status" class="s199"+31191 lass=311/rx.="nHAN_O> make sfs">11/rx.c#L117"=2>l1_datLlimi8021ggggggggocas>l1_datLlimi8lassa""a hrefacti>l18 class="sref"act9*""break)T9fcs" class="sref">has_fcs9/231291 lass=29ref">freqssssef">freqclass="sref")suwiphy_debugdate116{ flags<"""+codwiphydate116l18 class="sref"act9===break)T9NUE="L130" ssssef">freqcre full m=31string">"failedato copy skb for %s\n"oo>191"xa hrefacti>l18 class="sref"act9=4CKmp;N:o9NUE="L130" >>>>>>>>ssssef">freqclass="sref")su9" class="sretyp=116a116<8c#L116" sub_if_89pos" cfRX_021ggggggggocas>amelass"freq, <9 =31591 lass=29evlan="L130" return class="sref")sutrue021ggggggggocastruelass18LAG>1rnvalidub_if_date116freq, <9 =31691 lass=29 =335freq, <9 =31791 lass=29 *31891 lass=29N MESH_PATH_Ncode,g=30"L=>30_if_date116309kbdate1161rnvalidub_if_date116 128192lass9">31991 lass=2nref">rx.c#L117"=3 cl>=335freq, <9 =3P192 lass=311/rx.code,g=30"L=>30 cl>=23l18invoke_rx_toU=23l18invoke_rx_toU=25b_if_date116freq, <9 =3P292 lass=29ref">return class="sref")sutrue021ggggggggocastruelass18LAG>1rnvalidub_if_date11632392 lassrx.c#L117"=3 cl>=335 128192lass9">32492 lass=29ref">freq, =31declaoo>191" verify acti>l_sfreq, <9 =3P692 lass1re full m=3160>=31dec a This is the actual Rx1fsrefs toU191" verify acti>l_sfreq, <9 =3P7927lassure full m=3160>=31decL* be re ledawithLrcu_read_b_ik protec[ion.oo>191" verify acti>l_s32892 lassure full m=3160>=31decL*boo>191" verify acti>l_s 128192lass9">3P992 lassull[ic>void d"n3=e,/ue0=23l18rx_toU=23l18rx_toU11/rx.c#L117"=2 cl>=23l18hw class="sref"ac cl>=23l18hw6=25hw class="sref"achwef""xa hrefacti>l18 class="sref"act9EEEbreak)T9NUE="L130" make s=3+code<<<<<<<<<<<<<<<<<11/rx.c#L117"=2sk_bufss="ss_fcs" classk_bufslassa* href1=2nre>=25bkbdate116l18 class="sref"act91default:o9e lass="sref">freq, <9 =33193 lassl18 class="sref"act91Z#truc +o9L128"> 128192lass9">33293 lass=29ref">struct>11/rx.c#L117"=2 cl>=23l18b_if_date116{ =23l18b_if_lassa* href1=2nre>=25b_if_date116{ 30hw_to8b_if_date116{ =25hw class="sref"achwef"""33393 lass=30"L130struct>11/rx.c#L117"=2 cl>=23l18sub_if_" class="sretyp=116 cl>=23l18sub_if_" cl6=25b" class="sretyp=116a116<8c#L11/rx.c#L117"=2 cl>=23l18hdr class="sref"ac cl>=23l18hdr6=25hdr class="sref"achdr611/rx.c#L117"=2 cl>=23l18rx_" class="sretyp=116 cl>=23l18rx_" cl6=25b_if_date116has_fcs9/223793 lass=29et/mastruct>11/rx.c#L117"=2 cl>=23l18sub_if_" class="sretyp=116 cl>=23l18sub_if_" cl6=25prev class="sref"acprev; 128192lass9">23893 lass=29N MESstruct>11/rx.c#L117"=2s6<_infodate116=259b_date116=25tmpass="sretyp=116tmplassx.* href1=2nre>=25prev_b_if_date116{ prev_b_i;30err class="sref"acerr.c#L=L10has_fcs9/224d94 lass=30de= int a hrefq cla30d9ABL# name=9L128"> 128192lass9">24194 lass=311/rx.code,g=30"L=>30fcass="sretyp=116fc611/rx.c#L117"=2 cl>=23l18hdr class="sref"ac cl>=23l18hdr6{ 11/rx.c#L117"=2memse8021ggggggggocasmemse86=31_if_date116=25b_if_date11624394 lass=30"L130code,g=30"L=>30b_if_date116flags<"""+cod9kbdate116309kbdate1161rnvalidub_if_date116 9L128"> 128192lass9">24494 lass=2930b_if_date116flags<"""+codb_if_date116{ 30b_if_date116{ =324refWLAN_REASes">loca116<9>sref">l199e lass="sref">freq, <9 =29694 lass=29 =25 cl>=23l18is_" class="sretyp=116 cl>=23l18is_" cllassaclass="sref")sufcass="sretyp=116fc630 cl>=23l18is_mgm8021ggggggggocas cl>=23l18is_mgm8lassaclass="sref")sufcass="sretyp=116fc6l18 class="sref"act9>Z#truc +o9e lass="sref">freq, <9 =29794 lass=29et/mac80u="L1class="sref")sub_if_date116{ has_fcs9/224994 lass=2nref">i =25 cl>=23l18is_mgm8021ggggggggocas cl>=23l18is_mgm8lassaclass="sref")sufcass="sretyp=116fc6l18 class="sref"act9alid name=9L128"> 128192lass9">25d95 lass=3160 make sure full m=3160>=31decla drop1fsref>i 191" verify acti>l_s=23l18hdrh=23l18hdrhl18 class="sref"act9aZ#truc +o9NUE="L130" freqssssef">code,g=30"L=>30err class="sref"acerr.c#L=L1-code,g=30"L=>30ENOBUFSass="sretyp=116ENOBUFS.c#Ll_s 9NUE="L130" >>>>>>>>code,g=30"L=>30err class="sref"acerr.c#L=L1code,g=30"L=>309kb_l18 class="sref"act9asref">l199fcs" class="sref">has_fcs9/225695 lass=29 30err class="sref"acerr.c#L=L1211/rx.c#L117"=2pskb_may_pul_date116{ =23l18hdrh=23l18hdrh=335i =25err class="sref"acerr.c#L"1l18 class="sref"act9truc + 2ts9fcs" class="sref">has_fcs9/226d96 lass=3160 make ssub_iflocalode=dev_kfree_9kbdate116 128192lass9">26196 lass=311/rx.="nHAN_Oreturnrx.c#L117"=3 cl>=335freq, <9 =26396 lassx.c#L117"=3 cl>=335freq, <9 =26496 lass=2930hdr class="sref"achdr611/rx.c#L117"=2 cl>=23l18hdr class="sref"ac cl>=23l18hdr6 128192lass9">26596 lass=29evland"n3=e,/ue0=23l18parse_qos021ggggggggocas cl>=23l18parse_qos6=31_if_date116l199L128"> 128192lass9">26696 lass=29 =23l18verify_align=31de21ggggggggocas cl>=23l18verify_align=31d6=31_if_date11626796 lass=29 *"ass=)saT9"+code=status" class="s199"+26896 lass=29N MESfs">href=31unlikelydate116=23l18is_probe_respass="sretyp=116 cl>=23l18is_probe_resplassaclass="sref")suhdr class="sref"achdr6{ l18 class="sref"act9t""break)T9e lass="sref">freq, <9 =26996 lass=2nref">freq =23l18is_beaconass="sretyp=116 cl>=23l18is_beaconlassaclass="sref")suhdr class="sref"achdr6{ l18 class="sref"act9BL#Dmp;N:o9e lass="sref">freq, <9 =27d97 lass=3160 make s11/rx.c#L117"=2 cl>=23l18scan__if_date116=23l18scan__ilassaclass="sref")sub_if_date116{ 128192lass9">27197 lassa hree192IEEE8021f_date116i =25 cl>=23l18is_" class="sretyp=116 cl>=23l18is_" cllassaclass="sref")sufcass="sretyp=116fc6l18 class="sref"act9Blticast)T9e lass="sref">freq, <9 =27397 lass=30"L130" =25prev_b_if_date116{ prev_b_i;30NULLf_date116{ NULL8c#L 9L128"> 128192lass9">27497 lass=29ref">freq, { 11/rx.c#L117"=2s6=25tmpass="sretyp=116tmplass"1l18 class="sref"act9Bsref">l199e lass="sref">freq, <9 =27697 lass=29 i { prev_b_i;l18 class="sref"act9BZ#truc +o9L128"> 128192lass9">27797 lass=29et/mac80u="L1" { prev_b_i;30s6freq, <9 =27997 lass=2nref">freq>>>>>>>>rx.c#L117"=3 cl>=335 128192lass9">28d98 lass=30de= int a hrefq cla30d9aL#Dass=e=9EUED="L130" 28198 lass=311/rx.="nHAN_O> make scode,g=30"L=>30b_if_date116flags<"""+cod9630prev_b_if_date116{ prev_b_i; 128192lass9">28298 lass=29ref">freqssssef">code,g=30"L=>30b_if_date116flags<"""+cod9" class="sretyp=116a116<8c#L=L1code,g=30"L=>30prev_b_if_date116{ prev_b_i;d"n3=e,/ue0=23l18prepare_and8rx_toU=23l18prepare_and8rx_toU=31_if_date116 9"+code=status" class="s199"+28498 lass=29ref">freq, { prev_b_i;30s6has_fcs9/228698 lass=29 =335 128192lass9">28798 lass=29 *=25prev_b_if_date116{ prev_b_i;l18 class="sref"act9a""break)T9L128"> 128192lass9">28998 lass=2nref">freq1111111111/rx.c#L117"=2b_if_date116flags<"""+cod9630prev_b_if_date116{ prev_b_i; 128192lass9">29d99 lass=3160 make s=3+code< href1=2nre>=25b_if_date116flags<"""+cod9" class="sretyp=116a116<8c#L=L1code,g=30"L=>30prev_b_if_date116{ prev_b_i; 128192lass9">29299 lass=29ref">freqssssef">i =25 cl>=23l18prepare_and8rx_toU=23l18prepare_and8rx_toU=31_if_date116l18 class="sref"act9>=292ABLE=9L130" >>>>>>>>>>>>>>>return=33g 9"L130" >>>>>>>>goto.11/rx.c#L117"=2oude21ggggggggocasoud8c#Llticast)T9L128"> 128192lass9">29599 lass=29evlan="L130" rx.c#L117"=3 cl>=335 128192lass9">296996lass=29et/marx.c#L117"=3 cl>=33529799 lass=29 *freq, <9 =29899 lass=29N MEScode,g=30"L=>30prevf_date116{ prev;30NULLf_date116{ NULL8c#L 128192lass9">29999 lass has_fcs)="n30FTYPEEEE=30FTYP"> 128192las30FTY>30FTlass=29N MEScode,g=30"L=>30list_for_each_entry_rcudate116{ { has_fcs)="n30F1YPEEEE=30FUE="L130" 30F lass=311/rx.="nHAN_O, =25 cl>=23l18a116<_running"_date116=23l18s116<_runninglassaclass="sref")su9" class="sretyp=116a116<8c#L""a hrefacti>l18 class="sref"ac30F2YPEEEE=30F128"> 128192las30F12>30F lass=29ref">freqssssef">continue30F lassx.c#L117"=3 cl>=33530F lass=29fs">class="sref")su9" class="sretyp=116a116<8c#L116" sub_if_89pos" class="ss_fcs" class=ref""f">flags<"""+codtype021ggggggggocastype;30NL=23l18IFTYPE_MONITORf_date116{ NL=23l18IFTYPE_MONITOR;l18 class="sref"ac30F5YPEEEE=30F128"> 128192las30F12>30F lass=29evlan="L130" class="sref")su9" class="sretyp=116a116<8c#L116" sub_if_89pos" class="ss_fcs" class=ref""f">flags<"""+codtype021ggggggggocastype;30NL=23l18IFTYPE_AP_VLANass="sretyp=116NL=23l18IFTYPE_AP_VLANlass"a hrefacti>l18 class="sref"ac30F6YPEEEE=30F128"> 128192las30F12>30F lass=29 continue30F lass=29 *freq, 30F l>30F lass=29N MESH_PATH_Nure full m=3160>=31declaoo>191" verify acti>l_s 128192las30F12>30F lassure full m=3160>=31dec *1fsref>isadesta hd for this interface, but>fs"it'soo>191" verify acti>l_s30EUlassure full m=3160>=31dec *1not also for the previous o9l we toU191" verify acti>l_s30E lassure full m=3160>=31decL130" 191" verify acti>l_shas_fc30fcs>30E lassure full m=3160>=31decL130" 191" verify acti>l_s30E lassx.c#L117"=3 cl>=33530E lass=29fs">211/rx.c#L117"=2prevf_date116{ prev;l18 class="sref"ac30E5YPEEEE=30e lass="sref">freq, 30e l>30E lass=29evlan="L130" 11/rx.c#L117"=2prevf_date116{ prev;309" class="sretyp=116a116<8c#Lfreq, 30e l>30E lass=29 continuefreq, 30e l>30E lass=29et/mac80u="L1rx.c#L117"=3 cl>=33530E lass=2"net/mac80211/rx.="nHAN_=2"30E9YPEEEE=30L128"> 128192las30L12>30E lass=2nref">freqclass="sref")sub_if_date116flags<"""+cod9630s6<_info_get8bssdate116{ prev;30NUlass=2nref">freqclass="sref")sub_if_date116flags<"""+cod9" class="sretyp=116a116<8c#L=L1code,g=30"L=>30prevf_date116{ prev;freq, 30e l>30N lass=311/rx.="nHAN_O href1=2nre>=25 cl>=23l18prepare_and8rx_toU=23l18prepare_and8rx_toU=31_if_date116freq, 30e l>30N lass=29x.s_fcss)="node=loc=2930N3YPEEEE=30NUE="L130" 30N lass=30"L130" =25prevf_date116{ prev;309" class="sretyp=116a116<8c#L 128192las30L12>30N lass=29=33530N lasse>=324refWLAN_REASes">loca11630N6YPEEEE=30e lass="sref">freq, 30e l>30N lass=29 =25prevf_date116{ prev;l18 class="sref"ac3027YPEEEE=30e lass="sref">freq, 30e l>30N lass=29et/mac80u="L1class="sref")sub_if_date116flags<"""+cod9630s6<_info_get8bssdate116{ prev;30N lass=29N MESH_PATH_Ncode,g=30"L=>30_if_date116flags<"""+cod9" class="sretyp=116a116<8c#L=L1code,g=30"L=>30prevf_date116{ prev; 128192las30L12>30N lass has_fcs)="n303TYPEEEE=30NUE="L130" 30NUlass=29fs">class="sref")su cl>=23l18prepare_and8rx_toU=23l18prepare_and8rx_toU=31_if_date116l18 class="sref"ac30N1YPEEEE=30e lass="sref">freq, 30e l>30N lass=311/rx.="nHAN_O> make sreturn 128192las30L12>30N lass=29ref">rx.c#L117"=3 cl>=33530N lassx.c#L117"=3 cl>=335h/rx.cACTIO.30N5YPEEEE=30L130" 30N lass=29evland"n3=e,/ue030N lassrx.c#L117"=3 cl>=335has_fc30fcs>30N lass=29 * 128192las30L12>30N lassure full m=3160>=31declaoo>191" verify acti>l_s{ 30N lassure full m=3160>=31dec * This is the receive1pathLtoU191" verify acti>l_shas_fc30fcs>30fclassure full m=3160>=31dec * /a .11 MPDU is received from the hardware.oo>191" verify acti>l_s 128192las30L12>30f lassure full m=3160>=31decL*boo>191" verify acti>l_s30f lassvoid d"n3=e,/ue0=23l18rxass="sretyp=116 cl>=23l18_ilassastruct>11/rx.c#L117"=2 cl>=23l18hw class="sref"ac cl>=23l18hw6=25hw class="sref"achwef""x11/rx.c#L117"=2sk_bufss="ss_fcs" classk_bufslassa* href1=2nre>=25bkbdate116l18 class="sref"ac30f3YPEEEE=30NUE="L130" 30f lassl18 class="sref"ac3044YPEEEE=30L128"> 128192las30L12>30f lass=2911/rx.c#L117"=2 cl>=23l18b_if_date116{ =23l18b_if_lassa* href1=2nre>=25b_if_date116{ 30hw_to8b_if_date116{ =25hw class="sref"achwef"""30f lass=2911/rx.c#L117"=2 cl>=23l18datLass="sretyp=116 cl>=23l18_atLlassa* href1=2nre>=25datLass="sretyp=116_atLlassaL1code,g=30"L=>30NULLf_date116{ NULL8c#Lfreq, 30e l>30f6lass=29et/mastruct>11/rx.c#L117"=2 cl>=23l18supported_boU<"_date116=23l18supported_boU=25bboU<"_date116freq, 30e l>30f lass=29et/mastruct>11/rx.c#L117"=2 cl>=23l18rx_9b_if_date116=23l18rx_9b_if_6=259b_if_date116 &=L130" 30f lass=2"net/mac80211/rx.="nHAN_=2"3049YPEEEE=30fcs" class="sref">has_fc30fcs>30f lass=2nref">class="sref")suWARN_ON_ONCEass="sretyp=116WARN_ON_ONCElassaclass="sref")su9oftirq_coun8021ggggggggocas9oftirq_coun8lassa)=LL10" 128192las30L12>30L1lass=2"net/mac80211/rx.="nHAN_=2"3051YPEEEE=30NUE="L130" 30L lass=311/rx.fs">class="sref")suWARN_ONass="sretyp=116WARN_ONlassaclass="sref")su9b_if_date116 &116" sub_iflocalode=boU<"_date116l18 class="sref"ac3052YPEEEE=30NUE="L130" 30L lass=29ref">freqssssclass="sref")su9b_if_date116 &116" sub_iflocalode=boU<"_date116l18 class="sref"ac3053YPEEEE=30NUE="L130" 30L lass=30"L130" 30L lass=29ref">freq, 30L lass=29evland"n3=e,/ue030b_if_date116{ flags<"""+codwiphydate116 &116" sub_iflocalode=boU<"_date116has_fc30fcs>30L lass=29 =25WARN_ONass="sretyp=116WARN_ONlassa211/rx.c#L117"=29boU<"_date116l18 class="sref"ac3057YPEEEE=30NUE="L130" 30L lass=29et/mac80u="L1goto.11/rx.c#L117"=2dropdate11630L lass=2"net/mac80211/rx.="nHAN_=2"3059YPEEEE=30"+code=status" class="s130"+c>30L lass=2nref">cre full m=3160>=31declaoo>191" verify acti>l_shas_fc30fcs>30fclassure full m=3160>=31decL130" 191" verify acti>l_s 128192las30L12>30f lassure full m=3160>=31decL130" 191" verify acti>l_s30f lassure full m=3160>=31decL130" 191" verify acti>l_sfreq, 30e l>30f3lassure full m=3160>=31decL130" 191" verify acti>l_sfreq, 30e l>30f4lassure full m=3160>=31decL130" 191" verify acti>l_s 128192las30L12>30f lass1re full m=3160>=31decL130" 191" verify acti>l_s 128192las30L12>30f lass=29 =25unlikelydate116{ 30b_if_date116{ l18 class="sref"ac3067YPEEEE=30NUE="L130" 30f lass=29et/mac80u="L1goto.11/rx.c#L117"=2dropdate11630f lass=2"net/mac80211/rx.="nHAN_=2"3069YPEEEE=30e lass="sref">freq, 30e l>30f lass=2nref">cre full m=3160>=31decla We might be during a HW reconfig,Lprevreason *boo>191" verify acti>l_sfreq, 30e l>30e lass=29 =25unlikelydate116{ l18 class="sref"ac3071YPEEEE=30L128"> 128192las30L12>30e lass=311/rx.="nHAN_Ogoto.11/rx.c#L117"=2dropdate11630e lass=29x.s_fcss)="node=loc=293073YPEEEE=30e lass="sref">freq, 30e l>30e3lass=2nref">cre full m=3160>=31declaoo>191" verify acti>l_s 128192las30L12>30e4lassure full m=3160>=31decL130" happens when we're not ev191" verify acti>l_s30e lass1re full m=3160>=31decL130" that's worth a warning.oo>191" verify acti>l_sfreq, 30e l>30e lass1re full m=3160>=31dec 130" 191" verify acti>l_s 128192las30L12>30e7lass=29 =25WARN_ONass="sretyp=116WARN_ONlassa211/rx.c#L117"=2b_if_date116{ l18 class="sref"ac3078YPEEEE=30NUE="L130" 30e lass=29N MESH_PATH_Ngoto.11/rx.c#L117"=2dropdate116freq, 30e l>30e lass has_fcs)="n308TYPEEEE=30L128"> 128192las30L12>30L1lass=29 =25likelydate116 &116" sub_iflocalode=flagdate116l18 class="sref"ac3081YPEEEE=30EUED="L130" 30L lass=311/rx.="nHAN_O re full m=3160>=31declaoo>191" verify acti>l_s 128192las30L12>30L lassure full m=3160>=31decL130" 191" verify acti>l_s30L3lassure full m=3160>=31decL130" 191" verify acti>l_s30L4lassure full m=3160>=31decL130" 191" verify acti>l_s30L lasse>=324refWLAN_REASes">loca1163086YPEEEE=30fcs" class="sref">has_fc30fcs>30L lass=29 class="sref")su9b_if_date116 &116" sub_iflocalode=flagdate116l18 class="sref"ac3087YPEEEE=30L128"> 128192las30L12>30L lass=29et/mac80u="L1" =31declaoo>191" verify acti>l_s30L lassure full m=3160>=31decLLLLLLLLLLLLLLLLLLLLLLLLL* rate_idx is MCS index, which ren be [0-76]oo>191" verify acti>l_s 128192las30L12>30L lassure full m=3160>=31dec LLLLLLLL* as docu=31dedaon:oo>191" verify acti>l_s 128192las30L12>30L1lassure full m=3160>=31dec LLLLLLLL*oo>191" verify acti>l_s30L lassure full m=3160>=31decL130" =23l1//a .11noo>191" verify acti>l_s 128192las30L12>30L lassure full m=3160>=31decL130" 191" verify acti>l_s30L3lassure full m=3160>=31decL130" 191" verify acti>l_s30L4lassure full m=3160>=31decL130" 191" verify acti>l_s 128192las30L12>30L lass1re full m=3160>=31decL130" 191" verify acti>l_s 128192las30L12>30L lass1re full m=3160>=31dec 130" 191" verify acti>l_s30L lass=29et/mac80u="L1" =25WARNass="sretyp=116WARNlassa>class="sref")su9b_if_date116 &116" sub_iflocalode=rate_idxass="sretyp=116_atL_idxlassa<=10=||a hrefacti>l18 class="sref"ac3098YPEEEE=30e lass="sref">freq, 30e l>30L lass=29N MESH_PATH_NNNNNNNNNNNNNNNNNsclass="sref")su9b_if_date116 &116" sub_iflocalode=rate_idxass="sretyp=116_atL_idxlassa&6" 76)xa hrefacti>l18 class="sref"ac30L9YPEEEE=30L128"> 128192las30L12>30L lass=2nref">freq11111111NNNNNNNNscre full m=31string">"Rate markedaas fuHT rate but>p m=eda"oo>191"a hrefacti>l18 class="sref"ac31FTYPEEEE=31FTYP"> 128192las31FTY>310 lass=3160 make s=3+code<<<<<<<<<"ull[191"a hrefacti>l18 class="sref"ac31F1YPEEEE=31FUE="L130" 31F lass=311/rx.="nHAN_O=3+code<<<<<<<<<" fuMCS index [0-76]: %d (0x%02x)\n"oo>191"xa hrefacti>l18 class="sref"ac31F2YPEEEE=31F128"> 128192las31F12>31F lass=29ref">freqssssef">NNNNNNNNsclass="sref")su9b_if_date116 &116" sub_iflocalode=rate_idxass="sretyp=116_atL_idxlassxa hrefacti>l18 class="sref"ac31F3YPEEEE=31F130" 310 lass=30"L130" >>>>>>>>>>>>>>>sclass="sref")su9b_if_date116 &116" sub_iflocalode=rate_idxass="sretyp=116_atL_idxlass""a hrefacti>l18 class="sref"ac31F4YPEEEE=31FL130" 31F lass=29>>>>>>>>>>>>>>>>goto.11/rx.c#L117"=2dropdate116 128192las31F12>31F lass=29evlan="L130" } ell18 class="sref"ac31F6YPEEEE=31F128"> 128192las31F12>31F lass=29 fs">class="sref")suWARN_ONass="sretyp=116WARN_ONlassaclass="sref")su9b_if_date116 &116" sub_iflocalode=rate_idxass="sretyp=116_atL_idxlassa<=10=||a hrefacti>l18 class="sref"ac31F7YPEEEE=31FUED="L130" 310 lass=29et/mac80u="L1" >>sclass="sref")su9b_if_date116 &116" sub_iflocalode=rate_idxass="sretyp=116_atL_idxlassa&6" L130" l18 class="sref"ac31F8YPEEEE=31F lass="sref">freq, 31F l>31F lass=29N MESH_PATH_N>>>>>>>>>>>>>>>>goto.11/rx.c#L117"=2dropdate116 128192las31F12>310 lass=2nref">freq1111111111/rx.c#L117"=2batLass="sretyp=116_atLlassaL1lass=href=319boU<"_date116 &116" sub_iflocalode=rate_idxass="sretyp=116_atL_idxlass]311 lass=3160 make srx.c#L117"=3 cl>=335311 lass=311/rx.rx.c#L117"=3 cl>=335has_fc31fcs>311 lass=29x.s_fcss)="node=loc=2931E3YPEEEE=31NUE="L130" 311 lass=30"L130code,g=30"L=>309b_if_date116 &116" sub_iflocalode=rx_flag_date116311 lass=29ref">freq, freq, 31e l>31E lass=29evlan re full m=3160>=31declaoo>191" verify acti>l_sfreq, 31e l>311 lass1re full m=3160>=31dec 130" 191" verify acti>l_sfreq, 31e l>31E lass1re full m=3160>=31dec 130" read-side RCU secdion duringoo>191" verify acti>l_s311 lassure full m=3160>=31decLLLLLLLLL* receive1processingoo>191" verify acti>l_s 128192las31L12>311 lassure full m=3160>=31dec *boo>191" verify acti>l_s312Tlass=29N MEScode,g=30"L=>30rcu_read8b_ikdate116freq, 31e l>312 lassa hree192IEEE8021f_date116freq, 31e l>3122lass=29evlan re full m=3160>=31declaoo>191" verify acti>l_s3123lassure full m=3160>=31decL130" 191" verify acti>l_s 128192las31L12>3124lassure full m=3160>=31decL130" 191" verify acti>l_s312 lass1re full m=3160>=31decL130" 191" verify acti>l_sfreq, 31e l>312 lass1re full m=3160>=31dec 130" 191" verify acti>l_sfreq, 31e l>312 lass1re full m=3160>=31dec 130" 191" verify acti>l_s312 lass=29N MEScode,g=30"L=>309kbdate11630 cl>=23l18rx_monitor class="sref"ac cl>=23l18rx_monitorlassaclass="sref")sub_if_date116{ 128192las31L12>312 lass=2nref">i l18 class="sref"ac313TYPEEEE=31NUE="L130" 31NUlass=29code,g=30"L=>30rcu_read8unb_ikdate116freq, 31e l>31N lass=311/rx.="nHAN_Oreturn 128192las31L12>31N lass=29ref">rx.c#L117"=3 cl>=33531N lassx.c#L117"=3 cl>=33530 cl>=23l18tpt_led_trig8rxass="sretyp=116 cl>=23l18tpt_led_trig8rxlassaclass="sref")sub_if_date116{ =335313 lass=29evlan="L130" ((struct>11/rx.c#L117"=2 cl>=23l18hdr class="sref"ac cl>=23l18hdr6{ =335313 lass=29 11/rx.c#L117"=2lkbdate116has_fc31fcs>3137lass=2930__ cl>=23l18rx_toU=23l18rx_toU 128192las31L12>313 lass=2"net/mac80211/rx.="nHAN_=2"3139YPEEEE=31a="nlen116{ 313 lass=2nref">class="sref")surcu_read8unb_ikdate116has_fc31fcs>3141lass=2"net/mac80211/rx.="nHAN_=2"31f1YPEEEE=31L128"> 128192las31L12>314 lass=311/rx.return31f lass.11/rx.c#L117"=2dropdate116h/rx.cACTIO.31f3YPEEEE=31NUE="L130" 314 lass=30"L130code,g=30"L=>30kfree_9kbdate116 128192las31L12>31f lassrx.c#L117"=3 cl>=33531f lassclass="sref")suEXPORT_SYMBOLf_date116{ EXPORT_SYMBOLlassaclass="sref")su cl>=23l18rxass="sretyp=116 cl>=23l18_ilass"freq, 31e l>31f6lassa hree192IEEE8021f_date116freq, 31e l>314 lass1re full m=3160>=31dec/* This is a version of the rxLtoU191" verify acti>l_s314 lassure full m=3160>=31decL*>context. Post the skb on the queue and schedule the tasklet *boo>191" verify acti>l_shas_fc31fcs>31f lassvoid d"n3=e,/ue0=23l18rx_irqsafLass="sretyp=116 cl>=23l18rx_irqsafLlassastruct>11/rx.c#L117"=2 cl>=23l18hw class="sref"ac cl>=23l18hw6=25hw class="sref"achwef""x11/rx.c#L117"=2sk_bufss="ss_fcs" classk_bufslassa* href1=2nre>=25bkbdate116l18 class="sref"ac315TYPEEEE=31L128"> 128192las31L12>31L1lassl18 class="sref"ac3151YPEEEE=31NUE="L130" 31L lass=311/rx.struct>11/rx.c#L117"=2 cl>=23l18b_if_date116{ =23l18b_if_lassa* href1=2nre>=25b_if_date116{ 30hw_to8b_if_date116{ =25hw class="sref"achwef"""315 lass=29x.s_fcss)="node=loc=293153YPEEEE=31NUE="L130" 315 lass=30"L130code,g=30"L=>30BUILD_BUG_ONass="sretyp=116BUILD_BUG_ONlassasizeofastruct>11/rx.c#L117"=2 cl>=23l18rx_9b_if_date116=23l18rx_9b_if_631L lass=29ref">freq, 31L lass=29evland"n3=e,/ue030IEEE802111RX_MSG021ggggggggocasIEEE802111RX_MSGlasshas_fc31fcs>31L lass=29 { =31b_if_date116{ { 3157lass=2930tasklet_scheduledate116=31b_if_date116{ 31L lassrx.c#L117"=3 cl>=33531L lassclass="sref")suEXPORT_SYMBOLf_date116{ EXPORT_SYMBOLlassaclass="sref")su cl>=23l18rx_irqsafLass="sretyp=116 cl>=23l18rx_irqsafLlass"has_fc31fcs>31fclassu/pre>
The original LXR 9oftware by the hree192Ihttp://sourceforge.EEE8projects/lxr">LXR 60>=unityef""x xr."srux.no kiUconsulting and opera[ionsaservices since 1995.