Cleanup the rt_stats structure. Many of the fields where unused and a lot of the fields where set but never referenced. Signed-off-by: Sean MacLennan <seanm@xxxxxxxx> --- diff --git a/drivers/staging/rtl8192e/rtl8192e/r8190P_def.h b/drivers/staging/rtl8192e/rtl8192e/r8190P_def.h index b7bb71f..3c8e922 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8190P_def.h +++ b/drivers/staging/rtl8192e/rtl8192e/r8190P_def.h @@ -269,12 +269,14 @@ struct log_int_8190 { u32 nIMR_RXFOVW; }; +#if 0 struct phy_ofdm_rx_status_rxsc_sgien_exintfflag { u8 reserved:4; u8 rxsc:2; u8 sgi_en:1; u8 ex_intf_flag:1; }; +#endif struct phy_sts_ofdm_819xpci { u8 trsw_gain_X[4]; diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.c index ea91744..e1915ee 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.c @@ -108,6 +108,7 @@ cmpk_count_txstatistic( struct cmpk_txfb *pstx_fb) { struct r8192_priv *priv = rtllib_priv(dev); + #ifdef ENABLE_PS enum rt_rf_power_state rtState; @@ -119,53 +120,20 @@ cmpk_count_txstatistic( #endif if (pstx_fb->tok) { - priv->stats.txfeedbackok++; - priv->stats.txoktotal++; - priv->stats.txokbytestotal += pstx_fb->pkt_length; - priv->stats.txokinperiod++; - - if (pstx_fb->pkt_type == PACKET_MULTICAST) { - priv->stats.txmulticast++; - priv->stats.txbytesmulticast += pstx_fb->pkt_length; - } else if (pstx_fb->pkt_type == PACKET_BROADCAST) { - priv->stats.txbroadcast++; - priv->stats.txbytesbroadcast += pstx_fb->pkt_length; - } else { - priv->stats.txunicast++; + switch (pstx_fb->pkt_type) { + case PACKET_MULTICAST: + case PACKET_BROADCAST: + break; + default: priv->stats.txbytesunicast += pstx_fb->pkt_length; } - } else { - priv->stats.txfeedbackfail++; - priv->stats.txerrtotal++; - priv->stats.txerrbytestotal += pstx_fb->pkt_length; - - if (pstx_fb->pkt_type == PACKET_MULTICAST) - priv->stats.txerrmulticast++; - else if (pstx_fb->pkt_type == PACKET_BROADCAST) - priv->stats.txerrbroadcast++; - else - priv->stats.txerrunicast++; } - - priv->stats.txretrycount += pstx_fb->retry_cnt; - priv->stats.txfeedbackretry += pstx_fb->retry_cnt; - -} /* cmpk_CountTxStatistic */ - - +} static void cmpk_handle_tx_feedback(struct net_device *dev, u8 *pmsg) { - struct r8192_priv *priv = rtllib_priv(dev); - struct cmpk_txfb rx_tx_fb; /* */ - - priv->stats.txfeedback++; - - - memcpy((u8 *)&rx_tx_fb, pmsg, sizeof(struct cmpk_txfb)); - cmpk_count_txstatistic(dev, &rx_tx_fb); - -} /* cmpk_Handle_Tx_Feedback */ + cmpk_count_txstatistic(dev, (struct cmpk_txfb *)pmsg); +} static void cmdpkt_beacontimerinterrupt_819xusb(struct net_device *dev) { @@ -182,7 +150,6 @@ static void cmdpkt_beacontimerinterrupt_819xusb(struct net_device *dev) tx_rate = 10; DMESG("send beacon frame tx rate is 1Mbpm\n"); } - } static void cmpk_handle_interrupt_status(struct net_device *dev, u8 *pmsg) @@ -206,13 +173,10 @@ static void cmpk_handle_interrupt_status(struct net_device *dev, u8 *pmsg) DMESG("interrupt status = 0x%x\n", rx_intr_status.interrupt_status); - if (rx_intr_status.interrupt_status & ISR_TxBcnOk) { + if (rx_intr_status.interrupt_status & ISR_TxBcnOk) priv->rtllib->bibsscoordinator = true; - priv->stats.txbeaconokint++; - } else if (rx_intr_status.interrupt_status & ISR_TxBcnErr) { + else if (rx_intr_status.interrupt_status & ISR_TxBcnErr) priv->rtllib->bibsscoordinator = false; - priv->stats.txbeaconerr++; - } if (rx_intr_status.interrupt_status & ISR_BcnTimerIntr) cmdpkt_beacontimerinterrupt_819xusb(dev); @@ -223,8 +187,9 @@ static void cmpk_handle_interrupt_status(struct net_device *dev, u8 *pmsg) } /* cmpk_handle_interrupt_status */ -static void cmpk_handle_query_config_rx(struct net_device *dev, u8 *pmsg) +static void cmpk_handle_query_config_rx(struct net_device *dev, u8 *pmsg) { +#if 0 cmpk_query_cfg_t rx_query_cfg; /* */ @@ -237,8 +202,8 @@ static void cmpk_handle_query_config_rx(struct net_device *dev, u8 *pmsg) (pmsg[10] << 8) | (pmsg[11] << 0); rx_query_cfg.mask = (pmsg[12] << 24) | (pmsg[13] << 16) | (pmsg[14] << 8) | (pmsg[15] << 0); - -} /* cmpk_Handle_Query_Config_Rx */ +#endif +} static void cmpk_count_tx_status(struct net_device *dev, @@ -257,30 +222,8 @@ static void cmpk_count_tx_status(struct net_device *dev, return; #endif - priv->stats.txfeedbackok += pstx_status->txok; - priv->stats.txoktotal += pstx_status->txok; - - priv->stats.txfeedbackfail += pstx_status->txfail; - priv->stats.txerrtotal += pstx_status->txfail; - - priv->stats.txretrycount += pstx_status->txretry; - priv->stats.txfeedbackretry += pstx_status->txretry; - - - priv->stats.txmulticast += pstx_status->txmcok; - priv->stats.txbroadcast += pstx_status->txbcok; - priv->stats.txunicast += pstx_status->txucok; - - priv->stats.txerrmulticast += pstx_status->txmcfail; - priv->stats.txerrbroadcast += pstx_status->txbcfail; - priv->stats.txerrunicast += pstx_status->txucfail; - - priv->stats.txbytesmulticast += pstx_status->txmclength; - priv->stats.txbytesbroadcast += pstx_status->txbclength; priv->stats.txbytesunicast += pstx_status->txuclength; - - priv->stats.last_packet_rate = pstx_status->rate; -} /* cmpk_CountTxStatus */ +} @@ -288,57 +231,11 @@ static void cmpk_handle_tx_status(struct net_device *dev, u8 *pmsg) { struct cmpk_tx_status rx_tx_sts; /* */ + // SAM FIXME memcpy((void *)&rx_tx_sts, (void *)pmsg, sizeof(struct cmpk_tx_status)); cmpk_count_tx_status(dev, &rx_tx_sts); } -static void cmpk_handle_tx_rate_history(struct net_device *dev, u8 *pmsg) -{ - struct cmpk_tx_rahis *ptxrate; - u8 i, j; - u16 length = sizeof(struct cmpk_tx_rahis); - u32 *ptemp; - struct r8192_priv *priv = rtllib_priv(dev); - - -#ifdef ENABLE_PS - pAdapter->HalFunc.GetHwRegHandler(pAdapter, HW_VAR_RF_STATE, - (pu1Byte)(&rtState)); - - if (rtState == eRfOff) - return; -#endif - - ptemp = (u32 *)pmsg; - - for (i = 0; i < (length / 4); i++) { - u16 temp1, temp2; - - temp1 = ptemp[i] & 0x0000FFFF; - temp2 = ptemp[i] >> 16; - ptemp[i] = (temp1 << 16) | temp2; - } - - ptxrate = (struct cmpk_tx_rahis *)pmsg; - - if (ptxrate == NULL) - return; - - for (i = 0; i < 16; i++) { - if (i < 4) - priv->stats.txrate.cck[i] += ptxrate->cck[i]; - - if (i < 8) - priv->stats.txrate.ofdm[i] += ptxrate->ofdm[i]; - - for (j = 0; j < 4; j++) - priv->stats.txrate.ht_mcs[j][i] += - ptxrate->ht_mcs[j][i]; - } - -} - - u32 cmpk_message_handle_rx(struct net_device *dev, struct rtllib_rx_stats *pstats) { @@ -398,7 +295,6 @@ u32 cmpk_message_handle_rx(struct net_device *dev, case RX_TX_RATE_HISTORY: RT_TRACE(COMP_CMDPKT, "---->cmpk_message_handle_rx():" "RX_TX_HISTORY\n"); - cmpk_handle_tx_rate_history(dev, pcmd_buff); cmd_length = CMPK_TX_RAHIS_SIZE; break; default: diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.h b/drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.h index 23219e1..c6720dc 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.h +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_cmdpkt.h @@ -124,17 +124,9 @@ struct cmpk_tx_rahis { u8 element_id; u8 length; u16 reserved1; - u16 cck[4]; - u16 ofdm[8]; - - - - - u16 ht_mcs[4][16]; - } __packed; enum cmpk_element { diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index a9d78e9..951d783 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -1468,9 +1468,8 @@ static void rtl8192_query_rxphystatus( { struct phy_sts_ofdm_819xpci *pofdm_buf; struct phy_sts_cck_819xpci *pcck_buf; - struct phy_ofdm_rx_status_rxsc_sgien_exintfflag *prxsc; u8 *prxpkt; - u8 i, max_spatial_stream, tmp_rxsnr, tmp_rxevm, rxsc_sgien_exflg; + u8 i, max_spatial_stream, tmp_rxsnr, tmp_rxevm; char rx_pwr[4], rx_pwr_all = 0; char rx_snrX, rx_evmX; u8 evm, pwdb_all; @@ -1480,8 +1479,6 @@ static void rtl8192_query_rxphystatus( static u8 check_reg824; static u32 reg824_bit9; - priv->stats.numqry_phystatus++; - is_cck_rate = rx_hal_is_cck_rate(pdrvinfo); memset(precord_stats, 0, sizeof(struct rtllib_rx_stats)); pstats->bPacketMatchBSSID = precord_stats->bPacketMatchBSSID = @@ -1512,7 +1509,6 @@ static void rtl8192_query_rxphystatus( if (is_cck_rate) { u8 report; - priv->stats.numqry_phystatusCCK++; if (!reg824_bit9) { report = pcck_buf->cck_agc_rpt & 0xc0; report = report>>6; @@ -1587,7 +1583,6 @@ static void rtl8192_query_rxphystatus( precord_stats->RxMIMOSignalQuality[1] = -1; } } else { - priv->stats.numqry_phystatusHT++; for (i = RF90_PATH_A; i < RF90_PATH_MAX; i++) { if (priv->brfpath_rxenable[i]) rf_rx_num++; @@ -1598,7 +1593,6 @@ static void rtl8192_query_rxphystatus( tmp_rxsnr = pofdm_buf->rxsnr_X[i]; rx_snrX = (char)(tmp_rxsnr); rx_snrX /= 2; - priv->stats.rxSNRdB[i] = (long)rx_snrX; RSSI = rtl819x_query_rxpwrpercentage(rx_pwr[i]); if (priv->brfpath_rxenable[i]) @@ -1644,15 +1638,6 @@ static void rtl8192_query_rxphystatus( & 0xff); } } - - - rxsc_sgien_exflg = pofdm_buf->rxsc_sgien_exflg; - prxsc = (struct phy_ofdm_rx_status_rxsc_sgien_exintfflag *) - &rxsc_sgien_exflg; - if (pdrvinfo->BW) - priv->stats.received_bwtype[1+prxsc->rxsc]++; - else - priv->stats.received_bwtype[0]++; } if (is_cck_rate) { @@ -1673,8 +1658,8 @@ static void rtl8192_process_phyinfo(struct r8192_priv *priv, u8 *buffer, struct rtllib_rx_stats *curr_st) { bool bcheck = false; - u8 rfpath; - u32 ij, tmp_val; + u8 rfpath; + u32 tmp_val; static u32 slide_rssi_index, slide_rssi_statistics; static u32 slide_evm_index, slide_evm_statistics; static u32 last_rssi, last_evm; @@ -1719,7 +1704,6 @@ static void rtl8192_process_phyinfo(struct r8192_priv *priv, u8 *buffer, rtl819x_process_cck_rxpathsel(priv, prev_st); - priv->stats.num_process_phyinfo++; if (!prev_st->bIsCCK && prev_st->bPacketToSelf) { for (rfpath = RF90_PATH_A; rfpath < RF90_PATH_C; rfpath++) { if (!rtl8192_phy_CheckIsLegalRFPath(priv->rtllib->dev, @@ -1817,28 +1801,6 @@ static void rtl8192_process_phyinfo(struct r8192_priv *priv, u8 *buffer, prev_st->SignalQuality; if (slide_evm_index >= PHY_RSSI_SLID_WIN_MAX) slide_evm_index = 0; - - tmp_val = priv->stats.slide_evm_total / - slide_evm_statistics; - priv->stats.signal_quality = tmp_val; - priv->stats.last_signal_strength_inpercent = tmp_val; - } - - if (prev_st->bPacketToSelf || - prev_st->bPacketBeacon || - prev_st->bToSelfBA) { - for (ij = 0; ij < 2; ij++) { - if (prev_st->RxMIMOSignalQuality[ij] != -1) { - if (priv->stats.rx_evm_percentage[ij] == 0) - priv->stats.rx_evm_percentage[ij] = - prev_st->RxMIMOSignalQuality[ij]; - priv->stats.rx_evm_percentage[ij] = - ((priv->stats.rx_evm_percentage[ij] * - (RX_SMOOTH - 1)) + - (prev_st->RxMIMOSignalQuality[ij])) / - (RX_SMOOTH); - } - } } } } @@ -1877,10 +1839,6 @@ static void rtl8192_TranslateRxSignalStuff(struct net_device *dev, priv->rtllib->dev->dev_addr)); if (WLAN_FC_GET_FRAMETYPE(fc) == RTLLIB_STYPE_BEACON) bPacketBeacon = true; - if (bpacket_match_bssid) - priv->stats.numpacket_matchbssid++; - if (bpacket_toself) - priv->stats.numpacket_toself++; rtl8192_process_phyinfo(priv, tmp_buf, &previous_stats, pstats); rtl8192_query_rxphystatus(priv, pstats, pdesc, pdrvinfo, &previous_stats, bpacket_match_bssid, @@ -1996,7 +1954,6 @@ static void rtl8192_UpdateReceivedRateHistogramStatistics( rateIndex = 28; break; } - priv->stats.received_preamble_GI[preamble_guardinterval][rateIndex]++; priv->stats.received_rate_histogram[0][rateIndex]++; priv->stats.received_rate_histogram[rcvType][rateIndex]++; } @@ -2006,8 +1963,6 @@ bool rtl8192_rx_query_status_desc(struct net_device *dev, struct rx_desc *pdesc, struct sk_buff *skb) { - struct r8192_priv *priv = rtllib_priv(dev); - stats->bICV = pdesc->ICV; stats->bCRC = pdesc->CRC32; stats->bHwError = pdesc->CRC32 | pdesc->ICV; @@ -2018,15 +1973,6 @@ bool rtl8192_rx_query_status_desc(struct net_device *dev, if (stats->bHwError) { stats->bShift = false; - - if (pdesc->CRC32) { - if (pdesc->Length < 500) - priv->stats.rxcrcerrmin++; - else if (pdesc->Length > 1000) - priv->stats.rxcrcerrmax++; - else - priv->stats.rxcrcerrmid++; - } return false; } else { struct rx_fwinfo *pDrvInfo = NULL; diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c index 2b6c61c..455f0b3 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c @@ -2032,10 +2032,6 @@ short rtl8192_tx(struct net_device *dev, struct sk_buff *skb) if (uni_addr) priv->stats.txbytesunicast += skb->len - fwinfo_size; - else if (multi_addr) - priv->stats.txbytesmulticast += skb->len - fwinfo_size; - else - priv->stats.txbytesbroadcast += skb->len - fwinfo_size; spin_lock_irqsave(&priv->irq_th_lock, flags); ring = &priv->tx_ring[tcb_desc->queue_index]; @@ -2374,19 +2370,11 @@ static void rtl8192_rx_normal(struct net_device *dev) priv->rtllib->LedControlHandler(dev, LED_CTL_RX); - if (stats.bCRC) { - if (type != RTLLIB_FTYPE_MGMT) - priv->stats.rxdatacrcerr++; - else - priv->stats.rxmgmtcrcerr++; - } - skb_len = skb->len; if (!rtllib_rx(priv->rtllib, skb, &stats)) { dev_kfree_skb_any(skb); } else { - priv->stats.rxok++; if (unicast_packet) priv->stats.rxbytesunicast += skb_len; } @@ -2719,7 +2707,6 @@ irqreturn_type rtl8192_interrupt(int irq, void *netdev, struct pt_regs *regs) spin_lock_irqsave(&priv->irq_th_lock, flags); priv->ops->interrupt_recognized(dev, &inta, &intb); - priv->stats.shints++; if (!inta) { spin_unlock_irqrestore(&priv->irq_th_lock, flags); @@ -2731,29 +2718,12 @@ irqreturn_type rtl8192_interrupt(int irq, void *netdev, struct pt_regs *regs) goto done; } - priv->stats.ints++; - if (!netif_running(dev)) { spin_unlock_irqrestore(&priv->irq_th_lock, flags); goto done; } - if (inta & IMR_TBDOK) { - RT_TRACE(COMP_INTR, "beacon ok interrupt!\n"); - priv->stats.txbeaconokint++; - } - - if (inta & IMR_TBDER) { - RT_TRACE(COMP_INTR, "beacon ok interrupt!\n"); - priv->stats.txbeaconerr++; - } - - if (inta & IMR_BDOK) - RT_TRACE(COMP_INTR, "beacon interrupt!\n"); - if (inta & IMR_MGNTDOK) { - RT_TRACE(COMP_INTR, "Manage ok interrupt!\n"); - priv->stats.txmanageokint++; rtl8192_tx_isr(dev, MGNT_QUEUE); spin_unlock_irqrestore(&priv->irq_th_lock, flags); if (priv->rtllib->ack_tx_to_ieee) { @@ -2765,66 +2735,45 @@ irqreturn_type rtl8192_interrupt(int irq, void *netdev, struct pt_regs *regs) spin_lock_irqsave(&priv->irq_th_lock, flags); } - if (inta & IMR_COMDOK) { - priv->stats.txcmdpktokint++; + if (inta & IMR_COMDOK) rtl8192_tx_isr(dev, TXCMD_QUEUE); - } if (inta & IMR_HIGHDOK) rtl8192_tx_isr(dev, HIGH_QUEUE); if (inta & IMR_ROK) { - priv->stats.rxint++; priv->InterruptLog.nIMR_ROK++; tasklet_schedule(&priv->irq_rx_tasklet); } - if (inta & IMR_BcnInt) { - RT_TRACE(COMP_INTR, "prepare beacon for interrupt!\n"); + if (inta & IMR_BcnInt) tasklet_schedule(&priv->irq_prepare_beacon_tasklet); - } if (inta & IMR_RDU) { - RT_TRACE(COMP_INTR, "rx descriptor unavailable!\n"); - priv->stats.rxrdu++; write_nic_dword(dev, INTA_MASK, read_nic_dword(dev, INTA_MASK) & ~IMR_RDU); tasklet_schedule(&priv->irq_rx_tasklet); } - if (inta & IMR_RXFOVW) { - RT_TRACE(COMP_INTR, "rx overflow !\n"); - priv->stats.rxoverflow++; + if (inta & IMR_RXFOVW) tasklet_schedule(&priv->irq_rx_tasklet); - } - - if (inta & IMR_TXFOVW) - priv->stats.txoverflow++; if (inta & IMR_BKDOK) { - RT_TRACE(COMP_INTR, "BK Tx OK interrupt!\n"); - priv->stats.txbkokint++; priv->rtllib->LinkDetectInfo.NumTxOkInPeriod++; rtl8192_tx_isr(dev, BK_QUEUE); } if (inta & IMR_BEDOK) { - RT_TRACE(COMP_INTR, "BE TX OK interrupt!\n"); - priv->stats.txbeokint++; priv->rtllib->LinkDetectInfo.NumTxOkInPeriod++; rtl8192_tx_isr(dev, BE_QUEUE); } if (inta & IMR_VIDOK) { - RT_TRACE(COMP_INTR, "VI TX OK interrupt!\n"); - priv->stats.txviokint++; priv->rtllib->LinkDetectInfo.NumTxOkInPeriod++; rtl8192_tx_isr(dev, VI_QUEUE); } if (inta & IMR_VODOK) { - priv->stats.txvookint++; - RT_TRACE(COMP_INTR, "Vo TX OK interrupt!\n"); priv->rtllib->LinkDetectInfo.NumTxOkInPeriod++; rtl8192_tx_isr(dev, VO_QUEUE); } diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h index 87d4d34..796f374 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h @@ -349,97 +349,18 @@ struct rt_smooth_data_4rf { }; struct rt_stats { - unsigned long txrdu; - unsigned long rxrdu; - unsigned long rxok; - unsigned long rxframgment; - unsigned long rxurberr; - unsigned long rxstaterr; - unsigned long rxdatacrcerr; - unsigned long rxmgmtcrcerr; - unsigned long rxcrcerrmin; - unsigned long rxcrcerrmid; - unsigned long rxcrcerrmax; unsigned long received_rate_histogram[4][32]; - unsigned long received_preamble_GI[2][32]; - unsigned long rx_AMPDUsize_histogram[5]; - unsigned long rx_AMPDUnum_histogram[5]; - unsigned long numpacket_matchbssid; - unsigned long numpacket_toself; - unsigned long num_process_phyinfo; - unsigned long numqry_phystatus; - unsigned long numqry_phystatusCCK; - unsigned long numqry_phystatusHT; - unsigned long received_bwtype[5]; - unsigned long txnperr; - unsigned long txnpdrop; - unsigned long txresumed; - unsigned long rxoverflow; - unsigned long rxint; - unsigned long txnpokint; - unsigned long ints; - unsigned long shints; - unsigned long txoverflow; - unsigned long txlpokint; - unsigned long txlpdrop; - unsigned long txlperr; - unsigned long txbeokint; - unsigned long txbedrop; - unsigned long txbeerr; - unsigned long txbkokint; - unsigned long txbkdrop; - unsigned long txbkerr; - unsigned long txviokint; - unsigned long txvidrop; - unsigned long txvierr; - unsigned long txvookint; - unsigned long txvodrop; - unsigned long txvoerr; - unsigned long txbeaconokint; - unsigned long txbeacondrop; - unsigned long txbeaconerr; - unsigned long txmanageokint; - unsigned long txmanagedrop; - unsigned long txmanageerr; - unsigned long txcmdpktokint; - unsigned long txdatapkt; - unsigned long txfeedback; - unsigned long txfeedbackok; - unsigned long txoktotal; - unsigned long txokbytestotal; - unsigned long txokinperiod; - unsigned long txmulticast; - unsigned long txbytesmulticast; - unsigned long txbroadcast; - unsigned long txbytesbroadcast; - unsigned long txunicast; unsigned long txbytesunicast; unsigned long rxbytesunicast; - unsigned long txfeedbackfail; - unsigned long txerrtotal; - unsigned long txerrbytestotal; - unsigned long txerrmulticast; - unsigned long txerrbroadcast; - unsigned long txerrunicast; - unsigned long txretrycount; - unsigned long txfeedbackretry; - u8 last_packet_rate; unsigned long slide_signal_strength[100]; unsigned long slide_evm[100]; - unsigned long slide_rssi_total; + unsigned long slide_rssi_total; unsigned long slide_evm_total; long signal_strength; - long signal_quality; - long last_signal_strength_inpercent; - long recv_signal_power; + long recv_signal_power; u8 rx_rssi_percentage[4]; - u8 rx_evm_percentage[2]; - long rxSNRdB[4]; - struct rt_tx_rahis txrate; u32 Slide_Beacon_pwdb[100]; u32 Slide_Beacon_Total; - struct rt_smooth_data_4rf cck_adc_pwdb; - u32 CurrentShowTxate; }; struct channel_access_setting { _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel