diff options
Diffstat (limited to 'sys/dev/usb')
-rw-r--r-- | sys/dev/usb/if_rum.c | 6 | ||||
-rw-r--r-- | sys/dev/usb/if_ural.c | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/sys/dev/usb/if_rum.c b/sys/dev/usb/if_rum.c index ca80573..e2c5a18 100644 --- a/sys/dev/usb/if_rum.c +++ b/sys/dev/usb/if_rum.c @@ -1406,6 +1406,11 @@ rum_start(struct ifnet *ifp) ifp->if_drv_flags |= IFF_DRV_OACTIVE; break; } + /* + * Cancel any background scan. + */ + if (ic->ic_flags & IEEE80211_F_SCAN) + ieee80211_cancel_scan(ic); if (m0->m_len < sizeof (struct ether_header) && !(m0 = m_pullup(m0, sizeof (struct ether_header)))) @@ -1436,6 +1441,7 @@ rum_start(struct ifnet *ifp) } sc->sc_tx_timer = 5; + ic->ic_lastdata = ticks; callout_reset(&sc->watchdog_ch, hz, rum_watchdog, sc); } } diff --git a/sys/dev/usb/if_ural.c b/sys/dev/usb/if_ural.c index 9dc052b..47de4d7 100644 --- a/sys/dev/usb/if_ural.c +++ b/sys/dev/usb/if_ural.c @@ -1472,6 +1472,11 @@ ural_start(struct ifnet *ifp) ifp->if_drv_flags |= IFF_DRV_OACTIVE; break; } + /* + * Cancel any background scan. + */ + if (ic->ic_flags & IEEE80211_F_SCAN) + ieee80211_cancel_scan(ic); if (m0->m_len < sizeof (struct ether_header) && !(m0 = m_pullup(m0, sizeof (struct ether_header)))) @@ -1502,6 +1507,7 @@ ural_start(struct ifnet *ifp) } sc->sc_tx_timer = 5; + ic->ic_lastdata = ticks; callout_reset(&sc->watchdog_ch, hz, ural_watchdog, sc); } } |