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