summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-wireless/madwifi-ng/ChangeLog7
-rw-r--r--net-wireless/madwifi-ng/files/madwifi-2.6.22.patch67
2 files changed, 51 insertions, 23 deletions
diff --git a/net-wireless/madwifi-ng/ChangeLog b/net-wireless/madwifi-ng/ChangeLog
index a22d52ecf963..472be1e77b66 100644
--- a/net-wireless/madwifi-ng/ChangeLog
+++ b/net-wireless/madwifi-ng/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for net-wireless/madwifi-ng
# Copyright 2000-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/madwifi-ng/ChangeLog,v 1.40 2007/07/07 11:01:13 genstef Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/madwifi-ng/ChangeLog,v 1.41 2007/07/13 07:58:24 genstef Exp $
+
+ 13 Jul 2007; Stefan Schweizer <genstef@gentoo.org>
+ files/madwifi-2.6.22.patch:
+ Add new 2.6.22 patch that works for amd64 too thanks to Thomas S. Howard
+ <thoward1120@sbcglobal.net> in bug 184804
07 Jul 2007; Stefan Schweizer <genstef@gentoo.org>
-files/madwifi-ng-0.9.2.1-linux-2.6.20.patch,
diff --git a/net-wireless/madwifi-ng/files/madwifi-2.6.22.patch b/net-wireless/madwifi-ng/files/madwifi-2.6.22.patch
index 58cc57cd1985..3918f6810ac7 100644
--- a/net-wireless/madwifi-ng/files/madwifi-2.6.22.patch
+++ b/net-wireless/madwifi-ng/files/madwifi-2.6.22.patch
@@ -1,6 +1,5 @@
-diff -ur madwifi-0.9.3.orig/ath/if_ath_pci.c madwifi-0.9.3/ath/if_ath_pci.c
---- madwifi-0.9.3.orig/ath/if_ath_pci.c 2007-01-22 04:07:30.000000000 +0100
-+++ madwifi-0.9.3/ath/if_ath_pci.c 2007-05-13 16:12:59.000000000 +0200
+--- madwifi-0.9.3.1/ath/if_ath_pci.c.orig 2007-07-10 01:01:07.000000000 -0700
++++ madwifi-0.9.3.1/ath/if_ath_pci.c 2007-07-10 01:01:54.000000000 -0700
@@ -207,7 +207,7 @@
pci_set_drvdata(pdev, dev);
@@ -10,44 +9,69 @@ diff -ur madwifi-0.9.3.orig/ath/if_ath_pci.c madwifi-0.9.3/ath/if_ath_pci.c
printk(KERN_WARNING "%s: request_irq failed\n", dev->name);
goto bad3;
}
-diff -ur madwifi-0.9.3.orig/net80211/ieee80211_input.c madwifi-0.9.3/net80211/ieee80211_input.c
---- madwifi-0.9.3.orig/net80211/ieee80211_input.c 2007-02-02 21:01:51.000000000 +0100
-+++ madwifi-0.9.3/net80211/ieee80211_input.c 2007-05-13 16:17:28.000000000 +0200
-@@ -1127,8 +1127,8 @@
+--- madwifi-0.9.3.1/net80211/ieee80211_input.c.orig 2007-07-10 00:51:24.000000000 -0700
++++ madwifi-0.9.3.1/net80211/ieee80211_input.c 2007-07-10 00:51:29.000000000 -0700
+@@ -1048,11 +1048,11 @@
+ * incoming fragments
+ * XXX 4-address/QoS frames?
+ */
+- else if (skb->end - skb->head < ni->ni_vap->iv_dev->mtu +
++ else if (skb_end_pointer(skb) - skb->head < ni->ni_vap->iv_dev->mtu +
+ hdrlen) {
+ ni->ni_rxfrag = skb_copy_expand(skb, 0,
+ (ni->ni_vap->iv_dev->mtu + hdrlen) -
+- (skb->end - skb->head), GFP_ATOMIC);
++ (skb_end_pointer(skb) - skb->head), GFP_ATOMIC);
+ dev_kfree_skb(skb);
+ }
+ }
+@@ -1066,7 +1066,7 @@
+ * we've verified that before
+ */
+ /* Copy current fragment at end of previous one */
+- memcpy(ni->ni_rxfrag->tail,
++ memcpy(skb_tail_pointer(ni->ni_rxfrag),
+ skb->data + hdrlen, skb->len - hdrlen);
+ /* Update tail and length */
+ skb_put(ni->ni_rxfrag, skb->len - hdrlen);
+@@ -1136,8 +1136,8 @@
}
if (skb1 != NULL) {
skb1->dev = dev;
- skb1->mac.raw = skb1->data;
- skb1->nh.raw = skb1->data + sizeof(struct ether_header);
-+ skb1->mac_header = skb1->data;
-+ skb1->network_header = skb1->data + sizeof(struct ether_header);
++ skb_reset_mac_header(skb1);
++ skb_set_network_header(skb1, sizeof(struct ether_header));
skb1->protocol = __constant_htons(ETH_P_802_2);
/* XXX insert vlan tag before queue it? */
dev_queue_xmit(skb1);
-@@ -2250,7 +2250,7 @@
+@@ -2259,7 +2259,7 @@
if (skb1 == NULL)
return;
skb1->dev = dev;
- skb1->mac.raw = skb1->data;
-+ skb1->mac_header = skb1->data;
++ skb_reset_mac_header(skb1);
skb1->ip_summed = CHECKSUM_NONE;
skb1->pkt_type = PACKET_OTHERHOST;
skb1->protocol = __constant_htons(0x0019); /* ETH_P_80211_RAW */
-@@ -2525,7 +2525,7 @@
+@@ -2533,8 +2533,9 @@
+ l2uf->xid[2] = 0x00;
skb->dev = dev;
- skb->protocol = eth_type_trans(skb, dev);
+- skb->protocol = eth_type_trans(skb, dev);
- skb->mac.raw = skb->data;
-+ skb->mac_header = skb->data;
++ skb->pkt_type = PACKET_BROADCAST;
++ skb->protocol = htons(ETH_P_802_2);
++ skb_reset_mac_header(skb);
ieee80211_deliver_data(ni, skb);
return;
}
-@@ -3691,14 +3691,14 @@
+@@ -3713,14 +3714,14 @@
{
struct ethhdr *eth;
- skb->mac.raw=skb->data;
-+ skb->mac_header=skb->data;
++ skb_reset_mac_header(skb);
skb_pull(skb, ETH_HLEN);
/*
* NB: mac.ethernet is replaced in 2.6.9 by eth_hdr but
@@ -55,19 +79,18 @@ diff -ur madwifi-0.9.3.orig/net80211/ieee80211_input.c madwifi-0.9.3/net80211/ie
* no easy way to do this cleanly.
*/
- eth = (struct ethhdr *)skb->mac.raw;
-+ eth = (struct ethhdr *)skb->mac_header;
++ eth = (struct ethhdr *)skb_mac_header(skb);
if (*eth->h_dest & 1)
if (memcmp(eth->h_dest, dev->broadcast, ETH_ALEN) == 0)
-diff -ur madwifi-0.9.3.orig/net80211/ieee80211_monitor.c madwifi-0.9.3/net80211/ieee80211_monitor.c
---- madwifi-0.9.3.orig/net80211/ieee80211_monitor.c 2007-02-15 00:45:48.000000000 +0100
-+++ madwifi-0.9.3/net80211/ieee80211_monitor.c 2007-05-13 16:18:25.000000000 +0200
+--- madwifi-0.9.3.1/net80211/ieee80211_monitor.c.orig 2007-07-10 00:52:51.000000000 -0700
++++ madwifi-0.9.3.1/net80211/ieee80211_monitor.c 2007-07-10 00:54:29.000000000 -0700
@@ -373,7 +373,7 @@
if (vap->iv_monitor_txf_len && tx) {
/* truncate transmit feedback packets */
skb_trim(skb1, vap->iv_monitor_txf_len);
- skb1->nh.raw = skb1->data;
-+ skb1->network_header = skb1->data;
++ skb_reset_network_header(skb1);
}
switch (vap->iv_dev->type) {
case ARPHRD_IEEE80211:
@@ -76,7 +99,7 @@ diff -ur madwifi-0.9.3.orig/net80211/ieee80211_monitor.c madwifi-0.9.3/net80211/
}
skb1->dev = dev; /* NB: deliver to wlanX */
- skb1->mac.raw = skb1->data;
-+ skb1->mac_header = skb1->data;
++ skb_reset_mac_header(skb1);
skb1->ip_summed = CHECKSUM_NONE;
skb1->pkt_type = pkttype;
skb1->protocol = __constant_htons(0x0019); /* ETH_P_80211_RAW */