nexmon – Rev 1

Subversion Repositories:
Rev:
diff -udpr rtl8187_linux_26.1010.0622.2006/beta-8187/r8187.h rtl8187_linux_26.1010.0622.2006_2.6.32/beta-8187/r8187.h
--- rtl8187_linux_26.1010.0622.2006/beta-8187/r8187.h   2010-01-31 11:32:06.000000000 -0500
+++ rtl8187_linux_26.1010.0622.2006_2.6.32/beta-8187/r8187.h    2010-01-31 09:28:57.000000000 -0500
@@ -43,12 +43,14 @@
 #include <linux/if_arp.h>
 #include <linux/random.h>
 #include <linux/version.h>
-#include <asm/io.h>
-#include <asm/semaphore.h>
 
 #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19))
+#include <asm/io.h>
+#include <asm/semaphore.h>
 #include <linux/config.h>
 #else
+#include <linux/io.h>
+#include <linux/semaphore.h>
 #include <linux/autoconf.h>
 #endif
 
diff -udpr rtl8187_linux_26.1010.0622.2006/beta-8187/r8187_core.c rtl8187_linux_26.1010.0622.2006_2.6.32/beta-8187/r8187_core.c
--- rtl8187_linux_26.1010.0622.2006/beta-8187/r8187_core.c      2010-01-31 11:32:05.000000000 -0500
+++ rtl8187_linux_26.1010.0622.2006_2.6.32/beta-8187/r8187_core.c       2010-01-31 11:15:27.000000000 -0500
@@ -1893,8 +1893,6 @@ short rtl8180_init(struct net_device *de
                DMESG("Reported EEPROM chip is a 93c46 (1Kbit)");
        }
 
-       dev->get_stats = rtl8180_stats;
-
        dev->dev_addr[0]=eprom_read(dev,MAC_ADR) & 0xff;
        dev->dev_addr[1]=(eprom_read(dev,MAC_ADR) & 0xff00)>>8;
        dev->dev_addr[2]=eprom_read(dev,MAC_ADR+1) & 0xff;
@@ -2597,6 +2595,19 @@ void rtl8180_irq_rx_tasklet(struct r8180
      ---------------------------- USB_STUFF---------------------------
 *****************************************************************************/
 
+#ifdef HAVE_NET_DEVICE_OPS
+static const struct net_device_ops rtl8180_netdev_ops = {
+    .ndo_open = rtl8180_open,
+    .ndo_stop = rtl8180_close,
+    .ndo_get_stats = rtl8180_stats,
+    .ndo_tx_timeout = tx_timeout,
+    .ndo_do_ioctl = rtl8180_ioctl,
+    .ndo_set_multicast_list = r8180_set_multicast,
+    .ndo_set_mac_address = r8180_set_mac_adr,
+    .ndo_start_xmit = ieee80211_xmit_rtl7,
+//    .ndo_start_xmit = ieee80211_xmit,
+};
+#endif
 
 static int __devinit rtl8187_usb_probe(struct usb_interface *intf,
                         const struct usb_device_id *id)
@@ -2622,14 +2633,20 @@ static int __devinit rtl8187_usb_probe(s
 
        priv->udev=udev;
 
+#ifdef HAVE_NET_DEVICE_OPS
+       dev->netdev_ops = &rtl8180_netdev_ops;
+#else
        dev->open = rtl8180_open;
        dev->stop = rtl8180_close;
+       dev->get_stats = rtl8180_stats;
        //dev->hard_start_xmit = rtl8180_8023_hard_start_xmit;
        dev->tx_timeout = tx_timeout;
        dev->wireless_handlers = &r8180_wx_handlers_def;
        dev->do_ioctl = rtl8180_ioctl;
        dev->set_multicast_list = r8180_set_multicast;
        dev->set_mac_address = r8180_set_mac_adr;
+#endif
+
 #if WIRELESS_EXT >= 12
 #if WIRELESS_EXT < 17
        dev->get_wireless_stats = r8180_get_wireless_stats;
diff -udpr rtl8187_linux_26.1010.0622.2006/ieee80211/ieee80211_module.c rtl8187_linux_26.1010.0622.2006_2.6.32/ieee80211/ieee80211_module.c
--- rtl8187_linux_26.1010.0622.2006/ieee80211/ieee80211_module.c        2010-01-31 11:32:06.000000000 -0500
+++ rtl8187_linux_26.1010.0622.2006_2.6.32/ieee80211/ieee80211_module.c 2010-01-31 09:25:48.000000000 -0500
@@ -117,8 +117,12 @@ struct net_device *alloc_ieee80211_rtl7(
                IEEE80211_ERROR("Unable to network device.\n");
                goto failed;
        }
+
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0) 
        ieee = netdev_priv(dev);
-       dev->hard_start_xmit = ieee80211_xmit_rtl7;
+#else
+       ieee = (struct ieee80211_device *)dev->priv;
+#endif
 
        ieee->dev = dev;
 
diff -udpr rtl8187_linux_26.1010.0622.2006/ieee80211/ieee80211_rx.c rtl8187_linux_26.1010.0622.2006_2.6.32/ieee80211/ieee80211_rx.c
--- rtl8187_linux_26.1010.0622.2006/ieee80211/ieee80211_rx.c    2010-01-31 11:28:19.000000000 -0500
+++ rtl8187_linux_26.1010.0622.2006_2.6.32/ieee80211/ieee80211_rx.c     2010-01-31 11:49:16.000000000 -0500
@@ -104,7 +104,12 @@ static inline void ieee80211_monitor_rx_
 hdr->f.did = LWNG_CAP_DID_BASE | (i << 12); \
 hdr->f.status = s; hdr->f.len = l; hdr->f.data = d
                LWNG_SETVAL(hosttime, 1, 0, 4, jiffies);
-               LWNG_SETVAL(mactime, 2, 0, 4, ((u32)rx_stats->mac_time));
+
+               hdr->mactime.did = LWNG_CAP_DID_BASE | (2 << 12);
+               hdr->mactime.status = 0;
+               hdr->mactime.len = 4;
+               hdr->mactime.data = rx_stats->mac_time[0];
+
                LWNG_SETVAL(channel, 3, 1 /* no value */, 4, 0);
                LWNG_SETVAL(rssi, 4, 1 /* no value */, 4, 0);
                LWNG_SETVAL(sq, 5, 1 /* no value */, 4, 0);
diff -udpr rtl8187_linux_26.1010.0622.2006/ieee80211/ieee80211_tx.c rtl8187_linux_26.1010.0622.2006_2.6.32/ieee80211/ieee80211_tx.c
--- rtl8187_linux_26.1010.0622.2006/ieee80211/ieee80211_tx.c    2010-01-31 11:32:06.000000000 -0500
+++ rtl8187_linux_26.1010.0622.2006_2.6.32/ieee80211/ieee80211_tx.c     2010-01-31 11:17:55.000000000 -0500
@@ -511,3 +511,4 @@ int ieee80211_xmit_rtl7(struct sk_buff *
 }
 
 EXPORT_SYMBOL(ieee80211_txb_free_rtl7);
+EXPORT_SYMBOL(ieee80211_xmit_rtl7);

Generated by GNU Enscript 1.6.5.90.