From 745e924303219c4b1800cc4ad9f2b185750205c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Thu, 14 Apr 2011 23:00:33 +0000 Subject: [PATCH] we don't report stats for now, as some init is missing for ratectl, this should avoid KDL for these drivers. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41251 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../drivers/network/wlan/broadcom43xx/dev/bwi/if_bwi.c | 4 ++++ .../drivers/network/wlan/iprowifi3945/dev/wpi/if_wpi.c | 4 ++++ .../drivers/network/wlan/iprowifi4965/dev/iwn/if_iwn.c | 4 ---- .../drivers/network/wlan/ralinkwifi/dev/ral/rt2560.c | 8 ++++++++ .../drivers/network/wlan/ralinkwifi/dev/ral/rt2661.c | 6 ++++++ 5 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/add-ons/kernel/drivers/network/wlan/broadcom43xx/dev/bwi/if_bwi.c b/src/add-ons/kernel/drivers/network/wlan/broadcom43xx/dev/bwi/if_bwi.c index 450605888f..da7ac0208b 100644 --- a/src/add-ons/kernel/drivers/network/wlan/broadcom43xx/dev/bwi/if_bwi.c +++ b/src/add-ons/kernel/drivers/network/wlan/broadcom43xx/dev/bwi/if_bwi.c @@ -2982,7 +2982,9 @@ bwi_encap(struct bwi_softc *sc, int idx, struct mbuf *m, } else if (tp->ucastrate != IEEE80211_FIXED_RATE_NONE) { rate = rate_fb = tp->ucastrate; } else { +#ifndef __HAIKU__ rix = ieee80211_ratectl_rate(ni, NULL, pkt_len); +#endif rate = ni->ni_txrate; if (rix > 0) { @@ -3378,9 +3380,11 @@ _bwi_txeof(struct bwi_softc *sc, uint16_t tx_id, int acked, int data_txcnt) * well so to avoid over-aggressive downshifting we * treat any number of retries as "1". */ +#ifndef __HAIKU__ ieee80211_ratectl_tx_complete(vap, ni, (data_txcnt > 1) ? IEEE80211_RATECTL_TX_SUCCESS : IEEE80211_RATECTL_TX_FAILURE, &acked, NULL); +#endif } /* diff --git a/src/add-ons/kernel/drivers/network/wlan/iprowifi3945/dev/wpi/if_wpi.c b/src/add-ons/kernel/drivers/network/wlan/iprowifi3945/dev/wpi/if_wpi.c index 7d8721a92f..ad62288192 100644 --- a/src/add-ons/kernel/drivers/network/wlan/iprowifi3945/dev/wpi/if_wpi.c +++ b/src/add-ons/kernel/drivers/network/wlan/iprowifi3945/dev/wpi/if_wpi.c @@ -1600,8 +1600,10 @@ wpi_tx_intr(struct wpi_softc *sc, struct wpi_rx_desc *desc) DPRINTFN(WPI_DEBUG_TX, ("%d retries\n", stat->ntries)); retrycnt = 1; } +#ifndef __HAIKU__ ieee80211_ratectl_tx_complete(vap, ni, IEEE80211_RATECTL_TX_SUCCESS, &retrycnt, NULL); +#endif /* XXX oerrors should only count errors !maxtries */ if ((le32toh(stat->status) & 0xff) != 1) @@ -1947,7 +1949,9 @@ wpi_tx_data(struct wpi_softc *sc, struct mbuf *m0, struct ieee80211_node *ni, } else if (tp->ucastrate != IEEE80211_FIXED_RATE_NONE) { rate = tp->ucastrate; } else { +#ifndef __HAIKU__ (void) ieee80211_ratectl_rate(ni, NULL, 0); +#endif rate = ni->ni_txrate; } tx->rate = wpi_plcp_signal(rate); diff --git a/src/add-ons/kernel/drivers/network/wlan/iprowifi4965/dev/iwn/if_iwn.c b/src/add-ons/kernel/drivers/network/wlan/iprowifi4965/dev/iwn/if_iwn.c index ea035aefda..69f6deac84 100644 --- a/src/add-ons/kernel/drivers/network/wlan/iprowifi4965/dev/iwn/if_iwn.c +++ b/src/add-ons/kernel/drivers/network/wlan/iprowifi4965/dev/iwn/if_iwn.c @@ -826,9 +826,7 @@ iwn_vap_create(struct ieee80211com *ic, ivp->iv_newstate = vap->iv_newstate; vap->iv_newstate = iwn_newstate; -#ifndef __HAIKU__ ieee80211_ratectl_init(vap); -#endif /* Complete setup. */ ieee80211_vap_attach(vap, iwn_media_change, ieee80211_media_status); ic->ic_opmode = opmode; @@ -840,9 +838,7 @@ iwn_vap_delete(struct ieee80211vap *vap) { struct iwn_vap *ivp = IWN_VAP(vap); -#ifndef __HAIKU__ ieee80211_ratectl_deinit(vap); -#endif ieee80211_vap_detach(vap); free(ivp, M_80211_VAP); } diff --git a/src/add-ons/kernel/drivers/network/wlan/ralinkwifi/dev/ral/rt2560.c b/src/add-ons/kernel/drivers/network/wlan/ralinkwifi/dev/ral/rt2560.c index 7f8502d427..45dd80c3e7 100644 --- a/src/add-ons/kernel/drivers/network/wlan/ralinkwifi/dev/ral/rt2560.c +++ b/src/add-ons/kernel/drivers/network/wlan/ralinkwifi/dev/ral/rt2560.c @@ -953,10 +953,12 @@ rt2560_tx_intr(struct rt2560_softc *sc) retrycnt = 0; DPRINTFN(sc, 10, "%s\n", "data frame sent successfully"); +#ifndef __HAIKU__ if (data->rix != IEEE80211_FIXED_RATE_NONE) ieee80211_ratectl_tx_complete(vap, ni, IEEE80211_RATECTL_TX_SUCCESS, &retrycnt, NULL); +#endif ifp->if_opackets++; break; @@ -965,10 +967,12 @@ rt2560_tx_intr(struct rt2560_softc *sc) DPRINTFN(sc, 9, "data frame sent after %u retries\n", retrycnt); +#ifndef __HAIKU__ if (data->rix != IEEE80211_FIXED_RATE_NONE) ieee80211_ratectl_tx_complete(vap, ni, IEEE80211_RATECTL_TX_SUCCESS, &retrycnt, NULL); +#endif ifp->if_opackets++; break; @@ -977,10 +981,12 @@ rt2560_tx_intr(struct rt2560_softc *sc) DPRINTFN(sc, 9, "data frame failed after %d retries\n", retrycnt); +#ifndef __HAIKU__ if (data->rix != IEEE80211_FIXED_RATE_NONE) ieee80211_ratectl_tx_complete(vap, ni, IEEE80211_RATECTL_TX_FAILURE, &retrycnt, NULL); +#endif ifp->if_oerrors++; break; @@ -1800,7 +1806,9 @@ rt2560_tx_data(struct rt2560_softc *sc, struct mbuf *m0, } else if (tp->ucastrate != IEEE80211_FIXED_RATE_NONE) { rate = tp->ucastrate; } else { +#ifndef __HAIKU__ (void) ieee80211_ratectl_rate(ni, NULL, 0); +#endif rate = ni->ni_txrate; } diff --git a/src/add-ons/kernel/drivers/network/wlan/ralinkwifi/dev/ral/rt2661.c b/src/add-ons/kernel/drivers/network/wlan/ralinkwifi/dev/ral/rt2661.c index d785c1c80b..8e6bd4834c 100644 --- a/src/add-ons/kernel/drivers/network/wlan/ralinkwifi/dev/ral/rt2661.c +++ b/src/add-ons/kernel/drivers/network/wlan/ralinkwifi/dev/ral/rt2661.c @@ -904,10 +904,12 @@ rt2661_tx_intr(struct rt2661_softc *sc) DPRINTFN(sc, 10, "data frame sent successfully after " "%d retries\n", retrycnt); +#ifndef __HAIKU__ if (data->rix != IEEE80211_FIXED_RATE_NONE) ieee80211_ratectl_tx_complete(vap, ni, IEEE80211_RATECTL_TX_SUCCESS, &retrycnt, NULL); +#endif ifp->if_opackets++; break; @@ -916,10 +918,12 @@ rt2661_tx_intr(struct rt2661_softc *sc) DPRINTFN(sc, 9, "%s\n", "sending data frame failed (too much retries)"); +#ifndef __HAIKU__ if (data->rix != IEEE80211_FIXED_RATE_NONE) ieee80211_ratectl_tx_complete(vap, ni, IEEE80211_RATECTL_TX_FAILURE, &retrycnt, NULL); +#endif ifp->if_oerrors++; break; @@ -1485,7 +1489,9 @@ rt2661_tx_data(struct rt2661_softc *sc, struct mbuf *m0, } else if (tp->ucastrate != IEEE80211_FIXED_RATE_NONE) { rate = tp->ucastrate; } else { +#ifndef __HAIKU__ (void) ieee80211_ratectl_rate(ni, NULL, 0); +#endif rate = ni->ni_txrate; } rate &= IEEE80211_RATE_VAL;