URL: http://svn.madwifi-project.org/madwifi/branches/madwifi-0.9.4
Repository Root: http://svn.madwifi-project.org
Repository UUID: 0192ed92-7a03-0410-a25b-9323aeb14dbd
-Revision: 4119
+Revision: 4133
Last Changed Author: proski
-Last Changed Rev: 4119
-Last Changed Date: 2010-01-31 08:06:30 +0100 (Sun, 31 Jan 2010)
+Last Changed Rev: 4133
+Last Changed Date: 2010-06-20 14:13:10 +0200 (Sun, 20 Jun 2010)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGES.
*
- * $Id: if_ath.c 4103 2010-01-09 08:47:02Z proski $
+ * $Id: if_ath.c 4133 2010-06-20 12:13:10Z proski $
*/
/*
{
struct ieee80211com *ic = &sc->sc_ic;
struct ieee80211vap *vap;
- struct dev_mc_list *mc;
+ struct ath_netdev_hw_addr *ha;
u_int32_t val;
u_int8_t pos;
/* XXX locking */
TAILQ_FOREACH(vap, &ic->ic_vaps, iv_next) {
struct net_device *dev = vap->iv_dev;
- for (mc = dev->mc_list; mc; mc = mc->next) {
+ netdev_for_each_mc_addr (ha, dev) {
/* calculate XOR of eight 6-bit values */
- val = LE_READ_4(mc->dmi_addr + 0);
+ val = LE_READ_4(ath_ha_addr(ha) + 0);
pos = (val >> 18) ^ (val >> 12) ^ (val >> 6) ^ val;
- val = LE_READ_4(mc->dmi_addr + 3);
+ val = LE_READ_4(ath_ha_addr(ha) + 3);
pos ^= (val >> 18) ^ (val >> 12) ^ (val >> 6) ^ val;
pos &= 0x3f;
mfilt[pos / 32] |= (1 << (pos % 32));
ATH_TXQ_LOCK(&avp->av_mcastq);
ATH_TXQ_LOCK(cabq);
bfmcast = STAILQ_FIRST(&avp->av_mcastq.axq_q);
- /* link the descriptors */
- if (cabq->axq_link == NULL)
- ath_hal_puttxbuf(ah, cabq->axq_qnum, bfmcast->bf_daddr);
- else {
+ if (bfmcast != NULL) {
+ /* link the descriptors */
+ if (cabq->axq_link == NULL)
+ ath_hal_puttxbuf(ah, cabq->axq_qnum,
+ bfmcast->bf_daddr);
+ else {
#ifdef AH_NEED_DESC_SWAP
- *cabq->axq_link = cpu_to_le32(bfmcast->bf_daddr);
+ *cabq->axq_link =
+ cpu_to_le32(bfmcast->bf_daddr);
#else
- *cabq->axq_link = bfmcast->bf_daddr;
+ *cabq->axq_link = bfmcast->bf_daddr;
#endif
+ }
}
/* Set the MORE_DATA bit for each packet except the last one */
%define mykrelver %(echo %{mykversion} | tr -s '-' '_')
# Define based on the tar ball extract.
# Those two variable will be instanced during the tarball generation
-%define revision 4119
-%define snapshot 20100201
+%define revision 4133
+%define snapshot 20100922
# branch is not used yet.
%define branch trunk
Summary: A linux device driver for Atheros chipsets (ar5210, ar5211, ar5212).
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGES.
*
- * $Id: compat.h 4103 2010-01-09 08:47:02Z proski $
+ * $Id: compat.h 4133 2010-06-20 12:13:10Z proski $
*/
#ifndef _ATH_COMPAT_H_
#define _ATH_COMPAT_H_
(type *)( (char *)__mptr - offsetof(type,member) );})
#endif
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,34)
+#define netdev_for_each_mc_addr(mclist, dev) \
+ for (mclist = dev->mc_list; mclist; mclist = mclist->next)
+#endif
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35)
+#define ath_netdev_hw_addr dev_mc_list
+#define ath_ha_addr(ha) ha->dmi_addr
+#else
+#define ath_netdev_hw_addr netdev_hw_addr
+#define ath_ha_addr(ha) ha->addr
+#endif
+
/*
* BSD/Linux compatibility shims. These are used mainly to
* minimize differences when importing necesary BSD code.
#define IRQF_SHARED SA_SHIRQ
#endif
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,27)
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,4,27)) || \
+ ((LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)) && \
+ ((LINUX_VERSION_CODE < KERNEL_VERSION(2,6,3))))
#define netdev_priv(_netdev) ((_netdev)->priv)
#endif
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: ieee80211_crypto_ccmp.c 2144 2007-02-21 20:58:48Z proski $
+ * $Id: ieee80211_crypto_ccmp.c 4126 2010-03-23 22:50:36Z proski $
*/
/*
ivp[7] = k->wk_keytsc >> 40; /* PN5 */
/*
- * Finally, do software encrypt if neeed.
+ * Finally, do software encrypt if needed.
*/
if ((k->wk_flags & IEEE80211_KEY_SWCRYPT) &&
!ccmp_encrypt(k, skb, hdrlen))
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: ieee80211_crypto_tkip.c 2028 2007-01-30 03:51:52Z proski $
+ * $Id: ieee80211_crypto_tkip.c 4126 2010-03-23 22:50:36Z proski $
*/
/*
ivp[7] = k->wk_keytsc >> 40; /* TSC5 */
/*
- * Finally, do software encrypt if neeed.
+ * Finally, do software encrypt if needed.
*/
if (k->wk_flags & IEEE80211_KEY_SWCRYPT) {
if (!tkip_encrypt(ctx, k, skb, hdrlen))
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: ieee80211_crypto_wep.c 1721 2006-09-20 08:45:13Z mentor $
+ * $Id: ieee80211_crypto_wep.c 4126 2010-03-23 22:50:36Z proski $
*/
/*
ivp[3] = keyid;
/*
- * Finally, do software encrypt if neeed.
+ * Finally, do software encrypt if needed.
*/
if ((k->wk_flags & IEEE80211_KEY_SWCRYPT) &&
!wep_encrypt(k, skb, hdrlen))
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: ieee80211_node.h 2607 2007-07-25 15:20:59Z mrenzmann $
+ * $Id: ieee80211_node.h 4126 2010-03-23 22:50:36Z proski $
*/
#ifndef _NET80211_IEEE80211_NODE_H_
#define _NET80211_IEEE80211_NODE_H_
u_int8_t ni_ath_flags; /* Atheros feature flags */
/* NB: These must have the same values as IEEE80211_ATHC_* */
#define IEEE80211_NODE_TURBOP 0x0001 /* Turbo prime enable */
-#define IEEE80211_NODE_COMP 0x0002 /* Compresssion enable */
+#define IEEE80211_NODE_COMP 0x0002 /* Compression enable */
#define IEEE80211_NODE_FF 0x0004 /* Fast Frame capable */
#define IEEE80211_NODE_XR 0x0008 /* Atheros WME enable */
#define IEEE80211_NODE_AR 0x0010 /* AR capable */
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGES.
*
- * $Id: wlanconfig.c 2088 2007-02-07 03:18:49Z proski $
+ * $Id: wlanconfig.c 4126 2010-03-23 22:50:36Z proski $
*/
/*
* These are taken from ieee80211_node.h
*/
#define IEEE80211_NODE_TURBOP 0x0001 /* Turbo prime enable */
-#define IEEE80211_NODE_COMP 0x0002 /* Compresssion enable */
+#define IEEE80211_NODE_COMP 0x0002 /* Compression enable */
#define IEEE80211_NODE_FF 0x0004 /* Fast Frame capable */
#define IEEE80211_NODE_XR 0x0008 /* Atheros WME enable */
#define IEEE80211_NODE_AR 0x0010 /* AR capable */