FreeBSD Bugzilla – Attachment 154384 Details for
Bug 197143
[wpi] [patch]: sync with iwn / OpenBSD wpi
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Use separate taskqueue for device restart
patch-wpi70.diff (text/plain), 2.29 KB, created by
Andriy Voskoboinyk
on 2015-03-15 14:25:54 UTC
(
hide
)
Description:
Use separate taskqueue for device restart
Filename:
MIME Type:
Creator:
Andriy Voskoboinyk
Created:
2015-03-15 14:25:54 UTC
Size:
2.29 KB
patch
obsolete
>Index: sys/dev/wpi/if_wpi.c >=================================================================== >--- sys/dev/wpi/if_wpi.c (revision 279775) >+++ sys/dev/wpi/if_wpi.c (working copy) >@@ -532,6 +532,14 @@ > TASK_INIT(&sc->sc_radioon_task, 0, wpi_radio_on, sc); > TASK_INIT(&sc->sc_start_task, 0, wpi_start_task, sc); > >+ sc->sc_tq = taskqueue_create("wpi_taskq", M_WAITOK, >+ taskqueue_thread_enqueue, &sc->sc_tq); >+ error = taskqueue_start_threads(&sc->sc_tq, 1, 0, "wpi_taskq"); >+ if (error != 0) { >+ device_printf(dev, "can't start threads, error %d\n", error); >+ goto fail; >+ } >+ > wpi_sysctlattach(sc); > > /* >@@ -688,6 +696,9 @@ > > wpi_stop(sc); > >+ taskqueue_drain_all(sc->sc_tq); >+ taskqueue_free(sc->sc_tq); >+ > callout_drain(&sc->watchdog_rfkill); > callout_drain(&sc->tx_timeout); > callout_drain(&sc->scan_timeout); >@@ -2387,8 +2398,6 @@ > WPI_WRITE(sc, WPI_FH_INT, r2); > > if (r1 & (WPI_INT_SW_ERR | WPI_INT_HW_ERR)) { >- struct ieee80211com *ic = ifp->if_l2com; >- > device_printf(sc->sc_dev, "fatal firmware error\n"); > #ifdef WPI_DEBUG > wpi_debug_registers(sc); >@@ -2397,7 +2406,7 @@ > DPRINTF(sc, WPI_DEBUG_HW, > "(%s)\n", (r1 & WPI_INT_SW_ERR) ? "(Software Error)" : > "(Hardware Error)"); >- ieee80211_runtask(ic, &sc->sc_reinittask); >+ taskqueue_enqueue(sc->sc_tq, &sc->sc_reinittask); > goto end; > } > >@@ -2950,10 +2959,9 @@ > { > struct wpi_softc *sc = arg; > struct ifnet *ifp = sc->sc_ifp; >- struct ieee80211com *ic = ifp->if_l2com; > > if_printf(ifp, "scan timeout\n"); >- ieee80211_runtask(ic, &sc->sc_reinittask); >+ taskqueue_enqueue(sc->sc_tq, &sc->sc_reinittask); > } > > static void >@@ -2961,11 +2969,10 @@ > { > struct wpi_softc *sc = arg; > struct ifnet *ifp = sc->sc_ifp; >- struct ieee80211com *ic = ifp->if_l2com; > > if_printf(ifp, "device timeout\n"); > if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); >- ieee80211_runtask(ic, &sc->sc_reinittask); >+ taskqueue_enqueue(sc->sc_tq, &sc->sc_reinittask); > } > > static int >Index: sys/dev/wpi/if_wpivar.h >=================================================================== >--- sys/dev/wpi/if_wpivar.h (revision 279775) >+++ sys/dev/wpi/if_wpivar.h (working copy) >@@ -228,6 +228,9 @@ > struct task sc_radioon_task; > struct task sc_start_task; > >+ /* Taskqueue */ >+ struct taskqueue *sc_tq; >+ > /* Eeprom info. */ > uint8_t cap; > uint16_t rev;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 197143
:
152282
|
152662
|
152977
|
153911
|
153977
|
153983
|
153985
|
153999
|
154000
|
154002
|
154006
|
154007
|
154009
|
154010
|
154011
|
154013
|
154015
|
154016
|
154017
|
154019
|
154020
|
154021
|
154022
|
154024
|
154026
|
154030
|
154032
|
154033
|
154328
|
154329
|
154330
|
154332
|
154334
|
154335
|
154336
|
154337
|
154338
|
154340
|
154341
|
154343
|
154346
|
154347
|
154348
|
154349
|
154350
|
154351
|
154352
|
154353
|
154354
|
154355
|
154356
|
154357
|
154358
|
154359
|
154360
|
154361
|
154362
|
154363
|
154364
|
154365
|
154366
|
154368
|
154369
|
154370
|
154371
|
154372
|
154373
|
154374
|
154375
|
154378
|
154379
|
154380
|
154381
|
154382
|
154383
| 154384 |
155332
|
155333
|
156164
|
156165
|
156166
|
156167
|
156168
|
156169
|
156170
|
156171
|
156172
|
156173
|
156174
|
156175
|
156176
|
156177
|
156178
|
156179
|
156180
|
156181
|
156182
|
156183
|
156184
|
156185
|
156186
|
156187
|
156188
|
156189
|
156190
|
156191
|
156192
|
156193
|
156194
|
156195