if (HOSTAP_FC_GET_TYPE(fc) == WLAN_FC_TYPE_DATA && HOSTAP_FC_GET_STYPE(fc) == WLAN_FC_STYPE_DATA) { 
if (WLAN_FC_GET_TYPE(fc) == IEEE80211_FTYPE_DATA && WLAN_FC_GET_STYPE(fc) == IEEE80211_STYPE_DATA) { 
int hostap_mgmt_start_xmit(struct sk_buff *skb, struct net_device *dev){	struct hostap_interface *iface;	local_info_t *local;	struct hostap_skb_tx_data *meta;	struct ieee80211_hdr *hdr;	u16 fc;	iface = netdev_priv(dev);	local = iface->local;	if (skb->len < 10) {		printk(KERN_DEBUG "%s: hostap_mgmt_start_xmit: short skb "		       "(len=%d)\n", dev->name, skb->len);		kfree_skb(skb);		return 0;	}	iface->stats.tx_packets++;	iface->stats.tx_bytes += skb->len;	meta = (struct hostap_skb_tx_data *) skb->cb;	memset(meta, 0, sizeof(*meta));	meta->magic = HOSTAP_SKB_TX_DATA_MAGIC;	meta->iface = iface;	if (skb->len >= IEEE80211_DATA_HDR3_LEN + sizeof(rfc1042_header) + 2) {		hdr = (struct ieee80211_hdr *) skb->data;		fc = le16_to_cpu(hdr->frame_ctl);		if (HOSTAP_FC_GET_TYPE(fc) == WLAN_FC_TYPE_DATA &&		    HOSTAP_FC_GET_STYPE(fc) == WLAN_FC_STYPE_DATA) {			u8 *pos = &skb->data[IEEE80211_DATA_HDR3_LEN +					     sizeof(rfc1042_header)];			meta->ethertype = (pos[0] << 8) | pos[1];		}	}	/* Send IEEE 802.11 encapsulated frame using the master radio device */	skb->dev = local->dev;	dev_queue_xmit(skb);	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/4339d328631aa815fe2181b9164b3690ca2db4da/hostap_80211_tx.c/buggy/drivers/net/wireless/hostap/hostap_80211_tx.c