summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Gwynne <dlg@cvs.openbsd.org>2013-11-14 12:41:15 +0000
committerDavid Gwynne <dlg@cvs.openbsd.org>2013-11-14 12:41:15 +0000
commit730a972c469fd9885708bf6d98f3f1480259670f (patch)
treecac04fc471f945f7703ff639d20dfd22af4b400e
parent9629eeb4896781c95966d9ea1f9dcb19ff7250f4 (diff)
replace workqs with tasks for handling resume. state handling is
still in workqs. from kimberley manning
-rw-r--r--sys/dev/pci/if_ipw.c8
-rw-r--r--sys/dev/pci/if_ipwvar.h4
2 files changed, 7 insertions, 5 deletions
diff --git a/sys/dev/pci/if_ipw.c b/sys/dev/pci/if_ipw.c
index 49116a3a2f2..5bcdd04a692 100644
--- a/sys/dev/pci/if_ipw.c
+++ b/sys/dev/pci/if_ipw.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_ipw.c,v 1.96 2013/08/07 01:06:35 bluhm Exp $ */
+/* $OpenBSD: if_ipw.c,v 1.97 2013/11/14 12:41:14 dlg Exp $ */
/*-
* Copyright (c) 2004-2008
@@ -25,6 +25,7 @@
#include <sys/param.h>
#include <sys/sockio.h>
+#include <sys/task.h>
#include <sys/workq.h>
#include <sys/mbuf.h>
#include <sys/kernel.h>
@@ -170,6 +171,8 @@ ipw_attach(struct device *parent, struct device *self, void *aux)
sc->sc_pct = pa->pa_pc;
sc->sc_pcitag = pa->pa_tag,
+ task_set(&sc->sc_resume_t, ipw_resume, sc, NULL);
+
/* clear device specific PCI configuration register 0x41 */
data = pci_conf_read(sc->sc_pct, sc->sc_pcitag, 0x40);
data &= ~0x0000ff00;
@@ -301,8 +304,7 @@ ipw_activate(struct device *self, int act)
ipw_stop(ifp, 0);
break;
case DVACT_RESUME:
- workq_queue_task(NULL, &sc->sc_resume_wqt, 0,
- ipw_resume, sc, NULL);
+ task_add(systq, &sc->sc_resume_t);
break;
}
diff --git a/sys/dev/pci/if_ipwvar.h b/sys/dev/pci/if_ipwvar.h
index 4f4b7f41a02..d750c8be143 100644
--- a/sys/dev/pci/if_ipwvar.h
+++ b/sys/dev/pci/if_ipwvar.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_ipwvar.h,v 1.21 2010/09/07 16:21:45 deraadt Exp $ */
+/* $OpenBSD: if_ipwvar.h,v 1.22 2013/11/14 12:41:14 dlg Exp $ */
/*-
* Copyright (c) 2004-2006
@@ -128,7 +128,7 @@ struct ipw_softc {
uint32_t rxcur;
int txfree;
- struct workq_task sc_resume_wqt;
+ struct task sc_resume_t;
#if NBPFILTER > 0
caddr_t sc_drvbpf;