View Single Post
Old 07-23-2005   #52 (permalink)
Dutch
Humourless EuroMod.
 
Dutch's Avatar
 
Join Date: Mar 2004
Location: City of Mermaids, Denmark
Posts: 6,813
Madwifi patch for reinjection can't be applied to the current cvs revision of the Madwifi driver, most probably due to the latter's changes to accomodate radiotap headers at a future date.

Hunks 1, 2, 6, 7, 9 & 10 fails.
Reject file follows :
Code:
***************
*** 1113,1119 ****
  	/*
  	 * Encapsulate the packet for transmission.
  	 */
- 	skb = ieee80211_encap(ic, skb, &ni);
  	if (skb == NULL) {
  		DPRINTF(sc, ATH_DEBUG_XMIT,
  			"%s: discard, encapsulation failure\n", __func__);
--- 1113,1120 ----
  	/*
  	 * Encapsulate the packet for transmission.
  	 */
+ 	if (ic->ic_opmode != IEEE80211_M_MONITOR)
+ 		skb = ieee80211_encap(ic, skb, &ni);
  	if (skb == NULL) {
  		DPRINTF(sc, ATH_DEBUG_XMIT,
  			"%s: discard, encapsulation failure\n", __func__);
***************
*** 2843,2849 ****
  	hdrlen = ieee80211_anyhdrsize(wh);
  	pktlen = skb->len;
  
- 	if (iswep) {
  		const struct ieee80211_cipher *cip;
  		struct ieee80211_key *k;
  
--- 2844,2850 ----
  	hdrlen = ieee80211_anyhdrsize(wh);
  	pktlen = skb->len;
  
+ 	if (iswep && ic->ic_opmode != IEEE80211_M_MONITOR) {
  		const struct ieee80211_cipher *cip;
  		struct ieee80211_key *k;
  
***************
*** 4309,4319 ****
  		break;
  	case IEEE80211_FC0_TYPE_DATA:
  		atype = HAL_PKT_TYPE_NORMAL;		/* default */
  		/*
  		 * Data frames; consult the rate control module.
  		 */
- 		ath_rate_findrate(sc, an, shortPreamble, skb->len,
- 			&rix, &try0, &txrate);
  		/*
  		 * Default all non-QoS traffic to the background queue.
  		 */
--- 4320,4333 ----
  		break;
  	case IEEE80211_FC0_TYPE_DATA:
  		atype = HAL_PKT_TYPE_NORMAL;		/* default */
+ 		rix = 0;			/* XXX lowest rate */
+ 		try0 = ATH_TXMAXTRY;
  		/*
  		 * Data frames; consult the rate control module.
  		 */
+ 		if (ic->ic_opmode != IEEE80211_M_MONITOR)
+ 			ath_rate_findrate(sc, an, shortPreamble, skb->len,
+ 				&rix, &try0, &txrate);
  		/*
  		 * Default all non-QoS traffic to the background queue.
  		 */
***************
*** 4324,4329 ****
  			txq = sc->sc_ac2q[WME_AC_BK];
  		break;
  	default:
  		printk("%s: bogus frame type 0x%x (%s)\n", dev->name,
  			wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK, __func__);
  		/* XXX statistic */
--- 4338,4348 ----
  			txq = sc->sc_ac2q[WME_AC_BK];
  		break;
  	default:
+         if (ic->ic_opmode == IEEE80211_M_MONITOR) {
+ 		    atype = HAL_PKT_TYPE_NORMAL;		/* default */
+ 			txq = sc->sc_ac2q[skb->priority];
+             break;
+         }
  		printk("%s: bogus frame type 0x%x (%s)\n", dev->name,
  			wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK, __func__);
  		/* XXX statistic */
***************
*** 4508,4514 ****
  		, pktlen		/* packet length */
  		, hdrlen		/* header length */
  		, atype			/* Atheros packet type */
- 		, MIN(ni->ni_txpower,60)/* txpower */
  		, txrate, try0		/* series 0 rate/tries */
  		, keyix			/* key cache index */
  		, sc->sc_txantenna	/* antenna mode */
--- 4533,4539 ----
  		, pktlen		/* packet length */
  		, hdrlen		/* header length */
  		, atype			/* Atheros packet type */
+ 		, 60                    /* txpower */
  		, txrate, try0		/* series 0 rate/tries */
  		, keyix			/* key cache index */
  		, sc->sc_txantenna	/* antenna mode */
***************
*** 4516,4521 ****
  		, ctsrate		/* rts/cts rate */
  		, ctsduration		/* rts/cts duration */
  	);
  	/*
  	 * Setup the multi-rate retry state only when we're
  	 * going to use it.  This assumes ath_hal_setuptxdesc
--- 4541,4547 ----
  		, ctsrate		/* rts/cts rate */
  		, ctsduration		/* rts/cts duration */
  	);
+ 
  	/*
  	 * Setup the multi-rate retry state only when we're
  	 * going to use it.  This assumes ath_hal_setuptxdesc
Dutch
__________________
All your answers are belong to Google. SEARCH DAMMIT!
Warning. Warning.
Low C8H10N4O2 level detected. Operator halted....
Dutch is offline   Reply With Quote