Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 192052 - net-wireless/linux-wlan-ng-modules-0.2.8 build fails against kernel 2.6.22-gentoo-rc5
Summary: net-wireless/linux-wlan-ng-modules-0.2.8 build fails against kernel 2.6.22-ge...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Petteri Räty (RETIRED)
URL: http://article.gmane.org/gmane.linux....
Whiteboard:
Keywords:
Depends on:
Blocks: kernel-2.6.22
  Show dependency tree
 
Reported: 2007-09-10 21:54 UTC by Tuurlijk!
Modified: 2007-12-29 23:37 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Fixes the compile for Kernel >= 2.6.22 (linux-wlan-ng-0.2.5-sk_buff-mac.patch,3.60 KB, patch)
2007-10-07 14:27 UTC, Oliver Bengs
Details | Diff
ebuild with patch in it. (linux-wlan-ng-modules-0.2.8.ebuild,2.33 KB, text/plain)
2007-10-07 14:29 UTC, Oliver Bengs
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tuurlijk! 2007-09-10 21:54:07 UTC
When trying to build the usb module (have not tried others) the make fails with error: 'struct sk_buff' has no member named 'mac'

Reproducible: Always

Steps to Reproduce:
1. emerge linux-wlan-ng against gentoo-sources 2.6.22-rc5

