According to the bugzilla at Intel (http://bughost.org/bugzilla/show_bug.cgi?id=653) the patch for 1.1.0 versions and above of ipw2100 and swsusp2 shoud be INIT_STAT(&priv->fw_pend_stat); -#ifdef CONFIG_SOFTWARE_SUSPEND2 +#ifdef PF_SYNCTHREAD priv->workqueue = create_workqueue(DRV_NAME, 0); #else priv->workqueue = create_workqueue(DRV_NAME); Now as I have it on my system it is : centrino files # cat ipw2100-1.1.2-suspend2.patch diff -urp ipw2100-1.1.2/ipw2100.c ipw2100-1.1.2-suspend2/ipw2100.c --- ipw2100-1.1.2/ipw2100.c 2005-07-13 20:59:37.000000000 +0200 +++ ipw2100-1.1.2-suspend2/ipw2100.c 2005-08-29 18:19:16.000000000 +0200 @@ -6150,12 +6150,7 @@ static struct net_device *ipw2100_alloc_ INIT_LIST_HEAD(&priv->fw_pend_list); INIT_STAT(&priv->fw_pend_stat); - -#ifdef PF_SYNCTHREAD - priv->workqueue = create_workqueue(DRV_NAME, 0); -#else priv->workqueue = create_workqueue(DRV_NAME); -#endif INIT_WORK(&priv->reset_work, (void (*)(void *))ipw2100_reset_adapter, priv); INIT_WORK(&priv->security_work, It removes the fix for the error I get at compilation (see emerge info) Reproducible: Always Steps to Reproduce: 1.patch the kernel with software suspend 2 2.emerge ipw2100-1.1.2-r2 3. centrino files # emerge info Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r1, 2.6.12-cj4 i686) ================================================================= System uname: 2.6.12-cj4 i686 Intel(R) Pentium(R) M processor 1600MHz Gentoo Base System version 1.12.0_pre7 ccache version 2.4 [enabled] dev-lang/python: 2.3.5, 2.4.1-r1 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium-m -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-O2 -march=pentium-m -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="ftp://mirror.switch.ch/mirror/gentoo/ ftp://ftp.solnet.ch/mirror/Gentoo" LANG="fr_CH.UTF-8" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X acpi alsa apm aredmem avi berkdb bitmap-fonts cdr crd crypt cups curl divx4linux dvd eds emboss encode esd fam foomaticdb fortran ftp gd gdbm gif gnome gphoto2 gpm gstreamer gtk gtk2 hal icq imagemagick imlib ipv6 java jpeg junit libg++ libwww mad mikmod mmx mp3 mpeg ncurses nls nptl nptlonly ogg oggvorbis opengl oss pam pda pdflib perl png posix python quicktime readline real samba sdl spell sse sse2 ssl tcpd tetex tiff truetype truetype-fonts type1-fonts usb vorbis xml2 xv xvid zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS centrino files # emerge -av ipw2100 These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild U ] net-wireless/ipw2100-1.1.2-r2 [1.1.2-r1] -debug 0 kB Total size of downloads: 0 kB Do you want me to merge these packages? [Yes/No] y >>> emerge (1 of 1) net-wireless/ipw2100-1.1.2-r2 to / >>> md5 files ;-) ipw2100-1.1.0.ebuild >>> md5 files ;-) ipw2100-1.0.5.ebuild >>> md5 files ;-) ipw2100-1.1.2-r1.ebuild >>> md5 files ;-) ipw2100-1.1.1.ebuild >>> md5 files ;-) ipw2100-1.1.2.ebuild >>> md5 files ;-) ipw2100-1.1.2-r2.ebuild >>> md5 files ;-) files/ipw2100-1.1.0-suspend2.patch >>> md5 files ;-) files/digest-ipw2100-1.1.0 >>> md5 files ;-) files/ipw2100-1.0.5-suspend2.patch >>> md5 files ;-) files/digest-ipw2100-1.0.5 >>> md5 files ;-) files/ipw2100-1.0.5-is_multicast_ether_addr.patch >>> md5 files ;-) files/ipw2100-1.1.0-is_multicast_ether_addr.patch >>> md5 files ;-) files/digest-ipw2100-1.1.1 >>> md5 files ;-) files/digest-ipw2100-1.1.2 >>> md5 files ;-) files/digest-ipw2100-1.1.2-r1 >>> md5 files ;-) files/ipw2100-1.1.2-ieee80211-1.0.3.patch >>> md5 files ;-) files/digest-ipw2100-1.1.2-r2 >>> md5 files ;-) files/ipw2100-1.1.2-suspend2.patch >>> md5 src_uri ;-) ipw2100-1.1.2.tgz * Determining the location of the kernel source code * Found kernel source directory: * /usr/src/linux * Found sources for kernel version: * 2.6.12-cj4 * Checking for suitable kernel configuration options >>> Unpacking source... >>> Unpacking ipw2100-1.1.2.tgz to /var/tmp/portage/ipw2100-1.1.2-r2/work * Applying ipw2100-1.1.2-ieee80211-1.0.3.patch ... [ ok ] * Applying ipw2100-1.1.2-suspend2.patch ... [ ok ]>>> Source unpacked. * * You may safely ignore any errors from compilation that contain * warnings about undefined references to the ieee80211 subsystem. * * Preparing ipw2100 module mkdir -p /var/tmp/portage/ipw2100-1.1.2-r2/work/ipw2100-1.1.2/tmp/.tmp_versions cp /usr/include/*.mod /var/tmp/portage/ipw2100-1.1.2-r2/work/ipw2100-1.1.2/tmp/.tmp_versions cp: cannot stat `/usr/include/*.mod': No such file or directory make: [modules] Error 1 (ignored) make -C /usr/src/linux M=/var/tmp/portage/ipw2100-1.1.2-r2/work/ipw2100-1.1.2 MODVERDIR=/var/tmp/portage/ipw2100-1.1.2-r2/work/ipw2100-1.1.2/tmp/.tmp_versions modules make[1]: Entering directory `/usr/src/linux-2.6.12-cj4' CC [M] /var/tmp/portage/ipw2100-1.1.2-r2/work/ipw2100-1.1.2/ipw2100.o /var/tmp/portage/ipw2100-1.1.2-r2/work/ipw2100-1.1.2/ipw2100.c:6153:45: macro "create_workqueue" requires 2 arguments, but only 1 given /var/tmp/portage/ipw2100-1.1.2-r2/work/ipw2100-1.1.2/ipw2100.c: In function `ipw2100_alloc_device': /var/tmp/portage/ipw2100-1.1.2-r2/work/ipw2100-1.1.2/ipw2100.c:6153: error: `create_workqueue' undeclared (first use in this function) /var/tmp/portage/ipw2100-1.1.2-r2/work/ipw2100-1.1.2/ipw2100.c:6153: error: (Each undeclared identifier is reported only once /var/tmp/portage/ipw2100-1.1.2-r2/work/ipw2100-1.1.2/ipw2100.c:6153: error: for each function it appears in.) make[2]: *** [/var/tmp/portage/ipw2100-1.1.2-r2/work/ipw2100-1.1.2/ipw2100.o] Error 1 make[1]: *** [_module_/var/tmp/portage/ipw2100-1.1.2-r2/work/ipw2100-1.1.2] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.12-cj4' make: *** [modules] Error 2 !!! ERROR: net-wireless/ipw2100-1.1.2-r2 failed. !!! Function linux-mod_src_compile, Line 460, Exitcode 2 !!! Unable to make KSRC=/usr/src/linux KSRC_OUTPUT=/usr/src/linux IEEE80211_INC=/usr/include all. !!! If you need support, post the topmost build error, NOT this status message.
reassigning
2.6.12-cj4 is not a supported kernel source - it looks like it contains an old version of Software Suspend 2. The patch included in ipw2100-1.1.2-r2 is for use with Software Suspend 2.2-rcX or newer. If you run an earlier version of Software Suspend 2, you need to use <=ipw2100-1.1.2-r1.
FYI: I've added a work-around for this problem to net-wireless/ipw2100-1.1.2-r3.