diff options
| author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-12-04 21:57:17 +0000 | 
|---|---|---|
| committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-12-04 21:57:17 +0000 | 
| commit | b1b942f3c32068e35fd606214ecff89056c13a2f (patch) | |
| tree | f1f12e5336617e9b7870c0445ff1067a1897962e | |
| parent | 87aacb3b5bb8d4da4280d421b498237032459e82 (diff) | |
madwifi: fix division by zero
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13521 3c298f89-4303-0410-b956-a3cf2f4a3e73
| -rw-r--r-- | package/madwifi/patches/389-autochannel.patch | 9 | ||||
| -rw-r--r-- | package/madwifi/patches/406-monitor_r3711.patch | 4 | ||||
| -rw-r--r-- | package/madwifi/patches/408-changeset_r3337.patch | 2 | ||||
| -rw-r--r-- | package/madwifi/patches/450-new_hal.patch | 2 | 
4 files changed, 10 insertions, 7 deletions
| diff --git a/package/madwifi/patches/389-autochannel.patch b/package/madwifi/patches/389-autochannel.patch index 9c77b0e54..7926d2e58 100644 --- a/package/madwifi/patches/389-autochannel.patch +++ b/package/madwifi/patches/389-autochannel.patch @@ -16,7 +16,7 @@   	sc->sc_curchan.channel = ic->ic_curchan->ic_freq;   	sc->sc_curchan.channelFlags = ath_chan2flags(ic->ic_curchan);   	if (!ath_hal_reset(ah, sc->sc_opmode, &sc->sc_curchan, AH_FALSE, &status)) { -@@ -2913,6 +2915,37 @@ ath_hw_check_atim(struct ath_softc *sc,  +@@ -2913,6 +2915,40 @@ ath_hw_check_atim(struct ath_softc *sc,    } @@ -38,6 +38,9 @@  +  +	rx = OS_REG_READ(ah, AR5K_RXCLEAR);  +	cc = OS_REG_READ(ah, AR5K_CYCLES); ++	if (!cc) ++		return; ++  +	if (rx > cc)  +		return; /* wraparound */  + @@ -54,7 +57,7 @@   /*    * Reset the hardware w/o losing operational state.  This is    * basically a more efficient way of doing ath_stop, ath_init, -@@ -2939,6 +2972,7 @@ ath_reset(struct net_device *dev) +@@ -2939,6 +2975,7 @@ ath_reset(struct net_device *dev)   	 * Convert to a HAL channel description with the flags   	 * constrained to reflect the current operating mode.   	 */ @@ -62,7 +65,7 @@   	c = ic->ic_curchan;   	sc->sc_curchan.channel = c->ic_freq;   	sc->sc_curchan.channelFlags = ath_chan2flags(c); -@@ -9019,6 +9053,7 @@ ath_chan_set(struct ath_softc *sc, struc +@@ -9019,6 +9056,7 @@ ath_chan_set(struct ath_softc *sc, struc   	u_int8_t channel_change_required = 0;   	struct timeval tv; diff --git a/package/madwifi/patches/406-monitor_r3711.patch b/package/madwifi/patches/406-monitor_r3711.patch index f5e5a9586..64f19e0b8 100644 --- a/package/madwifi/patches/406-monitor_r3711.patch +++ b/package/madwifi/patches/406-monitor_r3711.patch @@ -1,6 +1,6 @@  --- a/ath/if_ath.c  +++ b/ath/if_ath.c -@@ -6507,7 +6507,7 @@ ath_capture(struct net_device *dev, cons +@@ -6510,7 +6510,7 @@ ath_capture(struct net_device *dev, cons   	/* Never copy the SKB, as it is ours on the RX side, and this is the    	 * last process on the TX side and we only modify our own headers. */ @@ -9,7 +9,7 @@   	if (tskb == NULL) {   		DPRINTF(sc, ATH_DEBUG_ANY,   			"Dropping; ath_skb_removepad failed!\n"); -@@ -6515,6 +6515,8 @@ ath_capture(struct net_device *dev, cons +@@ -6518,6 +6518,8 @@ ath_capture(struct net_device *dev, cons   	}   	ieee80211_input_monitor(ic, tskb, bf, tx, tsf, sc); diff --git a/package/madwifi/patches/408-changeset_r3337.patch b/package/madwifi/patches/408-changeset_r3337.patch index b0121b97e..00f0955fa 100644 --- a/package/madwifi/patches/408-changeset_r3337.patch +++ b/package/madwifi/patches/408-changeset_r3337.patch @@ -10,7 +10,7 @@   Please let us know if you think your name should be mentioned here!  --- a/ath/if_ath.c  +++ b/ath/if_ath.c -@@ -3126,7 +3126,7 @@ ath_tx_startraw(struct net_device *dev,  +@@ -3129,7 +3129,7 @@ ath_tx_startraw(struct net_device *dev,    	struct ath_softc *sc = dev->priv;   	struct ath_hal *ah = sc->sc_ah;   	struct ieee80211_phy_params *ph = (struct ieee80211_phy_params *) diff --git a/package/madwifi/patches/450-new_hal.patch b/package/madwifi/patches/450-new_hal.patch index 199f91fb0..324f7dd6b 100644 --- a/package/madwifi/patches/450-new_hal.patch +++ b/package/madwifi/patches/450-new_hal.patch @@ -108,7 +108,7 @@   	/*   	 * Check if the MAC has multi-rate retry support.   	 * We do this by trying to setup a fake extended -@@ -7521,7 +7529,7 @@ ath_txq_setup(struct ath_softc *sc, int  +@@ -7524,7 +7532,7 @@ ath_txq_setup(struct ath_softc *sc, int    	if (qtype == HAL_TX_QUEUE_UAPSD)   		qi.tqi_qflags = HAL_TXQ_TXDESCINT_ENABLE;   	else | 