Actual Results:  
set -e; for d in src doc man etc; do make -C $d ; done
make[1]: Entering directory `/var/tmp/portage/net-wireless/linux-wlan-ng-modules-0.2.8/work/linux-wlan-ng-0.2.8/src'
set -e; for d in mkmeta shared wlanctl nwepgen wlancfg p80211 prism2; do make WLAN_SRC=/var/tmp/portage/net-wireless/linux-wlan-ng-modules-0.2.8/work/linux-wlan-ng-0.2.8/src/ -C $d ; done
make[2]: Entering directory `/var/tmp/portage/net-wireless/linux-wlan-ng-modules-0.2.8/work/linux-wlan-ng-0.2.8/src/mkmeta'
mkdir -p obj
make[2]: Leaving directory `/var/tmp/portage/net-wireless/linux-wlan-ng-modules-0.2.8/work/linux-wlan-ng-0.2.8/src/mkmeta'
make[2]: Entering directory `/var/tmp/portage/net-wireless/linux-wlan-ng-modules-0.2.8/work/linux-wlan-ng-0.2.8/src/shared'
Nothing to do...
make[2]: Leaving directory `/var/tmp/portage/net-wireless/linux-wlan-ng-modules-0.2.8/work/linux-wlan-ng-0.2.8/src/shared'
make[2]: Entering directory `/var/tmp/portage/net-wireless/linux-wlan-ng-modules-0.2.8/work/linux-wlan-ng-0.2.8/src/wlanctl'
gcc  -I../include -I/usr/src/linux/include -D__LINUX_WLAN__  -c -o wlanctl.o wlanctl.c
gcc  -I../include -I/usr/src/linux/include -D__LINUX_WLAN__  -c -o help.o help.c
gcc  -I../include -I/usr/src/linux/include -D__LINUX_WLAN__  -c -o ../shared/p80211types.o ../shared/p80211types.c
gcc  -I../include -I/usr/src/linux/include -D__LINUX_WLAN__  -c -o ../shared/p80211meta.o ../shared/p80211meta.c
gcc  -I../include -I/usr/src/linux/include -D__LINUX_WLAN__  -c -o ../shared/p80211metamsg.o ../shared/p80211metamsg.c
gcc  -I../include -I/usr/src/linux/include -D__LINUX_WLAN__  -c -o ../shared/p80211metamib.o ../shared/p80211metamib.c
gcc  -o wlanctl wlanctl.o help.o ../shared/p80211types.o ../shared/p80211meta.o ../shared/p80211metamsg.o ../shared/p80211metamib.o 
make[2]: Leaving directory `/var/tmp/portage/net-wireless/linux-wlan-ng-modules-0.2.8/work/linux-wlan-ng-0.2.8/src/wlanctl'
make[2]: Entering directory `/var/tmp/portage/net-wireless/linux-wlan-ng-modules-0.2.8/work/linux-wlan-ng-0.2.8/src/nwepgen'
gcc  -I../include -I/usr/src/linux/include -D__LINUX_WLAN__  -c -o nwepgen.o nwepgen.c
gcc  -o nwepgen nwepgen.o
make[2]: Leaving directory `/var/tmp/portage/net-wireless/linux-wlan-ng-modules-0.2.8/work/linux-wlan-ng-0.2.8/src/nwepgen'
make[2]: Entering directory `/var/tmp/portage/net-wireless/linux-wlan-ng-modules-0.2.8/work/linux-wlan-ng-0.2.8/src/wlancfg'
gcc  -I../include -I/usr/src/linux/include -D__LINUX_WLAN__  -c -o wlancfg.o wlancfg.c
gcc  -o wlancfg wlancfg.o ../shared/p80211types.o ../shared/p80211meta.o ../shared/p80211metamsg.o ../shared/p80211metamib.o 
make[2]: Leaving directory `/var/tmp/portage/net-wireless/linux-wlan-ng-modules-0.2.8/work/linux-wlan-ng-0.2.8/src/wlancfg'
make[2]: Entering directory `/var/tmp/portage/net-wireless/linux-wlan-ng-modules-0.2.8/work/linux-wlan-ng-0.2.8/src/p80211'
make -C /usr/src/linux M='/var/tmp/portage/net-wireless/linux-wlan-ng-modules-0.2.8/work/linux-wlan-ng-0.2.8/src/p80211' WLAN_SRC=/var/tmp/portage/net-wireless/linux-wlan-ng-modules-0.2.8/work/linux-wlan-ng-0.2.8/src/ modules
make[3]: Entering directory `/usr/src/linux-2.6.23-rc4-mm1'
  CC [M]  /var/tmp/portage/net-wireless/linux-wlan-ng-modules-0.2.8/work/linux-wlan-ng-0.2.8/src/p80211/p80211mod.o
  CC [M]  /var/tmp/portage/net-wireless/linux-wlan-ng-modules-0.2.8/work/linux-wlan-ng-0.2.8/src/p80211/p80211conv.o
/var/tmp/portage/net-wireless/linux-wlan-ng-modules-0.2.8/work/linux-wlan-ng-0.2.8/src/p80211/p80211conv.c: In function 'skb_p80211_to_ether':
/var/tmp/portage/net-wireless/linux-wlan-ng-modules-0.2.8/work/linux-wlan-ng-0.2.8/src/p80211/p80211conv.c:501: error: 'struct sk_buff' has no member named 'mac'
make[4]: *** [/var/tmp/portage/net-wireless/linux-wlan-ng-modules-0.2.8/work/linux-wlan-ng-0.2.8/src/p80211/p80211conv.o] Error 1
make[3]: *** [_module_/var/tmp/portage/net-wireless/linux-wlan-ng-modules-0.2.8/work/linux-wlan-ng-0.2.8/src/p80211] Error 2
make[3]: Leaving directory `/usr/src/linux-2.6.23-rc4-mm1'
make[2]: *** [default] Error 2
make[2]: Leaving directory `/var/tmp/portage/net-wireless/linux-wlan-ng-modules-0.2.8/work/linux-wlan-ng-0.2.8/src/p80211'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/var/tmp/portage/net-wireless/linux-wlan-ng-modules-0.2.8/work/linux-wlan-ng-0.2.8/src'
make: *** [all] Error 2

Expected Results:  
set -e; for d in src doc man etc; do make -C $d ; done
make[1]: Entering directory `/tmp/linux-wlan-ng-0.2.8/src'
set -e; for d in mkmeta shared wlanctl nwepgen wlancfg p80211 prism2; do make WLAN_SRC=/tmp/linux-wlan-ng-0.2.8/src/ -C $d ; done
make[2]: Entering directory `/tmp/linux-wlan-ng-0.2.8/src/mkmeta'
gcc -E -M -I../include -I/lib/modules/2.6.22-gentoo-r5/build//include -D__LINUX_WLAN__ ../shared/p80211types.c ../shared/p80211metamsg.c ../shared/p80211metamib.c ../shared/p80211meta.c  mkmetadef.c ../shared/p80211types.c ../shared/p80211metamsg.c ../shared/p80211metamib.c ../shared/p80211meta.c  mkmetastruct.c > .depend
mkdir -p obj
gcc -c -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -I../include -I/lib/modules/2.6.22-gentoo-r5/build//include -D__LINUX_WLAN__ ../shared/p80211types.c -o obj/p80211types.o
../shared/p80211types.c: In function 'p80211_totext_displaystr':
../shared/p80211types.c:253: warning: pointer targets in passing argument 2 of 'strncat' differ in signedness
../shared/p80211types.c: In function 'p80211_fromtext_displaystr':
../shared/p80211types.c:341: warning: pointer targets in passing argument 1 of 'strncpy' differ in signedness
gcc -c -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -I../include -I/lib/modules/2.6.22-gentoo-r5/build//include -D__LINUX_WLAN__ ../shared/p80211metamsg.c -o obj/p80211metamsg.o
gcc -c -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -I../include -I/lib/modules/2.6.22-gentoo-r5/build//include -D__LINUX_WLAN__ ../shared/p80211metamib.c -o obj/p80211metamib.o
gcc -c -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -I../include -I/lib/modules/2.6.22-gentoo-r5/build//include -D__LINUX_WLAN__ ../shared/p80211meta.c -o obj/p80211meta.o
gcc -c -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -I../include -I/lib/modules/2.6.22-gentoo-r5/build//include -D__LINUX_WLAN__ mkmetadef.c -o obj/mkmetadef.o
gcc  -o mkmetadef obj/p80211types.o obj/p80211metamsg.o obj/p80211metamib.o obj/p80211meta.o  obj/mkmetadef.o 
cat mkmetadefhead.txt > ../include/wlan/p80211metadef.h
./mkmetadef >> ../include/wlan/p80211metadef.h
echo "#endif" >> ../include/wlan/p80211metadef.h
gcc -c -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -I../include -I/lib/modules/2.6.22-gentoo-r5/build//include -D__LINUX_WLAN__ mkmetastruct.c -o obj/mkmetastruct.o
gcc  -o mkmetastruct obj/p80211types.o obj/p80211metamsg.o obj/p80211metamib.o obj/p80211meta.o  obj/mkmetastruct.o 
cat mkmetastructhead.txt > ../include/wlan/p80211metastruct.h
./mkmetastruct >> ../include/wlan/p80211metastruct.h
echo "#endif" >> ../include/wlan/p80211metastruct.h
make[2]: Leaving directory `/tmp/linux-wlan-ng-0.2.8/src/mkmeta'
make[2]: Entering directory `/tmp/linux-wlan-ng-0.2.8/src/shared'
Nothing to do...
make[2]: Leaving directory `/tmp/linux-wlan-ng-0.2.8/src/shared'
make[2]: Entering directory `/tmp/linux-wlan-ng-0.2.8/src/wlanctl'
gcc  -I../include -I/lib/modules/2.6.22-gentoo-r5/build//include -D__LINUX_WLAN__  -c -o wlanctl.o wlanctl.c
gcc  -I../include -I/lib/modules/2.6.22-gentoo-r5/build//include -D__LINUX_WLAN__  -c -o help.o help.c
gcc  -I../include -I/lib/modules/2.6.22-gentoo-r5/build//include -D__LINUX_WLAN__  -c -o ../shared/p80211types.o ../shared/p80211types.c
gcc  -I../include -I/lib/modules/2.6.22-gentoo-r5/build//include -D__LINUX_WLAN__  -c -o ../shared/p80211meta.o ../shared/p80211meta.c
gcc  -I../include -I/lib/modules/2.6.22-gentoo-r5/build//include -D__LINUX_WLAN__  -c -o ../shared/p80211metamsg.o ../shared/p80211metamsg.c
gcc  -I../include -I/lib/modules/2.6.22-gentoo-r5/build//include -D__LINUX_WLAN__  -c -o ../shared/p80211metamib.o ../shared/p80211metamib.c
gcc  -o wlanctl wlanctl.o help.o ../shared/p80211types.o ../shared/p80211meta.o ../shared/p80211metamsg.o ../shared/p80211metamib.o 
make[2]: Leaving directory `/tmp/linux-wlan-ng-0.2.8/src/wlanctl'
make[2]: Entering directory `/tmp/linux-wlan-ng-0.2.8/src/nwepgen'
gcc  -I../include -I/lib/modules/2.6.22-gentoo-r5/build//include -D__LINUX_WLAN__  -c -o nwepgen.o nwepgen.c
gcc  -o nwepgen nwepgen.o
make[2]: Leaving directory `/tmp/linux-wlan-ng-0.2.8/src/nwepgen'
make[2]: Entering directory `/tmp/linux-wlan-ng-0.2.8/src/wlancfg'
gcc  -I../include -I/lib/modules/2.6.22-gentoo-r5/build//include -D__LINUX_WLAN__  -c -o wlancfg.o wlancfg.c
gcc  -o wlancfg wlancfg.o ../shared/p80211types.o ../shared/p80211meta.o ../shared/p80211metamsg.o ../shared/p80211metamib.o 
make[2]: Leaving directory `/tmp/linux-wlan-ng-0.2.8/src/wlancfg'
make[2]: Entering directory `/tmp/linux-wlan-ng-0.2.8/src/p80211'
make -C /lib/modules/2.6.22-gentoo-r5/build/ M='/tmp/linux-wlan-ng-0.2.8/src/p80211' WLAN_SRC=/tmp/linux-wlan-ng-0.2.8/src/ modules
make[3]: Entering directory `/usr/src/linux-2.6.22-gentoo-r5'
  CC [M]  /tmp/linux-wlan-ng-0.2.8/src/p80211/p80211mod.o
  CC [M]  /tmp/linux-wlan-ng-0.2.8/src/p80211/p80211conv.o
  CC [M]  /tmp/linux-wlan-ng-0.2.8/src/p80211/p80211req.o
  CC [M]  /tmp/linux-wlan-ng-0.2.8/src/p80211/p80211wep.o
  CC [M]  /tmp/linux-wlan-ng-0.2.8/src/p80211/p80211wext.o
