The Following 3 Users Say Thank You to juiceme For This Useful Post: | ||
|
2013-11-14
, 09:33
|
Guest |
Posts: n/a |
Thanked: 0 times |
Joined on
|
#172
|
props for hurrian to do the hard part, i'm just enjoying being along for the ride....
The Following User Says Thank You to For This Useful Post: | ||
![]() |
2013-11-14
, 13:33
|
Posts: 1,225 |
Thanked: 1,905 times |
Joined on Feb 2011
@ Quezon City, Philippines
|
#173
|
![]() |
2013-11-15
, 13:28
|
Community Council |
Posts: 4,920 |
Thanked: 12,867 times |
Joined on May 2012
@ Southerrn Finland
|
#174
|
The source patches will be updated soon enough - I think I may have resolved the build errors encountered when CONFIG_OPPTIMIZER is enabled. Give me some more time.
The Following 2 Users Say Thank You to juiceme For This Useful Post: | ||
|
2013-11-17
, 13:53
|
Guest |
Posts: n/a |
Thanked: 0 times |
Joined on
|
#175
|
diff --git a/net/wireless/chan.c b/net/wireless/chan.c index b01a6f6..09d979b 100644 --- a/net/wireless/chan.c +++ b/net/wireless/chan.c @@ -49,9 +49,12 @@ int cfg80211_set_freq(struct cfg80211_registered_device *rdev, { struct ieee80211_channel *chan; int result; + struct wireless_dev *mon_dev = NULL; - if (wdev && wdev->iftype == NL80211_IFTYPE_MONITOR) + if (wdev && wdev->iftype == NL80211_IFTYPE_MONITOR) { + mon_dev = wdev; wdev = NULL; + } if (wdev) { ASSERT_WDEV_LOCK(wdev); @@ -76,5 +79,8 @@ int cfg80211_set_freq(struct cfg80211_registered_device *rdev, if (wdev) wdev->channel = chan; + if (mon_dev) + mon_dev->channel = chan; + return 0; }
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index 0855cac..221bed6 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c @@ -677,11 +677,19 @@ int tid; /* * Packet injection may want to control the sequence - * number, if we have no matching interface then we - * neither assign one ourselves nor ask the driver to. + * number, so if an injected packet is found, skip + * renumbering it. Also make the packet NO_ACK to avoid + * excessive retries (ACKing and retrying should be + * handled by the injecting application). + * FIXME This may break hostapd and some other injectors. + * This should be done using a radiotap flag. */ - if (unlikely(info->control.vif->type == NL80211_IFTYPE_MONITOR)) + if (unlikely((info->flags & IEEE80211_TX_CTL_INJECTED) && + !(tx->sdata->u.mntr_flags & MONITOR_FLAG_COOK_FRAMES))) { + if (!ieee80211_has_morefrags(hdr->frame_control)) + info->flags |= IEEE80211_TX_CTL_NO_ACK; return TX_CONTINUE; + } if (unlikely(ieee80211_is_ctl(hdr->frame_control))) return TX_CONTINUE;
![]() |
2013-11-17
, 18:18
|
Community Council |
Posts: 4,920 |
Thanked: 12,867 times |
Joined on May 2012
@ Southerrn Finland
|
#176
|
![]() |
2013-11-17
, 22:37
|
Posts: 1,225 |
Thanked: 1,905 times |
Joined on Feb 2011
@ Quezon City, Philippines
|
#177
|
![]() |
2013-11-18
, 05:55
|
Moderator |
Posts: 5,320 |
Thanked: 4,464 times |
Joined on Oct 2009
|
#178
|
The Following User Says Thank You to jalyst For This Useful Post: | ||
![]() |
2013-11-18
, 07:40
|
|
Posts: 1,348 |
Thanked: 1,863 times |
Joined on Jan 2009
@ fr/35/rennes
|
#179
|
The Following User Says Thank You to www.rzr.online.fr For This Useful Post: | ||
![]() |
2013-11-18
, 11:40
|
Posts: 1,225 |
Thanked: 1,905 times |
Joined on Feb 2011
@ Quezon City, Philippines
|
#180
|
![]() |
Tags |
kernel-plus |
Thread Tools | |
|
Let's take a small steps at a time, and eventually (after a long time and huge workload ) a 3.x version might emerge
Props for Hurrian to do the hard part, I'm just enjoying being along for the ride....