Seems to work in master mode on x86_64 2.6.23.1
-Bryan
--- zd1211-r85/src/zd1205.h.orig 2007-11-11 21:04:33.000000000 -0800
+++ zd1211-r85/src/zd1205.h 2007-11-11 21:04:43.000000000 -0800
@@ -613,7 +613,7 @@
{
struct net_device_stats net_stats;
/* ath_desc: added iw_get_stats */
-#ifdef CONFIG_NET_WIRELESS
+#ifdef CONFIG_WIRELESS_EXT
struct iw_statistics iw_stats;
#endif
unsigned long tx_late_col;
--- zd1211-r85/src/zd1211.c.orig 2007-02-24 15:31:17.000000000 -0800
+++ zd1211-r85/src/zd1211.c 2007-11-11 21:05:06.000000000 -0800
@@ -1801,7 +1801,7 @@
extern struct iw_handler_def p80211wext_handler_def;
/* ath_desc: added iw_get_stats */
-#ifdef CONFIG_NET_WIRELESS
+#ifdef CONFIG_WIRELESS_EXT
extern struct iw_statistics *zd1205wext_iw_get_stats(struct net_device *);
#endif
--- zd1211-r85/src/zddebug.c.orig 2007-02-24 15:31:17.000000000 -0800
+++ zd1211-r85/src/zddebug.c 2007-11-11 21:30:37.000000000 -0800
@@ -527,12 +527,15 @@
macp->rxOffset = zdreq->value;
break;
+/* 1. security risk; 2. 32-bit only. */
+#if 0
case ZD_IOCTL_MEM_DUMP:
zd1205_dump_data("mem", (u8 *)zdreq->addr, zdreq->value);
//memcpy(&zdreq->data[0], (u8 *)zdreq->addr, zdreq->value);
//if (copy_to_user(ifr->ifr_data, &zdreq, sizeof (zdreq)))
//return -EFAULT;
break;
+#endif
case ZD_IOCTL_RATE:
/* Check for the validation of vale */
--- zd1211-r85/src/zd1205.c.orig 2007-02-24 15:31:17.000000000 -0800
+++ zd1211-r85/src/zd1205.c 2007-11-11 22:16:15.000000000 -0800
@@ -4156,10 +4156,11 @@
zd_ReceivePkt(pHdr, hdrLen, pBody, bodyLen, (void
*)skb, EthHdr, &macp->rxInfo);
macp->bDataTrafficLight = 1;
} else {
- skb->tail = skb->data = pHdr;
+ skb->data = pHdr;
+ skb_reset_tail_pointer(skb);
/* ath_desc: fix monitor mode frame length */
skb_put(skb, data_sz - PLCP_HEADER - EXTRA_INFO_LEN -
CRC32_LEN);
- skb->mac.raw = skb->data;
+ skb_reset_mac_header(skb);
skb->pkt_type = PACKET_OTHERHOST;
skb->protocol = __constant_htons(ETH_P_802_2);
skb->dev = dev;
@@ -9412,12 +9413,13 @@
if (skb) {
skb->dev = g_dev;
skb_reserve(skb, 2);
- eth_copy_and_sum(skb, pData, length, 0);
+ memcpy(skb->data, pData, length);
skb_put(skb, length);
}
} else {
- skb->tail = skb->data = pData;
+ skb->data = pData;
+ skb_reset_tail_pointer(skb);
skb_put(skb, length);
}
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Zd1211-devs mailing list - http://zd1211.wiki.sourceforge.net/
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/zd1211-devs