/tmp/linux-wlan-ng-0.2.8/src/p80211/p80211wext.c:451:2: warning: #warning "get rid of p2mib here"
  CC [M]  /tmp/linux-wlan-ng-0.2.8/src/p80211/p80211netdev.o
  LD [M]  /tmp/linux-wlan-ng-0.2.8/src/p80211/p80211.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/linux-wlan-ng-0.2.8/src/p80211/p80211.mod.o
  LD [M]  /tmp/linux-wlan-ng-0.2.8/src/p80211/p80211.ko
make[3]: Leaving directory `/usr/src/linux-2.6.22-gentoo-r5'
make[2]: Leaving directory `/tmp/linux-wlan-ng-0.2.8/src/p80211'
make[2]: Entering directory `/tmp/linux-wlan-ng-0.2.8/src/prism2'
set -e; for d in driver ridlist download; do make -C $d ; done
make[3]: Entering directory `/tmp/linux-wlan-ng-0.2.8/src/prism2/driver'
cp /tmp/linux-wlan-ng-0.2.8/src//p80211/Module*.symvers .
make -C /lib/modules/2.6.22-gentoo-r5/build/ M='/tmp/linux-wlan-ng-0.2.8/src/prism2/driver' WLAN_SRC=/tmp/linux-wlan-ng-0.2.8/src/ modules
make[4]: Entering directory `/usr/src/linux-2.6.22-gentoo-r5'
  CC [M]  /tmp/linux-wlan-ng-0.2.8/src/prism2/driver/prism2_usb.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/linux-wlan-ng-0.2.8/src/prism2/driver/prism2_usb.mod.o
  LD [M]  /tmp/linux-wlan-ng-0.2.8/src/prism2/driver/prism2_usb.ko
make[4]: Leaving directory `/usr/src/linux-2.6.22-gentoo-r5'
make[3]: Leaving directory `/tmp/linux-wlan-ng-0.2.8/src/prism2/driver'
make[3]: Entering directory `/tmp/linux-wlan-ng-0.2.8/src/prism2/ridlist'
mkdir -p obj
make[3]: Leaving directory `/tmp/linux-wlan-ng-0.2.8/src/prism2/ridlist'
make[3]: Entering directory `/tmp/linux-wlan-ng-0.2.8/src/prism2/download'
gcc  -I../../include -I../include -I/lib/modules/2.6.22-gentoo-r5/build//include -D__LINUX_WLAN__  -c -o prism2dl.o prism2dl.c
gcc -g -o prism2dl prism2dl.o
make[3]: Leaving directory `/tmp/linux-wlan-ng-0.2.8/src/prism2/download'
make[2]: Leaving directory `/tmp/linux-wlan-ng-0.2.8/src/prism2'
make[1]: Leaving directory `/tmp/linux-wlan-ng-0.2.8/src'
make[1]: Entering directory `/tmp/linux-wlan-ng-0.2.8/doc'
Nothing to do...
make[1]: Leaving directory `/tmp/linux-wlan-ng-0.2.8/doc'
make[1]: Entering directory `/tmp/linux-wlan-ng-0.2.8/man'
Nothing to do...
make[1]: Leaving directory `/tmp/linux-wlan-ng-0.2.8/man'
make[1]: Entering directory `/tmp/linux-wlan-ng-0.2.8/etc'
set -e; for d in pcmcia wlan; do make -C $d all; done
make[2]: Entering directory `/tmp/linux-wlan-ng-0.2.8/etc/pcmcia'
Nothing to do
make[2]: Leaving directory `/tmp/linux-wlan-ng-0.2.8/etc/pcmcia'
make[2]: Entering directory `/tmp/linux-wlan-ng-0.2.8/etc/wlan'
echo "Nothing to do"
Nothing to do
make[2]: Leaving directory `/tmp/linux-wlan-ng-0.2.8/etc/wlan'
make[1]: Leaving directory `/tmp/linux-wlan-ng-0.2.8/etc'


#! /bin/sh /usr/share/dpatch/dpatch-run
## ubuntu-sk_buff-mac.dpatch by  <debian.tormod@gmail.com>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: No description.

@DPATCH@
diff -urNad linux-wlan-ng-0.2.8+dfsg~/src/p80211/p80211conv.c linux-wlan-ng-0.2.8+dfsg/src/p80211/p80211conv.c
--- linux-wlan-ng-0.2.8+dfsg~/src/p80211/p80211conv.c	2007-03-19 15:37:00.000000000 +0000
+++ linux-wlan-ng-0.2.8+dfsg/src/p80211/p80211conv.c	2007-06-06 22:20:07.000000000 +0000
@@ -498,7 +498,7 @@
 	}
 
 	skb->protocol = eth_type_trans(skb, netdev);
-	skb->mac.raw = (unsigned char *) e_hdr; /* new MAC header */
+	skb->mac_header = (unsigned char *) e_hdr; /* new MAC header */
 
         /* jkriegl: process signal and noise as set in hfa384x_int_rx() */
 	/* jkriegl: only process signal/noise if requested by iwspy */
diff -urNad linux-wlan-ng-0.2.8+dfsg~/src/p80211/p80211netdev.c linux-wlan-ng-0.2.8+dfsg/src/p80211/p80211netdev.c
--- linux-wlan-ng-0.2.8+dfsg~/src/p80211/p80211netdev.c	2007-03-19 15:37:00.000000000 +0000
+++ linux-wlan-ng-0.2.8+dfsg/src/p80211/p80211netdev.c	2007-06-06 22:20:07.000000000 +0000
@@ -389,7 +389,7 @@
 
 				/* set up various data fields */
 				skb->dev = dev;
-				skb->mac.raw = skb->data ;
+				skb_reset_mac_header(skb);
 				skb->ip_summed = CHECKSUM_NONE;
 				skb->pkt_type = PACKET_OTHERHOST;
 				skb->protocol = htons(ETH_P_80211_RAW); 
diff -urNad linux-wlan-ng-0.2.8+dfsg~/src/prism2/driver/hfa384x.c linux-wlan-ng-0.2.8+dfsg/src/prism2/driver/hfa384x.c
--- linux-wlan-ng-0.2.8+dfsg~/src/prism2/driver/hfa384x.c	2007-03-19 15:37:00.000000000 +0000
+++ linux-wlan-ng-0.2.8+dfsg/src/prism2/driver/hfa384x.c	2007-06-06 22:20:07.000000000 +0000
@@ -3645,7 +3645,7 @@
 		/* the prism2 cards don't return the FCS */
 		datap = skb_put(skb, WLAN_CRC_LEN);
 		memset (datap, 0xff, WLAN_CRC_LEN);
-		skb->mac.raw = skb->data;
+		skb_reset_mac_header(skb);
 
 		/* Attach the rxmeta, set some stuff */
 		p80211skb_rxmeta_attach(wlandev, skb);
diff -urNad linux-wlan-ng-0.2.8+dfsg~/src/prism2/driver/hfa384x_usb.c linux-wlan-ng-0.2.8+dfsg/src/prism2/driver/hfa384x_usb.c
--- linux-wlan-ng-0.2.8+dfsg~/src/prism2/driver/hfa384x_usb.c	2007-03-19 15:37:00.000000000 +0000
+++ linux-wlan-ng-0.2.8+dfsg/src/prism2/driver/hfa384x_usb.c	2007-06-06 22:20:07.000000000 +0000
@@ -4255,7 +4255,7 @@
 		/* The prism2 series does not return the CRC */
 		memset(skb_put(skb, WLAN_CRC_LEN), 0xff, WLAN_CRC_LEN);
 
-		skb->mac.raw = skb->data;
+		skb_reset_mac_header(skb);
 
 		/* Attach the rxmeta, set some stuff */
 		p80211skb_rxmeta_attach(wlandev, skb);
Comment 1 Oliver Bengs 2007-10-07 14:27:49 UTC
Created attachment 132829 [details, diff]
Fixes the compile for Kernel >= 2.6.22

Here is a working patch for it.
Comment 2 Oliver Bengs 2007-10-07 14:29:30 UTC
Created attachment 132830 [details]
ebuild with patch in it.

And here is the ebuild, maybe someone have to changed the version. Anyway it works for me ;)
Comment 3 FieldySnuts 2007-11-22 16:34:30 UTC
I'm having the same issues. This bug is now over 2 months old, any chance of a fix in portage?
Comment 4 Petteri Räty (RETIRED) gentoo-dev 2007-12-29 23:37:43 UTC
(In reply to comment #3)
> I'm having the same issues. This bug is now over 2 months old, any chance of a
> fix in portage?
> 

Patch added. Sorry about the delay.