diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-01-31 04:09:54 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-01-31 04:09:54 +0000 |
commit | 18a605bf0b48420b0385f75c886d43c81435f532 (patch) | |
tree | ae93ee0c53be3ebca6d754d337bb62e131b80bae /package/madwifi/patches/316-skb_checks.patch | |
parent | 10daf50d2e814ee7208e1dc1437a11c5bf171aee (diff) |
pull madwifi forward to the latest upstream version - should fix some dual radio issues; add preliminary 2.6.24 support patch (compiles, not run-time tested, thx SeG)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10334 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/madwifi/patches/316-skb_checks.patch')
-rw-r--r-- | package/madwifi/patches/316-skb_checks.patch | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/package/madwifi/patches/316-skb_checks.patch b/package/madwifi/patches/316-skb_checks.patch deleted file mode 100644 index 8457bc3dc..000000000 --- a/package/madwifi/patches/316-skb_checks.patch +++ /dev/null @@ -1,61 +0,0 @@ -Index: madwifi-trunk-r3280/net80211/ieee80211_input.c -=================================================================== ---- madwifi-trunk-r3280.orig/net80211/ieee80211_input.c 2008-01-28 17:36:55.186089457 +0100 -+++ madwifi-trunk-r3280/net80211/ieee80211_input.c 2008-01-28 17:38:42.816222949 +0100 -@@ -740,8 +740,10 @@ - - skb1 = skb_copy(skb, GFP_ATOMIC); - /* Increment reference count after copy */ -- if (skb1 != NULL) -- ieee80211_skb_copy_noderef(skb, skb1); -+ if (skb1 == NULL) -+ goto err; -+ -+ ieee80211_skb_copy_noderef(skb, skb1); - - /* we now have 802.3 MAC hdr followed by 802.2 LLC/SNAP; convert to EthernetII. - * Note that the frame is at least IEEE80211_MIN_LEN, due to the driver code. */ -@@ -1056,9 +1058,11 @@ - * assemble fragments - */ - ni->ni_rxfrag = skb_copy(skb, GFP_ATOMIC); -- /* We duplicate the reference after skb_copy */ -- ieee80211_skb_copy_noderef(skb, ni->ni_rxfrag); -- ieee80211_dev_kfree_skb(&skb); -+ if (ni->ni_rxfrag) { -+ /* We duplicate the reference after skb_copy */ -+ ieee80211_skb_copy_noderef(skb, ni->ni_rxfrag); -+ ieee80211_dev_kfree_skb(&skb); -+ } - } - /* - * Check that we have enough space to hold -@@ -1072,7 +1076,7 @@ - (skb_end_pointer(skb) - skb->head), - GFP_ATOMIC); - /* We duplicate the reference after skb_copy */ -- if (skb != ni->ni_rxfrag) -+ if ((skb != ni->ni_rxfrag) && ni->ni_rxfrag) - ieee80211_skb_copy_noderef(skb, ni->ni_rxfrag); - ieee80211_dev_kfree_skb(&skb); - } -@@ -1135,7 +1139,8 @@ - if (ETHER_IS_MULTICAST(eh->ether_dhost)) { - /* Create a SKB for the BSS to send out. */ - skb1 = skb_copy(skb, GFP_ATOMIC); -- SKB_CB(skb1)->ni = ieee80211_ref_node(vap->iv_bss); -+ if (skb1) -+ SKB_CB(skb1)->ni = ieee80211_ref_node(vap->iv_bss); - } - else { - /* -@@ -1278,6 +1283,9 @@ - - /* XXX: does this always work? */ - tskb = skb_copy(skb, GFP_ATOMIC); -+ if (!tskb) -+ return skb; -+ - /* We duplicate the reference after skb_copy */ - ieee80211_skb_copy_noderef(skb, tskb); - ieee80211_dev_kfree_skb(&skb); |