diff options
author | Stefan Sperling <stsp@cvs.openbsd.org> | 2015-10-05 13:05:09 +0000 |
---|---|---|
committer | Stefan Sperling <stsp@cvs.openbsd.org> | 2015-10-05 13:05:09 +0000 |
commit | 3e9cff91cbcf678fd2a4783415fa0fa01d8a43ea (patch) | |
tree | ba063773091938efdbc429efc91d297771a8737f /sys/dev/pci/if_iwmvar.h | |
parent | 0af18f754da440aee69968dade84e8a72da4c937 (diff) |
Simplify iwm(4) newstate task by only queuing one state transition
at a time. The newstate task now always transitions to the most
recently requested state, rather than hopping along with every request.
This allows us get rid of the silly newstate generation counter, and
we can now task_del() a pending transition when the interface goes down.
While several issues with this driver remain, I believe this change
does not introduce new problems.
Tested by myself, jasper@, and zhuk@
Diffstat (limited to 'sys/dev/pci/if_iwmvar.h')
-rw-r--r-- | sys/dev/pci/if_iwmvar.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/pci/if_iwmvar.h b/sys/dev/pci/if_iwmvar.h index 96f5eec5044..7644ec8f306 100644 --- a/sys/dev/pci/if_iwmvar.h +++ b/sys/dev/pci/if_iwmvar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: if_iwmvar.h,v 1.9 2015/06/15 08:06:12 stsp Exp $ */ +/* $OpenBSD: if_iwmvar.h,v 1.10 2015/10/05 13:05:08 stsp Exp $ */ /* * Copyright (c) 2014 genua mbh <info@genua.de> @@ -364,6 +364,9 @@ struct iwm_softc { struct timeout sc_led_blink_to; struct task init_task; + struct task newstate_task; + enum ieee80211_state ns_nstate; + int ns_arg; bus_space_tag_t sc_st; bus_space_handle_t sc_sh; |