#include <linux/if_ether.h>
 #include <linux/kmemleak.h>
 #include <linux/etherdevice.h>
+#include <linux/ieee80211.h>
 #include <net/cfg80211.h>
 
 #include "osdep_service.h"
        pattrib->privacy =  GetPrivacy(ptr);
        pattrib->order = GetOrder(ptr);
        switch (type) {
-       case WIFI_MGT_TYPE: /*mgnt*/
+       case IEEE80211_FTYPE_MGMT:
                retval = validate_recv_mgnt_frame(adapter, precv_frame);
                break;
-       case WIFI_CTRL_TYPE:/*ctrl*/
+       case IEEE80211_FTYPE_CTL:
                retval = validate_recv_ctrl_frame(adapter, precv_frame);
                break;
-       case WIFI_DATA_TYPE: /*data*/
+       case IEEE80211_FTYPE_DATA:
                pattrib->qos = (subtype & BIT(7)) ? 1 : 0;
                retval = validate_recv_data_frame(adapter, precv_frame);
                break;
 
 
 #include "osdep_service.h"
 #include "drv_types.h"
-#include "wifi.h"
 #include "osdep_intf.h"
 #include "usb_ops.h"
 
                r8712_set_qos(&pktfile, pattrib);
        } else {
                pattrib->hdrlen = WLAN_HDR_A3_LEN;
-               pattrib->subtype = WIFI_DATA_TYPE;
+               pattrib->subtype = IEEE80211_FTYPE_DATA;
                pattrib->priority = 0;
        }
        if (psta->ieee8021x_blocked) {
 
        memset(hdr, 0, WLANHDR_OFFSET);
        SetFrameSubType(fctrl, pattrib->subtype);
-       if (!(pattrib->subtype & WIFI_DATA_TYPE))
+       if (!(pattrib->subtype & IEEE80211_FTYPE_DATA))
                return 0;
 
        bssid = get_bssid(pmlmepriv);
 
 #define P80211CAPTURE_VERSION  0x80211001
 
 enum WIFI_FRAME_TYPE {
-       WIFI_MGT_TYPE  =        (0),
-       WIFI_CTRL_TYPE =        (BIT(2)),
-       WIFI_DATA_TYPE =        (BIT(3)),
        WIFI_QOS_DATA_TYPE      = (BIT(7) | BIT(3)),    /*!< QoS Data */
 };