diff -uNr linux-wlan-ng-0.2.8/CHANGES linux-wlan-ng-svn-1832/CHANGES --- linux-wlan-ng-0.2.8/CHANGES 2007-05-04 13:29:27.000000000 +0100 +++ linux-wlan-ng-svn-1832/CHANGES 2007-06-27 11:28:14.000000000 +0100 @@ -41,6 +41,8 @@ * Intersil Corporation as part of PRISM(R) chipset product development. * * -------------------------------------------------------------------- + - Tweaks to support Fedora 7 (Dan Williams) + - Support 2.6.22 kernels 0.2.8 - Fix up a pile of sparse warnings (Pavel Roskin) - Support 2.6.20 kernels (Pavel Roskin) diff -uNr linux-wlan-ng-0.2.8/Configure linux-wlan-ng-svn-1832/Configure --- linux-wlan-ng-0.2.8/Configure 2007-05-07 23:00:22.000000000 +0100 +++ linux-wlan-ng-svn-1832/Configure 2007-06-27 11:28:14.000000000 +0100 @@ -277,9 +277,9 @@ fi write_bool KERN_2_6_17 -if [ $VERSION_CODE -gt `version 2 6 21` ] ; then +if [ $VERSION_CODE -gt `version 2 6 22` ] ; then $ECHO "******* WARNING WARNING WARNING *******" - $ECHO "Kernels newer than 2.6.21.x are not supported." + $ECHO "Kernels newer than 2.6.22.x are not supported." $ECHO "******* WARNING WARNING WARNING *******" fi diff -uNr linux-wlan-ng-0.2.8/config.in linux-wlan-ng-svn-1832/config.in --- linux-wlan-ng-0.2.8/config.in 2007-02-09 21:51:58.000000000 +0000 +++ linux-wlan-ng-svn-1832/config.in 2007-06-27 11:28:14.000000000 +0100 @@ -1,6 +1,6 @@ WLAN_VERSION=0 WLAN_PATCHLEVEL=2 -WLAN_SUBLEVEL=8 +WLAN_SUBLEVEL=9 WLAN_EXTRAVERSION= #LINUX_SRC=/usr/src/linux PCMCIA_SRC= diff -uNr linux-wlan-ng-0.2.8/etc/udev/rules.d/40-prism2.rules linux-wlan-ng-svn-1832/etc/udev/rules.d/40-prism2.rules --- linux-wlan-ng-0.2.8/etc/udev/rules.d/40-prism2.rules 2006-06-26 16:03:27.000000000 +0100 +++ linux-wlan-ng-svn-1832/etc/udev/rules.d/40-prism2.rules 2007-06-27 11:28:14.000000000 +0100 @@ -1 +1,2 @@ -ACTION=="add",BUS=="usb",DRIVER=="prism2_usb" ,RUN+="/etc/wlan/wlan-udev.sh %k" +#ACTION=="add",BUS=="usb",DRIVER=="prism2_usb" ,RUN+="/etc/wlan/wlan-udev.sh %k" +KERNEL="wlan*",ACTION=="add",DRIVERS=="prism2_usb" ,RUN+="/etc/wlan/wlan-udev.sh %k" diff -uNr linux-wlan-ng-0.2.8/src/include/wlan/wlan_compat.h linux-wlan-ng-svn-1832/src/include/wlan/wlan_compat.h --- linux-wlan-ng-0.2.8/src/include/wlan/wlan_compat.h 2007-02-28 15:44:02.000000000 +0000 +++ linux-wlan-ng-svn-1832/src/include/wlan/wlan_compat.h 2007-06-27 11:28:14.000000000 +0100 @@ -479,6 +479,13 @@ #endif #endif /* _LINUX_PROC_FS_H */ +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22) +#define skb_reset_mac_header(__a) (__a)->mac.raw = (__a)->data +#define SKB_MAC_HEADER(__a) (__a)->mac.raw +#else +#define SKB_MAC_HEADER(__a) (__a)->mac_header +#endif + #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)) #ifndef INIT_TQUEUE #define PREPARE_TQUEUE(_tq, _routine, _data) \ diff -uNr linux-wlan-ng-0.2.8/src/p80211/p80211conv.c linux-wlan-ng-svn-1832/src/p80211/p80211conv.c --- linux-wlan-ng-0.2.8/src/p80211/p80211conv.c 2007-03-19 15:37:00.000000000 +0000 +++ linux-wlan-ng-svn-1832/src/p80211/p80211conv.c 2007-06-27 11:28:14.000000000 +0100 @@ -498,7 +498,7 @@ } skb->protocol = eth_type_trans(skb, netdev); - skb->mac.raw = (unsigned char *) e_hdr; /* new MAC header */ + SKB_MAC_HEADER(skb) = (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 -uNr linux-wlan-ng-0.2.8/src/p80211/p80211netdev.c linux-wlan-ng-svn-1832/src/p80211/p80211netdev.c --- linux-wlan-ng-0.2.8/src/p80211/p80211netdev.c 2007-03-19 15:37:00.000000000 +0000 +++ linux-wlan-ng-svn-1832/src/p80211/p80211netdev.c 2007-06-27 11:28:14.000000000 +0100 @@ -389,7 +389,8 @@ /* 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); @@ -929,7 +930,7 @@ dev->open = p80211knetdev_open; dev->stop = p80211knetdev_stop; -#ifdef CONFIG_NET_WIRELESS +#if defined(CONFIG_NET_WIRELESS) || defined(WIRELESS_EXT) #if ((WIRELESS_EXT < 17) && (WIRELESS_EXT < 21)) dev->get_wireless_stats = p80211wext_get_wireless_stats; #endif diff -uNr linux-wlan-ng-0.2.8/src/prism2/driver/hfa384x.c linux-wlan-ng-svn-1832/src/prism2/driver/hfa384x.c --- linux-wlan-ng-0.2.8/src/prism2/driver/hfa384x.c 2007-03-19 15:37:00.000000000 +0000 +++ linux-wlan-ng-svn-1832/src/prism2/driver/hfa384x.c 2007-06-27 11:28:14.000000000 +0100 @@ -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 -uNr linux-wlan-ng-0.2.8/src/prism2/driver/hfa384x_usb.c linux-wlan-ng-svn-1832/src/prism2/driver/hfa384x_usb.c --- linux-wlan-ng-0.2.8/src/prism2/driver/hfa384x_usb.c 2007-03-19 15:37:00.000000000 +0000 +++ linux-wlan-ng-svn-1832/src/prism2/driver/hfa384x_usb.c 2007-06-27 11:28:14.000000000 +0100 @@ -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);