diff options
author | James Ketrenos <jketreno@linux.intel.com> | 2005-09-21 12:56:33 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-09-21 23:03:54 -0400 |
commit | 9e8571affd1c54b9638b4ff9844e47aae07310f6 (patch) | |
tree | f6e568913c2d8aa1bf6bfedb3d90a78f2ade747b /net/ieee80211/ieee80211_tx.c | |
parent | 2c0aa2a5c2dfa1293ae3a07517d0b7de149358a1 (diff) |
[PATCH] ieee80211: Add QoS (WME) support to the ieee80211 subsystem
tree a3ad796273e98036eb0e9fc063225070fa24508a
parent 1b9c0aeb377abf8e4a43a86cff42382f74ca0259
author Mohamed Abbas <mabbas@linux.intel.com> 1124447069 -0500
committer James Ketrenos <jketreno@linux.intel.com> 1127313435 -0500
Add QoS (WME) support to the ieee80211 subsystem.
NOTE: This requires drivers that use the ieee80211 hard_start_xmit
(ipw2100 and ipw2200) to add the priority parameter to their callback.
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'net/ieee80211/ieee80211_tx.c')
-rw-r--r-- | net/ieee80211/ieee80211_tx.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/ieee80211/ieee80211_tx.c b/net/ieee80211/ieee80211_tx.c index e9efdd42ba37..aba72f9880a1 100644 --- a/net/ieee80211/ieee80211_tx.c +++ b/net/ieee80211/ieee80211_tx.c | |||
@@ -465,7 +465,7 @@ int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev) | |||
465 | dev_kfree_skb_any(skb); | 465 | dev_kfree_skb_any(skb); |
466 | 466 | ||
467 | if (txb) { | 467 | if (txb) { |
468 | int ret = (*ieee->hard_start_xmit) (txb, dev); | 468 | int ret = (*ieee->hard_start_xmit) (txb, dev, priority); |
469 | if (ret == 0) { | 469 | if (ret == 0) { |
470 | stats->tx_packets++; | 470 | stats->tx_packets++; |
471 | stats->tx_bytes += txb->payload_size; | 471 | stats->tx_bytes += txb->payload_size; |
@@ -500,6 +500,7 @@ int ieee80211_tx_frame(struct ieee80211_device *ieee, | |||
500 | unsigned long flags; | 500 | unsigned long flags; |
501 | struct net_device_stats *stats = &ieee->stats; | 501 | struct net_device_stats *stats = &ieee->stats; |
502 | struct sk_buff *skb_frag; | 502 | struct sk_buff *skb_frag; |
503 | int priority = -1; | ||
503 | 504 | ||
504 | spin_lock_irqsave(&ieee->lock, flags); | 505 | spin_lock_irqsave(&ieee->lock, flags); |
505 | 506 | ||
@@ -540,7 +541,7 @@ int ieee80211_tx_frame(struct ieee80211_device *ieee, | |||
540 | spin_unlock_irqrestore(&ieee->lock, flags); | 541 | spin_unlock_irqrestore(&ieee->lock, flags); |
541 | 542 | ||
542 | if (txb) { | 543 | if (txb) { |
543 | if ((*ieee->hard_start_xmit) (txb, ieee->dev) == 0) { | 544 | if ((*ieee->hard_start_xmit) (txb, ieee->dev, priority) == 0) { |
544 | stats->tx_packets++; | 545 | stats->tx_packets++; |
545 | stats->tx_bytes += txb->payload_size; | 546 | stats->tx_bytes += txb->payload_size; |
546 | return 0; | 547 | return 0; |