This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 2.x development tree".
The branch, master has been updated via d8c62d6a782fc6be97f47a82c8e2874eb788577a (commit) via 8ddfae9465e940dbcbd531b2966b1eba9a1fa415 (commit) from a76779bff60174dbde43e8c42d8590a6f1b300c8 (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit d8c62d6a782fc6be97f47a82c8e2874eb788577a Author: Arne Fitzenreiter arne_f@ipfire.org Date: Tue Feb 23 23:33:47 2010 +0100
Add patch for ath5k to fix "no txbuf available".
commit 8ddfae9465e940dbcbd531b2966b1eba9a1fa415 Author: Arne Fitzenreiter arne_f@ipfire.org Date: Tue Feb 23 22:48:27 2010 +0100
Add graph fixes and language files to core37.
-----------------------------------------------------------------------
Summary of changes: config/rootfiles/core/37/filelists/files | 8 ++ lfs/compat-wireless | 2 + ...at-wireless-ath5k_fix_setup_for_CAB_queue.patch | 75 ++++++++++++++++++++ 3 files changed, 85 insertions(+), 0 deletions(-) create mode 100644 src/patches/compat-wireless-ath5k_fix_setup_for_CAB_queue.patch
Difference in files: diff --git a/config/rootfiles/core/37/filelists/files b/config/rootfiles/core/37/filelists/files index ade0360..3b1e88b 100644 --- a/config/rootfiles/core/37/filelists/files +++ b/config/rootfiles/core/37/filelists/files @@ -1,4 +1,5 @@ etc/system-release +etc/collectd.conf lib/modules/2.6.27.42-ipfire/kernel/net lib/modules/2.6.27.42-ipfire-xen/kernel/net lib/modules/2.6.27.42-ipfire/mISDN/hfcsusb.ko @@ -8,7 +9,14 @@ lib/modules/2.6.27.42-ipfire-xen/kernel/drivers/hwmon/coretemp.ko lib/modules/2.6.27.42-ipfire/kernel/drivers/net/et131x.ko lib/modules/2.6.27.42-ipfire-xen/kernel/drivers/net/et131x.ko lib/modules/2.6.27.42-ipfire/kernel/arch/x86/kernel/cpu/cpufreq/p4-clockmod.ko +lib/modules/2.6.27.42-ipfire/kernel/drivers/net/wireless/ath/ath5k/ath5k.ko +lib/modules/2.6.27.42-ipfire-xen/kernel/drivers/net/wireless/ath/ath5k/ath5k.ko srv/web/ipfire/cgi-bin/urlfilter.cgi srv/web/ipfire/cgi-bin/outgoingfw.cgi srv/web/ipfire/cgi-bin/remote.cgi +srv/web/ipfire/cgi-bin/media.cgi +srv/web/ipfire/cgi-bin/hardwaregraphs.cgi usr/local/bin/sshctrl +var/ipfire/langs/de.pl +var/ipfire/langs/en.pl +var/ipfire/langs/fr.pl diff --git a/lfs/compat-wireless b/lfs/compat-wireless index 4ac81d2..ede3764 100644 --- a/lfs/compat-wireless +++ b/lfs/compat-wireless @@ -77,6 +77,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar xjf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/compat-wireless-ath5k_fix_setup_for_CAB_queue.patch + cd $(DIR_APP) && make KLIB=/lib/modules/$(KVER)-$(VERSUFIX) KMODDIR=kernel install-modules
# The makefile put the modules to a wrong place move back... diff --git a/src/patches/compat-wireless-ath5k_fix_setup_for_CAB_queue.patch b/src/patches/compat-wireless-ath5k_fix_setup_for_CAB_queue.patch new file mode 100644 index 0000000..fbe3098 --- /dev/null +++ b/src/patches/compat-wireless-ath5k_fix_setup_for_CAB_queue.patch @@ -0,0 +1,75 @@ +diff --git a/drivers/net/wireless/ath/ath5k/ath5k.h b/drivers/net/wireless/ath/ath5k/ath5k.h +index 66bcb50..ad4d446 100644 +--- a/drivers/net/wireless/ath/ath5k/ath5k.h ++++ b/drivers/net/wireless/ath/ath5k/ath5k.h +@@ -535,7 +535,7 @@ struct ath5k_txq_info { + u32 tqi_cbr_period; /* Constant bit rate period */ + u32 tqi_cbr_overflow_limit; + u32 tqi_burst_time; +- u32 tqi_ready_time; /* Not used */ ++ u32 tqi_ready_time; /* Time queue waits after an event */ + }; + + /* +diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c +index b501537..535a6af 100644 +--- a/drivers/net/wireless/ath/ath5k/base.c ++++ b/drivers/net/wireless/ath/ath5k/base.c +@@ -1516,7 +1516,8 @@ ath5k_beaconq_config(struct ath5k_softc *sc) + + ret = ath5k_hw_get_tx_queueprops(ah, sc->bhalq, &qi); + if (ret) +- return ret; ++ goto err; ++ + if (sc->opmode == NL80211_IFTYPE_AP || + sc->opmode == NL80211_IFTYPE_MESH_POINT) { + /* +@@ -1543,10 +1544,25 @@ ath5k_beaconq_config(struct ath5k_softc *sc) + if (ret) { + ATH5K_ERR(sc, "%s: unable to update parameters for beacon " + "hardware queue!\n", __func__); +- return ret; ++ goto err; + } ++ ret = ath5k_hw_reset_tx_queue(ah, sc->bhalq); /* push to h/w */ ++ if (ret) ++ goto err; + +- return ath5k_hw_reset_tx_queue(ah, sc->bhalq); /* push to h/w */; ++ /* reconfigure cabq with ready time to 80% of beacon_interval */ ++ ret = ath5k_hw_get_tx_queueprops(ah, AR5K_TX_QUEUE_ID_CAB, &qi); ++ if (ret) ++ goto err; ++ ++ qi.tqi_ready_time = (sc->bintval * 80) / 100; ++ ret = ath5k_hw_set_tx_queueprops(ah, AR5K_TX_QUEUE_ID_CAB, &qi); ++ if (ret) ++ goto err; ++ ++ ret = ath5k_hw_reset_tx_queue(ah, AR5K_TX_QUEUE_ID_CAB); ++err: ++ return ret; + } + + static void +diff --git a/drivers/net/wireless/ath/ath5k/qcu.c b/drivers/net/wireless/ath/ath5k/qcu.c +index abe36c0..9122a85 100644 +--- a/drivers/net/wireless/ath/ath5k/qcu.c ++++ b/drivers/net/wireless/ath/ath5k/qcu.c +@@ -408,12 +408,13 @@ int ath5k_hw_reset_tx_queue(struct ath5k_hw *ah, unsigned int queue) + break; + + case AR5K_TX_QUEUE_CAB: ++ /* XXX: use BCN_SENT_GT, if we can figure out how */ + AR5K_REG_ENABLE_BITS(ah, AR5K_QUEUE_MISC(queue), +- AR5K_QCU_MISC_FRSHED_BCN_SENT_GT | ++ AR5K_QCU_MISC_FRSHED_DBA_GT | + AR5K_QCU_MISC_CBREXP_DIS | + AR5K_QCU_MISC_CBREXP_BCN_DIS); + +- ath5k_hw_reg_write(ah, ((AR5K_TUNE_BEACON_INTERVAL - ++ ath5k_hw_reg_write(ah, ((tq->tqi_ready_time - + (AR5K_TUNE_SW_BEACON_RESP - + AR5K_TUNE_DMA_BEACON_RESP) - + AR5K_TUNE_ADDITIONAL_SWBA_BACKOFF) * 1024) |
hooks/post-receive -- IPFire 2.x development tree