Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src-draft/trunk]: src/sys/dev/pci Add if_start function similar to iwn(4).
details: https://anonhg.NetBSD.org/src-all/rev/0762eeb7f168
branches: trunk
changeset: 377163:0762eeb7f168
user: Nathanial Sloss <nat%netbsd.org@localhost>
date: Tue Jun 27 22:42:06 2023 +1000
description:
Add if_start function similar to iwn(4).
This may be required for ieee80211_if_transmit.
As iwm(4) does not work yet this was compile tested only.
diffstat:
sys/dev/pci/if_iwm.c | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
diffs (37 lines):
diff -r aedd970bded3 -r 0762eeb7f168 sys/dev/pci/if_iwm.c
--- a/sys/dev/pci/if_iwm.c Tue Jun 27 22:39:57 2023 +1000
+++ b/sys/dev/pci/if_iwm.c Tue Jun 27 22:42:06 2023 +1000
@@ -493,6 +493,7 @@ static void iwm_tt_tx_backoff(struct iwm
static int iwm_init_hw(struct iwm_softc *);
static int iwm_init(struct iwm_softc *);
static void iwm_start(struct iwm_softc *);
+static void iwm_start_ifp(struct ifnet *);
static void iwm_stop(struct iwm_softc *);
#ifdef notyet
static void iwm_watchdog(struct ifnet *);
@@ -6892,6 +6893,16 @@ iwm_init(struct iwm_softc *sc)
}
static void
+iwm_start_ifp(struct ifnet *ifp)
+{
+ struct ieee80211vap *vap = ifp->if_softc;
+ struct ieee80211com *ic = vap->iv_ic;
+ struct iwm_softc *sc = ic->ic_softc;
+
+ iwm_start(sc);
+}
+
+static void
iwm_start(struct iwm_softc *sc)
{
struct ieee80211vap *vap = NULL;
@@ -8344,6 +8355,8 @@ iwm_vap_create(struct ieee80211com *ic,
vap->vap.iv_reset = iwm_reset;
vap->newstate = vap->vap.iv_newstate;
vap->vap.iv_newstate = iwm_newstate;
+ vap->vap.iv_ifp->if_start = iwm_start_ifp;
+ vap->vap.iv_ifp->if_extflags |= IFEF_MPSAFE;
/* Use common softint-based if_input */
vap->vap.iv_ifp->if_percpuq = if_percpuq_create(vap->vap.iv_ifp);
Home |
Main Index |
Thread Index |
Old Index