PERFORCE change 130056 for review
Hans Petter Selasky
hselasky at FreeBSD.org
Sun Dec 2 14:36:55 PST 2007
http://perforce.freebsd.org/chv.cgi?CH=130056
Change 130056 by hselasky at hselasky_laptop001 on 2007/12/02 22:35:58
Update "if_rum.c" according to "if_ural.c"
in change 130054 .
Affected files ...
.. //depot/projects/usb/src/sys/dev/usb/if_rum.c#18 edit
Differences ...
==== //depot/projects/usb/src/sys/dev/usb/if_rum.c#18 (text+ko) ====
@@ -1320,6 +1320,8 @@
uint32_t temp_len;
uint8_t align;
+ ic->ic_lastdata = ticks;
+
if (m->m_pkthdr.len > MCLBYTES) {
DPRINTF(sc, 0, "data overflow, %u bytes\n",
m->m_pkthdr.len);
@@ -1425,6 +1427,17 @@
wh = mtod(m, struct ieee80211_frame *);
+ if (wh->i_fc[1] & IEEE80211_FC1_WEP) {
+ k = ieee80211_crypto_encap(ic, ni, m);
+ if (k == NULL) {
+ goto error;
+ }
+ /*
+ * packet header may have moved, reset our
+ * local pointer
+ */
+ wh = mtod(m, struct ieee80211_frame *);
+ }
if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) {
flags |= RT2573_TX_NEED_ACK;
@@ -1455,6 +1468,12 @@
if (m) {
+ /*
+ * Cancel any background scan.
+ */
+ if (ic->ic_flags & IEEE80211_F_SCAN) {
+ ieee80211_cancel_scan(ic);
+ }
if (m->m_len < sizeof(struct ether_header)) {
m = m_pullup(m, sizeof(struct ether_header));
@@ -2677,7 +2696,6 @@
struct rum_config_copy *cc, uint16_t refcount)
{
struct rum_tx_desc desc;
- struct ieee80211com *ic = &(sc->sc_ic);
struct ieee80211_node *ni = sc->sc_ic.ic_bss;
struct mbuf *m;
uint16_t rate;
@@ -2685,7 +2703,7 @@
if ((sc->sc_flags & RUM_FLAG_LL_READY) &&
(sc->sc_flags & RUM_FLAG_HL_READY)) {
- m = ieee80211_beacon_alloc(ic, ic->ic_bss, &sc->sc_bo);
+ m = ieee80211_beacon_alloc(ni, &sc->sc_bo);
if (m == NULL) {
return;
}
More information about the p4-projects
mailing list