\hypertarget{r88e__rx_8c_source}{}\doxysection{r88e\+\_\+rx.\+c}
\label{r88e__rx_8c_source}\index{dev/rtwn/rtl8188e/r88e\_rx.c@{dev/rtwn/rtl8188e/r88e\_rx.c}}
\mbox{\hyperlink{r88e__rx_8c}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00001}00001 \textcolor{comment}{/*      \$OpenBSD: if\_urtwn.c,v 1.16 2011/02/10 17:26:40 jakemsr Exp \$   */}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00002}00002 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00003}00003 \textcolor{comment}{/*-\/}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00004}00004 \textcolor{comment}{ * Copyright (c) 2010 Damien Bergamini <damien.bergamini@free.fr>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00005}00005 \textcolor{comment}{ * Copyright (c) 2014 Kevin Lo <kevlo@FreeBSD.org>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00006}00006 \textcolor{comment}{ * Copyright (c) 2015-\/2016 Andriy Voskoboinyk <avos@FreeBSD.org>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00007}00007 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00008}00008 \textcolor{comment}{ * Permission to use, copy, modify, and distribute this software for any}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00009}00009 \textcolor{comment}{ * purpose with or without fee is hereby granted, provided that the above}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00010}00010 \textcolor{comment}{ * copyright notice and this permission notice appear in all copies.}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00011}00011 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00012}00012 \textcolor{comment}{ * THE SOFTWARE IS PROVIDED "{}AS IS"{} AND THE AUTHOR DISCLAIMS ALL WARRANTIES}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00013}00013 \textcolor{comment}{ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00014}00014 \textcolor{comment}{ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00015}00015 \textcolor{comment}{ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00016}00016 \textcolor{comment}{ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00017}00017 \textcolor{comment}{ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00018}00018 \textcolor{comment}{ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00019}00019 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00020}00020 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00021}00021 \textcolor{preprocessor}{\#include <sys/cdefs.h>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00022}\mbox{\hyperlink{r88e__rx_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{00022}} \mbox{\hyperlink{r88e__rx_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{\_\_FBSDID}}(\textcolor{stringliteral}{"{}\$FreeBSD\$"{}});}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00023}00023 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00024}00024 \textcolor{preprocessor}{\#include "{}opt\_wlan.h"{}}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00025}00025 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00026}00026 \textcolor{preprocessor}{\#include <sys/param.h>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00027}00027 \textcolor{preprocessor}{\#include <sys/lock.h>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00028}00028 \textcolor{preprocessor}{\#include <sys/mutex.h>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00029}00029 \textcolor{preprocessor}{\#include <sys/mbuf.h>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00030}00030 \textcolor{preprocessor}{\#include <sys/kernel.h>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00031}00031 \textcolor{preprocessor}{\#include <sys/socket.h>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00032}00032 \textcolor{preprocessor}{\#include <sys/systm.h>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00033}00033 \textcolor{preprocessor}{\#include <sys/malloc.h>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00034}00034 \textcolor{preprocessor}{\#include <sys/queue.h>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00035}00035 \textcolor{preprocessor}{\#include <sys/taskqueue.h>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00036}00036 \textcolor{preprocessor}{\#include <sys/bus.h>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00037}00037 \textcolor{preprocessor}{\#include <sys/endian.h>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00038}00038 \textcolor{preprocessor}{\#include <sys/linker.h>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00039}00039 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00040}00040 \textcolor{preprocessor}{\#include <net/if.h>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00041}00041 \textcolor{preprocessor}{\#include <net/ethernet.h>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00042}00042 \textcolor{preprocessor}{\#include <net/if\_media.h>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00043}00043 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00044}00044 \textcolor{preprocessor}{\#include <net80211/ieee80211\_var.h>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00045}00045 \textcolor{preprocessor}{\#include <net80211/ieee80211\_radiotap.h>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00046}00046 \textcolor{preprocessor}{\#include <net80211/ieee80211\_ratectl.h>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00047}00047 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00048}00048 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{if__rtwnreg_8h}{dev/rtwn/if\_rtwnreg.h}}>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00049}00049 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{if__rtwnvar_8h}{dev/rtwn/if\_rtwnvar.h}}>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00050}00050 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00051}00051 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{if__rtwn__debug_8h}{dev/rtwn/if\_rtwn\_debug.h}}>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00052}00052 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{if__rtwn__ridx_8h}{dev/rtwn/if\_rtwn\_ridx.h}}>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00053}00053 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00054}00054 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{r92c_8h}{dev/rtwn/rtl8192c/r92c.h}}>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00055}00055 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{r88e_8h}{dev/rtwn/rtl8188e/r88e.h}}>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00056}00056 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{r88e__rx__desc_8h}{dev/rtwn/rtl8188e/r88e\_rx\_desc.h}}>}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00057}00057 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00058}00058 \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00059}\mbox{\hyperlink{r88e_8h_ac32405958ad6d887c089d1f49dc40fd5}{00059}} \mbox{\hyperlink{r88e__rx_8c_af516bd06a4c93e404f13bf62e0cce434}{r88e\_classify\_intr}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structrtwn__softc}{rtwn\_softc}} *sc, \textcolor{keywordtype}{void} *buf, \textcolor{keywordtype}{int} len)}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00060}00060 \{}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00061}00061         \textcolor{keyword}{struct }\mbox{\hyperlink{structr92c__rx__stat}{r92c\_rx\_stat}} *stat = buf;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00062}00062         \textcolor{keywordtype}{int} report\_sel = \mbox{\hyperlink{if__rtwnreg_8h_aa1f710025311c0169fbc5b1296d914b6}{MS}}(le32toh(stat-\/>\mbox{\hyperlink{structr92c__rx__stat_a7786bc5419c135dfa78f4d1a2eeaface}{rxdw3}}), R88E\_RXDW3\_RPT);}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00063}00063 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00064}00064         \textcolor{keywordflow}{switch} (report\_sel) \{}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00065}00065         \textcolor{keywordflow}{case} \mbox{\hyperlink{r88e__rx__desc_8h_a8c93936461b533e3b1d9552b2e168a0c}{R88E\_RXDW3\_RPT\_RX}}:}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00066}00066                 \textcolor{keywordflow}{return} (\mbox{\hyperlink{if__rtwnvar_8h_a06fc87d81c62e9abb8790b6e5713c55bab4f130226ceafea77f8cdfbb239a7a5d}{RTWN\_RX\_DATA}});}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00067}00067         \textcolor{keywordflow}{case} \mbox{\hyperlink{r88e__rx__desc_8h_af101de8255ceb3e028a23427d7fc090f}{R88E\_RXDW3\_RPT\_TX1}}:      \textcolor{comment}{/* per-\/packet Tx report */}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00068}00068         \textcolor{keywordflow}{case} \mbox{\hyperlink{r88e__rx__desc_8h_aba8796121d2f4158f377e734d833ae29}{R88E\_RXDW3\_RPT\_TX2}}:      \textcolor{comment}{/* periodical Tx report */}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00069}00069                 \textcolor{keywordflow}{return} (\mbox{\hyperlink{if__rtwnvar_8h_a06fc87d81c62e9abb8790b6e5713c55ba99421715c05735fc108bc3197a65d813}{RTWN\_RX\_TX\_REPORT}});}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00070}00070         \textcolor{keywordflow}{case} \mbox{\hyperlink{r88e__rx__desc_8h_acb60f2231ce1064b3a7daf80c110de14}{R88E\_RXDW3\_RPT\_HIS}}:}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00071}00071                 \textcolor{keywordflow}{return} (\mbox{\hyperlink{if__rtwnvar_8h_a06fc87d81c62e9abb8790b6e5713c55ba8aaae997664441b78baffdcbb2106087}{RTWN\_RX\_OTHER}});}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00072}00072         \textcolor{keywordflow}{default}:                        \textcolor{comment}{/* shut up the compiler */}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00073}00073                 \textcolor{keywordflow}{return} (\mbox{\hyperlink{if__rtwnvar_8h_a06fc87d81c62e9abb8790b6e5713c55bab4f130226ceafea77f8cdfbb239a7a5d}{RTWN\_RX\_DATA}});}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00074}00074         \}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00075}00075 \}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00076}00076 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00077}00077 \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00078}\mbox{\hyperlink{r88e_8h_a8a74b59bf0137ccf6389f7cfb87a13a6}{00078}} \mbox{\hyperlink{r88e__rx_8c_af810e1d1112275f0a4d3baaf61c6d47b}{r88e\_ratectl\_tx\_complete}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structrtwn__softc}{rtwn\_softc}} *sc, uint8\_t *buf, \textcolor{keywordtype}{int} len)}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00079}00079 \{}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00080}00080 \textcolor{preprocessor}{\#if \_\_FreeBSD\_version >= 1200012}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00081}00081         \textcolor{keyword}{struct }ieee80211\_ratectl\_tx\_status txs;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00082}00082 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00083}00083         \textcolor{keyword}{struct }\mbox{\hyperlink{structr88e__tx__rpt__ccx}{r88e\_tx\_rpt\_ccx}} *rpt;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00084}00084         \textcolor{keyword}{struct }ieee80211\_node *ni;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00085}00085         uint8\_t macid;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00086}00086         \textcolor{keywordtype}{int} ntries;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00087}00087 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00088}00088         \textcolor{comment}{/* Skip Rx descriptor. */}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00089}00089         buf += \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct }\mbox{\hyperlink{structr92c__rx__stat}{r92c\_rx\_stat}});}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00090}00090         len -\/= \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct }\mbox{\hyperlink{structr92c__rx__stat}{r92c\_rx\_stat}});}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00091}00091 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00092}00092         rpt = (\textcolor{keyword}{struct }\mbox{\hyperlink{structr88e__tx__rpt__ccx}{r88e\_tx\_rpt\_ccx}} *)buf;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00093}00093         \textcolor{keywordflow}{if} (len != \textcolor{keyword}{sizeof}(*rpt)) \{}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00094}00094                 \mbox{\hyperlink{if__rtwn__debug_8h_a6ca1eeaaeb8a9a7f515dd33e65e9c591}{RTWN\_DPRINTF}}(sc, RTWN\_DEBUG\_INTR,}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00095}00095                     \textcolor{stringliteral}{"{}\%s: wrong report size (\%d, must be \%zu)\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00096}00096                     \_\_func\_\_, len, \textcolor{keyword}{sizeof}(*rpt));}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00097}00097                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00098}00098         \}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00099}00099 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00100}00100         \mbox{\hyperlink{if__rtwn__debug_8h_a6ca1eeaaeb8a9a7f515dd33e65e9c591}{RTWN\_DPRINTF}}(sc, RTWN\_DEBUG\_INTR,}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00101}00101             \textcolor{stringliteral}{"{}\%s: ccx report dump: 0: \%02X, 1: \%02X, 2: \%02X, queue time: "{}}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00102}00102             \textcolor{stringliteral}{"{}low \%02X, high \%02X, final ridx: \%02X, 6: \%02X, 7: \%02X\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00103}00103             \_\_func\_\_, rpt-\/>\mbox{\hyperlink{structr88e__tx__rpt__ccx_a3a7c372c624b204481b5cf0f2476cdf2}{rptb0}}, rpt-\/>\mbox{\hyperlink{structr88e__tx__rpt__ccx_a4a275c4b8f151c1079f8a23e8feb416c}{rptb1}}, rpt-\/>\mbox{\hyperlink{structr88e__tx__rpt__ccx_a54a8ce2d655ebc8afe7d7bc42a9c5f50}{rptb2}}, rpt-\/>\mbox{\hyperlink{structr88e__tx__rpt__ccx_a663a188b5d526760fc80dc0e5c24c848}{queue\_time\_low}},}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00104}00104             rpt-\/>\mbox{\hyperlink{structr88e__tx__rpt__ccx_ac36c2f4ca4ad4005015142aefffe3b10}{queue\_time\_high}}, rpt-\/>\mbox{\hyperlink{structr88e__tx__rpt__ccx_a02babc1c4cb4aab9a3bfd5a2c56e6205}{final\_rate}}, rpt-\/>\mbox{\hyperlink{structr88e__tx__rpt__ccx_a4b5d6192efff6d8d38c34ca3a4201318}{rptb6}}, rpt-\/>\mbox{\hyperlink{structr88e__tx__rpt__ccx_a61783e06e531fd3c830876ed0884d643}{rptb7}});}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00105}00105 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00106}00106         macid = \mbox{\hyperlink{if__rtwnreg_8h_aa1f710025311c0169fbc5b1296d914b6}{MS}}(rpt-\/>\mbox{\hyperlink{structr88e__tx__rpt__ccx_a4a275c4b8f151c1079f8a23e8feb416c}{rptb1}}, R88E\_RPTB1\_MACID);}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00107}00107         \textcolor{keywordflow}{if} (macid > sc-\/>\mbox{\hyperlink{structrtwn__softc_adcddd20c52b2efdb0892f3cd8e9afe52}{macid\_limit}}) \{}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00108}00108                 device\_printf(sc-\/>\mbox{\hyperlink{structrtwn__softc_a299d18a16d08213b975a1585651583f9}{sc\_dev}},}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00109}00109                     \textcolor{stringliteral}{"{}macid \%u is too big; increase MACID\_MAX limit\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00110}00110                     macid);}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00111}00111                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00112}00112         \}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00113}00113 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00114}00114         ntries = \mbox{\hyperlink{if__rtwnreg_8h_aa1f710025311c0169fbc5b1296d914b6}{MS}}(rpt-\/>\mbox{\hyperlink{structr88e__tx__rpt__ccx_a54a8ce2d655ebc8afe7d7bc42a9c5f50}{rptb2}}, R88E\_RPTB2\_RETRY\_CNT);}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00115}00115 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00116}00116         ni = sc-\/>\mbox{\hyperlink{structrtwn__softc_a9ad669c7ad2bfae31343cab0e6204cd4}{node\_list}}[macid];}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00117}00117         \textcolor{keywordflow}{if} (ni != NULL) \{}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00118}00118                 \mbox{\hyperlink{if__rtwn__debug_8h_a6ca1eeaaeb8a9a7f515dd33e65e9c591}{RTWN\_DPRINTF}}(sc, RTWN\_DEBUG\_INTR, \textcolor{stringliteral}{"{}\%s: frame for macid \%u was"{}}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00119}00119                     \textcolor{stringliteral}{"{}\%s sent (\%d retries)\(\backslash\)n"{}}, \_\_func\_\_, macid,}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00120}00120                     (rpt-\/>\mbox{\hyperlink{structr88e__tx__rpt__ccx_a4a275c4b8f151c1079f8a23e8feb416c}{rptb1}} \& \mbox{\hyperlink{r88e__rx__desc_8h_a86cada9042f116ac6dc7d0d2d1a3f42d}{R88E\_RPTB1\_PKT\_OK}}) ? \textcolor{stringliteral}{"{}"{}} : \textcolor{stringliteral}{"{} not"{}},}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00121}00121                     ntries);}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00122}00122 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00123}00123 \textcolor{preprocessor}{\#if \_\_FreeBSD\_version >= 1200012}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00124}00124                 txs.flags = IEEE80211\_RATECTL\_STATUS\_LONG\_RETRY |}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00125}00125                             IEEE80211\_RATECTL\_STATUS\_FINAL\_RATE;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00126}00126                 txs.long\_retries = ntries;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00127}00127                 \textcolor{keywordflow}{if} (rpt-\/>\mbox{\hyperlink{structr88e__tx__rpt__ccx_a02babc1c4cb4aab9a3bfd5a2c56e6205}{final\_rate}} > \mbox{\hyperlink{if__rtwn__ridx_8h_a2a8740a4028af829d8624de5efc0f70e}{RTWN\_RIDX\_OFDM54}}) \{     \textcolor{comment}{/* MCS */}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00128}00128                         txs.final\_rate =}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00129}00129                             rpt-\/>\mbox{\hyperlink{structr88e__tx__rpt__ccx_a02babc1c4cb4aab9a3bfd5a2c56e6205}{final\_rate}} -\/ \mbox{\hyperlink{if__rtwn__ridx_8h_a8269b684209c5a4f3fa3187c8ee9ab82}{RTWN\_RIDX\_HT\_MCS\_SHIFT}};}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00130}00130                         txs.final\_rate |= IEEE80211\_RATE\_MCS;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00131}00131                 \} \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00132}00132                         txs.final\_rate = \mbox{\hyperlink{if__rtwn__ridx_8h_aef28acbbdce48ddb5b5335bde45dbc59}{ridx2rate}}[rpt-\/>\mbox{\hyperlink{structr88e__tx__rpt__ccx_a02babc1c4cb4aab9a3bfd5a2c56e6205}{final\_rate}}];}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00133}00133                 \textcolor{keywordflow}{if} (rpt-\/>\mbox{\hyperlink{structr88e__tx__rpt__ccx_a4a275c4b8f151c1079f8a23e8feb416c}{rptb1}} \& \mbox{\hyperlink{r88e__rx__desc_8h_a86cada9042f116ac6dc7d0d2d1a3f42d}{R88E\_RPTB1\_PKT\_OK}})}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00134}00134                         txs.status = IEEE80211\_RATECTL\_TX\_SUCCESS;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00135}00135                 \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (rpt-\/>\mbox{\hyperlink{structr88e__tx__rpt__ccx_a54a8ce2d655ebc8afe7d7bc42a9c5f50}{rptb2}} \& \mbox{\hyperlink{r88e__rx__desc_8h_a4c5900ac8168372645e1cb0ca3a56183}{R88E\_RPTB2\_RETRY\_OVER}})}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00136}00136                         txs.status = IEEE80211\_RATECTL\_TX\_FAIL\_LONG;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00137}00137                 \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (rpt-\/>\mbox{\hyperlink{structr88e__tx__rpt__ccx_a54a8ce2d655ebc8afe7d7bc42a9c5f50}{rptb2}} \& \mbox{\hyperlink{r88e__rx__desc_8h_a3f9ddce0ba72b4235748eb94aa150fed}{R88E\_RPTB2\_LIFE\_EXPIRE}})}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00138}00138                         txs.status = IEEE80211\_RATECTL\_TX\_FAIL\_EXPIRED;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00139}00139                 \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00140}00140                         txs.status = IEEE80211\_RATECTL\_TX\_FAIL\_UNSPECIFIED;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00141}00141                 ieee80211\_ratectl\_tx\_complete(ni, \&txs);}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00142}00142 \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00143}00143                 \textcolor{keyword}{struct }ieee80211vap *vap = ni-\/>ni\_vap;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00144}00144                 \textcolor{keywordflow}{if} (rpt-\/>\mbox{\hyperlink{structr88e__tx__rpt__ccx_a4a275c4b8f151c1079f8a23e8feb416c}{rptb1}} \& \mbox{\hyperlink{r88e__rx__desc_8h_a86cada9042f116ac6dc7d0d2d1a3f42d}{R88E\_RPTB1\_PKT\_OK}}) \{}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00145}00145                         ieee80211\_ratectl\_tx\_complete(vap, ni,}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00146}00146                             IEEE80211\_RATECTL\_TX\_SUCCESS, \&ntries, NULL);}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00147}00147                 \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00148}00148                         ieee80211\_ratectl\_tx\_complete(vap, ni,}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00149}00149                             IEEE80211\_RATECTL\_TX\_FAILURE, \&ntries, NULL);}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00150}00150                 \}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00151}00151 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00152}00152         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00153}00153                 \mbox{\hyperlink{if__rtwn__debug_8h_a6ca1eeaaeb8a9a7f515dd33e65e9c591}{RTWN\_DPRINTF}}(sc, RTWN\_DEBUG\_INTR, \textcolor{stringliteral}{"{}\%s: macid \%u, ni is NULL\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00154}00154                     \_\_func\_\_, macid);}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00155}00155         \}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00156}00156 \}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00157}00157 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00158}00158 \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00159}\mbox{\hyperlink{r88e_8h_ad75f45c3c69529d0e42cd99b598986ae}{00159}} \mbox{\hyperlink{r88e__rx_8c_a8f2cd38f450c533bb0542f2eed358f23}{r88e\_handle\_c2h\_report}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structrtwn__softc}{rtwn\_softc}} *sc, uint8\_t *buf, \textcolor{keywordtype}{int} len)}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00160}00160 \{}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00161}00161 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00162}00162         \textcolor{comment}{/* Skip Rx descriptor. */}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00163}00163         buf += \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct }\mbox{\hyperlink{structr92c__rx__stat}{r92c\_rx\_stat}});}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00164}00164         len -\/= \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct }\mbox{\hyperlink{structr92c__rx__stat}{r92c\_rx\_stat}});}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00165}00165 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00166}00166         \textcolor{keywordflow}{if} (len != \mbox{\hyperlink{r88e_8h_ab4b625ef2ca6816f1a4e7c2d72b97349}{R88E\_INTR\_MSG\_LEN}}) \{}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00167}00167                 \mbox{\hyperlink{if__rtwn__debug_8h_a6ca1eeaaeb8a9a7f515dd33e65e9c591}{RTWN\_DPRINTF}}(sc, RTWN\_DEBUG\_INTR,}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00168}00168                     \textcolor{stringliteral}{"{}\%s: wrong interrupt message size (\%d, must be \%d)\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00169}00169                     \_\_func\_\_, len, \mbox{\hyperlink{r88e_8h_ab4b625ef2ca6816f1a4e7c2d72b97349}{R88E\_INTR\_MSG\_LEN}});}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00170}00170                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00171}00171         \}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00172}00172 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00173}00173         \textcolor{comment}{/* XXX TODO */}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00174}00174 \}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00175}00175 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00176}00176 int8\_t}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00177}\mbox{\hyperlink{r88e_8h_a18ee54be7134c028ad3a750b017d93fe}{00177}} \mbox{\hyperlink{r88e__rx_8c_ab1e6426099ad0fb939ca91426966d831}{r88e\_get\_rssi\_cck}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structrtwn__softc}{rtwn\_softc}} *sc, \textcolor{keywordtype}{void} *physt)}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00178}00178 \{}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00179}00179         \textcolor{keyword}{struct }\mbox{\hyperlink{structr88e__rx__phystat}{r88e\_rx\_phystat}} *phy = (\textcolor{keyword}{struct }\mbox{\hyperlink{structr88e__rx__phystat}{r88e\_rx\_phystat}} *)physt;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00180}00180         int8\_t lna\_idx, vga\_idx, rssi;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00181}00181 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00182}00182         lna\_idx = (phy-\/>\mbox{\hyperlink{structr88e__rx__phystat_a8740270fc94ffc0b976e54f9d24fbb97}{agc\_rpt}} \& 0xe0) >> 5;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00183}00183         vga\_idx = (phy-\/>\mbox{\hyperlink{structr88e__rx__phystat_a8740270fc94ffc0b976e54f9d24fbb97}{agc\_rpt}} \& 0x1f);}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00184}00184         rssi = 6 -\/ 2 * vga\_idx;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00185}00185 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00186}00186         \textcolor{keywordflow}{switch} (lna\_idx) \{}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00187}00187         \textcolor{keywordflow}{case} 7:}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00188}00188                 \textcolor{keywordflow}{if} (vga\_idx > 27)}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00189}00189                         rssi = -\/100 + 6;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00190}00190                 \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00191}00191                         rssi += -\/100 + 2 * 27;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00192}00192                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00193}00193         \textcolor{keywordflow}{case} 6:}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00194}00194                 rssi += -\/48 + 2 * 2;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00195}00195                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00196}00196         \textcolor{keywordflow}{case} 5:}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00197}00197                 rssi += -\/42 + 2 * 7;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00198}00198                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00199}00199         \textcolor{keywordflow}{case} 4:}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00200}00200                 rssi += -\/36 + 2 * 7;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00201}00201                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00202}00202         \textcolor{keywordflow}{case} 3:}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00203}00203                 rssi += -\/24 + 2 * 7;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00204}00204                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00205}00205         \textcolor{keywordflow}{case} 2:}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00206}00206                 rssi += -\/6 + 2 * 5;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00207}00207                 \textcolor{keywordflow}{if} (sc-\/>\mbox{\hyperlink{structrtwn__softc_aa141cf90dc5b1563913ece10d996ad7e}{sc\_flags}} \& \mbox{\hyperlink{if__rtwnvar_8h_a04d8d3731f9b968df7a15eb24e03bcd0}{RTWN\_FLAG\_CCK\_HIPWR}})}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00208}00208                         rssi -\/= 6;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00209}00209                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00210}00210         \textcolor{keywordflow}{case} 1:}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00211}00211                 rssi += 8;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00212}00212                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00213}00213         \textcolor{keywordflow}{case} 0:}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00214}00214                 rssi += 14;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00215}00215                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00216}00216         \}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00217}00217 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00218}00218         \textcolor{keywordflow}{return} (rssi);}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00219}00219 \}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00220}00220 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00221}00221 int8\_t}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00222}\mbox{\hyperlink{r88e_8h_af6841173ff2d0c1c48f57fa6a7b3f3fd}{00222}} \mbox{\hyperlink{r88e__rx_8c_a7e732897eced2bd26a8640640fded12a}{r88e\_get\_rssi\_ofdm}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structrtwn__softc}{rtwn\_softc}} *sc, \textcolor{keywordtype}{void} *physt)}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00223}00223 \{}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00224}00224         \textcolor{keyword}{struct }\mbox{\hyperlink{structr88e__rx__phystat}{r88e\_rx\_phystat}} *phy = (\textcolor{keyword}{struct }\mbox{\hyperlink{structr88e__rx__phystat}{r88e\_rx\_phystat}} *)physt;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00225}00225         \textcolor{keywordtype}{int} rssi;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00226}00226 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00227}00227         \textcolor{comment}{/* Get average RSSI. */}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00228}00228         rssi = ((phy-\/>\mbox{\hyperlink{structr88e__rx__phystat_a057bf4ca97359e9d13c1b0d46584e9fc}{sig\_qual}} >> 1) \& 0x7f) -\/ 110;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00229}00229 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00230}00230         \textcolor{keywordflow}{return} (rssi);}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00231}00231 \}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00232}00232 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00233}00233 \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00234}\mbox{\hyperlink{r88e_8h_a1c09a26273d69364b259e6e6ec20c4fc}{00234}} \mbox{\hyperlink{r88e__rx_8c_adf859edc232ebdeabad3ab0632292f83}{r88e\_get\_rx\_stats}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structrtwn__softc}{rtwn\_softc}} *sc, \textcolor{keyword}{struct} ieee80211\_rx\_stats *rxs,}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00235}00235     \textcolor{keyword}{const} \textcolor{keywordtype}{void} *desc, \textcolor{keyword}{const} \textcolor{keywordtype}{void} *physt\_ptr)}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00236}00236 \{}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00237}00237         \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structr88e__rx__phystat}{r88e\_rx\_phystat}} *physt = physt\_ptr;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00238}00238 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00239}00239         \mbox{\hyperlink{r92c_8h_a90043a08a278aed029c79de19a2da343}{r92c\_get\_rx\_stats}}(sc, rxs, desc, physt\_ptr);}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00240}00240 }
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00241}00241         \textcolor{keywordflow}{if} (!sc-\/>\mbox{\hyperlink{structrtwn__softc_af5dd421f3505f288cb8421c1994a2a03}{sc\_ht40}}) \{      \textcolor{comment}{/* XXX center channel */}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00242}00242                 rxs-\/>r\_flags |= IEEE80211\_R\_IEEE | IEEE80211\_R\_FREQ;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00243}00243                 rxs-\/>r\_flags |= IEEE80211\_R\_BAND;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00244}00244                 rxs-\/>c\_ieee = physt-\/>\mbox{\hyperlink{structr88e__rx__phystat_af0491ab44e8ee7b6732f5c59b24de892}{chan}};}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00245}00245                 rxs-\/>c\_freq = ieee80211\_ieee2mhz(rxs-\/>c\_ieee,}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00246}00246                     IEEE80211\_CHAN\_2GHZ);}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00247}00247                 rxs-\/>c\_band = IEEE80211\_CHAN\_2GHZ;}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00248}00248         \}}
\DoxyCodeLine{\Hypertarget{r88e__rx_8c_source_l00249}00249 \}}

\end{DoxyCode}
