summaryrefslogtreecommitdiff
path: root/sys/dev/pci/if_iwmvar.h
diff options
context:
space:
mode:
authorStefan Sperling <stsp@cvs.openbsd.org>2015-10-05 13:05:09 +0000
committerStefan Sperling <stsp@cvs.openbsd.org>2015-10-05 13:05:09 +0000
commit3e9cff91cbcf678fd2a4783415fa0fa01d8a43ea (patch)
treeba063773091938efdbc429efc91d297771a8737f /sys/dev/pci/if_iwmvar.h
parent0af18f754da440aee69968dade84e8a72da4c937 (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.h5
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;