rt2500 can't compiled with kernel 2.6.20 I found a patch and made an ebuild, it work here on AMD64 ##################### ### emerge --info ### Linux Tiger 2.6.20-gentoo-Tiger #1 SMP Tue Feb 6 21:54:17 CET 2007 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ AuthenticAMD GNU/Linux Tiger Is Afraid # emerge --info Portage 2.1.2-r7 (default-linux/amd64/2006.1, gcc-4.1.1, glibc-2.5-r0, 2.6.20-gentoo-Tiger x86_64) ================================================================= System uname: 2.6.20-gentoo-Tiger x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ Gentoo Base System release 1.12.9 Timestamp of tree: Mon, 05 Feb 2007 17:50:01 +0000 distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.4.4 dev-python/pycrypto: 2.0.1-r5 sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.3.14 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.20 ACCEPT_KEYWORDS="amd64 ~amd64 ~x86" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=athlon64 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-march=athlon64 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo ftp://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo http://ftp.club-internet.fr/pub/mirrors/gentoo http://gentoo.modulix.net/gentoo" LANG="fr_FR.utf8" LC_ALL="fr_FR.utf8" LINGUAS="fr fr_FR en" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/home/tiger/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X a52 aac alsa amd64 apic bash-completion berkdb bitmap-fonts bzip2 cairo cdr cflush cli cmov cmp_legacy cr8legacy cracklib crypt cups cx16 cx8 dbus de dlloader dri dvd dvdr dvdread encode fbcon ffmpeg fid firefox flash fortran fpu ftp fxsr fxsr_opt gdbm gif gpm gtk gtk2 hal ht iconv isdnlog jpeg kde kdeenablefinal kdehiddenvisibility lahf_lm libg++ lm logitech-mouse mca mce midi mozilla mp3 msr mtrr ncurses nls nptl nptlonly nx ogg opengl pae pam pat pcre pdf perl pge php png pni ppds pppd pse pse36 python qt qt3 qt4 readline reflection sep session spl ssl stc svm syscall tcltk tcpd threads tm truetype-fonts ts tsc ttp type1-fonts udev unicode usb vid vme wifi xcomposite xorg xvid zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fr fr_FR en" USERLAND="GNU" VIDEO_CARDS="nvidia" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS ############## ### ebuild ### # Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/net-wireless/rt2500/rt2500-1.1.0_beta4.ebuild,v 1.6 2006/12/03 20:33:00 uberlord Exp $ inherit eutils linux-mod kde-functions set-qtdir 3 MY_P="${PN}-1.1.0-b4" DESCRIPTION="Driver for the RaLink RT2500 wireless chipset" HOMEPAGE="http://rt2x00.serialmonkey.com" SRC_URI="mirror://sourceforge/rt2400/${MY_P}.tar.gz" LICENSE="GPL-2" KEYWORDS="amd64 hppa ppc x86" IUSE="qt3" DEPEND="net-wireless/wireless-tools qt3? ( =x11-libs/qt-3* )" S="${WORKDIR}/${MY_P}" MODULE_NAMES="rt2500(net:${S}/Module)" CONFIG_CHECK="NET_RADIO" MODULESD_RT2500_ALIASES=('ra? rt2500') pkg_setup() { linux-mod_pkg_setup if use_m ; then BUILD_PARAMS="-C ${KV_DIR} M=${S}/Module" BUILD_TARGETS="modules" else die "please use a kernel >=2.6.6" fi } src_unpack() { unpack ${A} cd "${S}" if kernel_is ge 2 6 19 ; then sed -i -e '/^#include <linux\/config.h> .*/ d' Module/rt_config.h || die fi if kernel_is ge 2 6 20 ; then epatch "${FILESDIR}/kernel-2.6.20.patch" fi } src_compile() { linux-mod_src_compile if use qt3; then cd "${S}"/Utilitys "${QTDIR}"/bin/qmake -o Makefile raconfig2500.pro emake || die "make Utilities failed" fi } src_install() { linux-mod_src_install dodoc Module/README Module/TESTING Module/iwpriv_usage.txt \ THANKS FAQ CHANGELOG if use qt3; then dobin ${S}/Utilitys/RaConfig2500 doicon Utilitys/ico/RaConfig2500.xpm make_desktop_entry RaConfig2500 "RaLink RT2500 Config" RaConfig2500.xpm insinto /etc/Wireless/RT2500STA doins Module/RT2500STA.dat fi } ############# ### patch ### diff -ur Module.ori/mlme.c Module/mlme.c --- Module.ori/mlme.c 2006-06-17 22:12:58.000000000 +0200 +++ Module/mlme.c 2007-02-08 18:06:40.000000000 +0100 @@ -357,9 +357,15 @@ schedule_work(&pAd->mlme_work); } +# if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20)) +VOID MlmeWork(struct work_struct *work) +{ + PRTMP_ADAPTER pAd = container_of(work, struct _RTMP_ADAPTER ,mlme_work); +# else /* 2.6.20 patch "older kernels" */ VOID MlmeWork(void *vpAd) { - PRTMP_ADAPTER pAd = vpAd; + PRTMP_ADAPTER pAd = vpAd; +#endif /* 2.6.20 patch */ #endif MLME_QUEUE_ELEM *Elem = NULL; unsigned long flags; diff -ur Module.ori/rtmp_init.c Module/rtmp_init.c --- Module.ori/rtmp_init.c 2006-06-17 22:12:58.000000000 +0200 +++ Module/rtmp_init.c 2007-02-08 18:06:40.000000000 +0100 @@ -916,8 +916,12 @@ DBGPRINT(RT_DEBUG_TRACE, "<-- NICInitAsicFromEEPROM\n"); } +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20)) +extern VOID MlmeWork(struct work_struct *work); +#else extern VOID MlmeWork(void *vpAd); - +#endif + void NICInitializeAdapter(IN PRTMP_ADAPTER pAdapter) { TXCSR2_STRUC TxCSR2; @@ -974,7 +978,9 @@ // Initialze ASIC for TX & Rx operation NICInitializeAsic(pAdapter); -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20)) + INIT_WORK(&pAdapter->mlme_work, MlmeWork); +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)) INIT_WORK(&pAdapter->mlme_work, MlmeWork, (void*)pAdapter); #endif DBGPRINT(RT_DEBUG_TRACE, "<-- NICInitializeAdapter\n"); Reproducible: Always Steps to Reproduce:
Stop hitting the damned refresh button! *** This bug has been marked as a duplicate of bug 165962 ***
.