aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/tx.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2007-11-15 20:17:07 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 17:54:39 -0500
commit0c884439dbd7c895cce61c4974c8868b0f6cd4a1 (patch)
treedabda50a1363739f62242b510dca3e0dd134b15e /net/mac80211/tx.c
parent6b4e324164c683a7b4c1bd0be4d85f9a5a0f0e90 (diff)
mac80211: remove more forgotten code
Hopefully that's the rest. Seems I didn't do a very thorough job removing the management interface. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r--net/mac80211/tx.c58
1 files changed, 0 insertions, 58 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 1a531543bccb..9ccf4b5a9aad 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -1527,64 +1527,6 @@ int ieee80211_subif_start_xmit(struct sk_buff *skb,
1527 return ret; 1527 return ret;
1528} 1528}
1529 1529
1530/*
1531 * This is the transmit routine for the 802.11 type interfaces
1532 * called by upper layers of the linux networking
1533 * stack when it has a frame to transmit
1534 */
1535int ieee80211_mgmt_start_xmit(struct sk_buff *skb, struct net_device *dev)
1536{
1537 struct ieee80211_sub_if_data *sdata;
1538 struct ieee80211_tx_packet_data *pkt_data;
1539 struct ieee80211_hdr *hdr;
1540 u16 fc;
1541
1542 sdata = IEEE80211_DEV_TO_SUB_IF(dev);
1543
1544 if (skb->len < 10) {
1545 dev_kfree_skb(skb);
1546 return 0;
1547 }
1548
1549 if (skb_headroom(skb) < sdata->local->tx_headroom) {
1550 if (pskb_expand_head(skb, sdata->local->tx_headroom,
1551 0, GFP_ATOMIC)) {
1552 dev_kfree_skb(skb);
1553 return 0;
1554 }
1555 }
1556
1557 hdr = (struct ieee80211_hdr *) skb->data;
1558 fc = le16_to_cpu(hdr->frame_control);
1559
1560 pkt_data = (struct ieee80211_tx_packet_data *) skb->cb;
1561 memset(pkt_data, 0, sizeof(struct ieee80211_tx_packet_data));
1562 pkt_data->ifindex = sdata->dev->ifindex;
1563
1564 skb->priority = 20; /* use hardcoded priority for mgmt TX queue */
1565 skb->dev = sdata->local->mdev;
1566
1567 /*
1568 * We're using the protocol field of the the frame control header
1569 * to request TX callback for hostapd. BIT(1) is checked.
1570 */
1571 if ((fc & BIT(1)) == BIT(1)) {
1572 pkt_data->flags |= IEEE80211_TXPD_REQ_TX_STATUS;
1573 fc &= ~BIT(1);
1574 hdr->frame_control = cpu_to_le16(fc);
1575 }
1576
1577 if (!(fc & IEEE80211_FCTL_PROTECTED))
1578 pkt_data->flags |= IEEE80211_TXPD_DO_NOT_ENCRYPT;
1579
1580 dev->stats.tx_packets++;
1581 dev->stats.tx_bytes += skb->len;
1582
1583 dev_queue_xmit(skb);
1584
1585 return 0;
1586}
1587
1588/* helper functions for pending packets for when queues are stopped */ 1530/* helper functions for pending packets for when queues are stopped */
1589 1531
1590void ieee80211_clear_tx_pending(struct ieee80211_local *local) 1532void ieee80211_clear_tx_pending(struct ieee80211_local *local)