Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Feb 2008 05:46:16 GMT
From:      Sepherosa Ziehau <sephe@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 135425 for review
Message-ID:  <200802150546.m1F5kGTc005452@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=135425

Change 135425 by sephe@sephe_zealot:sam_wifi on 2008/02/15 05:45:20

	Revert previous two changes.

Affected files ...

.. //depot/projects/wifi/sys/dev/bwi/if_bwi.c#17 edit
.. //depot/projects/wifi/sys/dev/bwi/if_bwi_pci.c#6 edit

Differences ...

==== //depot/projects/wifi/sys/dev/bwi/if_bwi.c#17 (text+ko) ====

@@ -32,6 +32,7 @@
  * SUCH DAMAGE.
  * 
  * $DragonFly: src/sys/dev/netif/bwi/if_bwi.c,v 1.18 2008/01/15 09:01:13 sephe Exp $
+ * 1.8 is not merged
  */
 
 #include <sys/cdefs.h>
@@ -117,7 +118,7 @@
 static void	bwi_stop(struct bwi_softc *);
 static int	bwi_newbuf(struct bwi_softc *, int, int);
 static int	bwi_encap(struct bwi_softc *, int, struct mbuf *,
-			  struct ieee80211_node **);
+			  struct ieee80211_node *);
 
 static void	bwi_init_rxdesc_ring32(struct bwi_softc *, uint32_t,
 				       bus_addr_t, int, int);
@@ -1382,7 +1383,7 @@
 		}
 		wh = NULL;	/* Catch any invalid use */
 
-		if (bwi_encap(sc, idx, m, &ni) != 0) {
+		if (bwi_encap(sc, idx, m, ni) != 0) {
 			/* 'm' is freed in bwi_encap() if we reach here */
 			if (ni != NULL)
 				ieee80211_free_node(ni);
@@ -2921,10 +2922,9 @@
 
 static int
 bwi_encap(struct bwi_softc *sc, int idx, struct mbuf *m,
-	  struct ieee80211_node **ni0)
+	  struct ieee80211_node *ni)
 {
 	struct ieee80211com *ic = &sc->sc_ic;
-	struct ieee80211_node *ni = *ni0;
 	struct bwi_ring_data *rd = &sc->sc_tx_rdata[BWI_TX_DATA_RING];
 	struct bwi_txbuf_data *tbd = &sc->sc_tx_bdata[BWI_TX_DATA_RING];
 	struct bwi_txbuf *tb = &tbd->tbd_buf[idx];
@@ -2935,7 +2935,7 @@
 	uint32_t mac_ctrl;
 	uint16_t phy_ctrl;
 	bus_addr_t paddr;
-	int pkt_len, error, mcast_pkt = 0;
+	int pkt_len, error;
 #if 0
 	const uint8_t *p;
 	int i;
@@ -2954,10 +2954,9 @@
 	 * Find TX rate
 	 */
 	bzero(tb->tb_rate_idx, sizeof(tb->tb_rate_idx));
-	if (IEEE80211_IS_MULTICAST(wh->i_addr1)) {
+	if (IEEE80211_IS_MULTICAST(wh->i_addr1))
 		rate = rate_fb = ic->ic_mcast_rate;
-		mcast_pkt = 1;
-	} else if (ic->ic_fixed_rate == IEEE80211_FIXED_RATE_NONE) {
+	else if (ic->ic_fixed_rate == IEEE80211_FIXED_RATE_NONE) {
 		rate = ni->ni_rates.rs_rates[ni->ni_txrate] & 
 		    IEEE80211_RATE_VAL;
 		rate_fb = (ni->ni_txrate > 0) ?
@@ -3000,7 +2999,7 @@
 	bcopy(wh->i_fc, hdr->txh_fc, sizeof(hdr->txh_fc));
 	bcopy(wh->i_addr1, hdr->txh_addr1, sizeof(hdr->txh_addr1));
 
-	if (!mcast_pkt) {
+	if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) {
 		uint16_t dur;
 		uint8_t ack_rate;
 
@@ -3071,11 +3070,6 @@
 
 	bus_dmamap_sync(sc->sc_buf_dtag, tb->tb_dmap, BUS_DMASYNC_PREWRITE);
 
-	if (mcast_pkt) {
-		/* Don't involve mcast packets into TX rate control */
-		ieee80211_free_node(ni);
-		*ni0 = ni = NULL;
-	}
 	tb->tb_mbuf = m;
 	tb->tb_ni = ni;
 

==== //depot/projects/wifi/sys/dev/bwi/if_bwi_pci.c#6 (text+ko) ====

@@ -250,5 +250,4 @@
 MODULE_VERSION(if_bwi, 1);
 MODULE_DEPEND(if_bwi, wlan, 1, 1, 1);		/* 802.11 media layer */
 MODULE_DEPEND(if_bwi, firmware, 1, 1, 1);	/* firmware support */
-MODULE_DEPEND(if_bwi, bwi_v3_fw, 1, 1, 1);	/* v3 firmwares */
 MODULE_DEPEND(if_bwi, wlan_amrr, 1, 1, 1);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200802150546.m1F5kGTc005452>