Luis R. Rodriguez
42935ecaf4
mac80211: redefine usage of the mac80211 workqueue
...
The mac80211 workqueue exists to enable mac80211 and drivers
to queue their own work on a single threaded workqueue. mac80211
takes care to flush the workqueue during suspend but we never
really had requirements on drivers for how they should use
the workqueue in consideration for suspend.
We extend mac80211 to document how the mac80211 workqueue should
be used, how it should not be used and finally move raw access to
the workqueue to mac80211 only. Drivers and mac80211 use helpers
to queue work onto the mac80211 workqueue:
* ieee80211_queue_work()
* ieee80211_queue_delayed_work()
These helpers will now warn if mac80211 already completed its
suspend cycle and someone is trying to queue work. mac80211
flushes the mac80211 workqueue prior to suspend a few times,
but we haven't taken the care to ensure drivers won't add more
work after suspend. To help with this we add a warning when
someone tries to add work and mac80211 already completed the
suspend cycle.
Drivers should ensure they cancel any work or delayed work
in the mac80211 stop() callback.
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-04 16:44:14 -04:00
..
9p
net/9p: handle correctly interrupted 9P requests
2009-04-05 16:54:53 -05:00
bluetooth
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6
2009-06-11 05:47:43 -07:00
irda
irda: Add irda_skb_cb qdisc related padding
2008-12-17 15:44:58 -08:00
iucv
af_iucv: Return -EAGAIN if iucv msg limit is exceeded
2009-06-19 00:10:40 -07:00
netfilter
netfilter: tcp conntrack: fix unacknowledged data detection with NAT
2009-06-29 14:07:56 +02:00
netns
net, netns_xt: shrink netns_xt members
2009-07-05 19:16:18 -07:00
phonet
Phonet: sockets list through proc_fs
2009-07-23 17:58:19 -07:00
sctp
net: Move rx skb_orphan call to where needed
2009-06-23 16:36:25 -07:00
tc_act
tipc
act_api.h
addrconf.h
ipv6: Fix conflict resolutions during ipv6 binding
2009-03-24 19:49:11 -07:00
af_ieee802154.h
ieee802154: move headers out of extra directory
2009-07-23 17:08:51 +04:00
af_rxrpc.h
af_unix.h
net: Fix soft lockups/OOM issues w/ unix garbage collector
2008-11-26 15:32:27 -08:00
ah.h
arp.h
atmclip.h
clip: convert to internal network_device_stats
2009-01-21 14:01:59 -08:00
ax25.h
ax88796.h
ax88796: Add method to take MAC from platform data
2009-03-24 23:32:03 -07:00
cfg80211.h
cfg80211: combine IWESSID handlers
2009-07-29 15:46:18 -04:00
checksum.h
include/net net/ - csum_partial - remove unnecessary casts
2008-11-19 15:44:53 -08:00
cipso_ipv4.h
netlabel: Label incoming TCP connections correctly in SELinux
2009-03-28 15:01:36 +11:00
compat.h
datalink.h
dcbnl.h
net: fix DCB setstate to return success/failure
2008-12-21 20:09:50 -08:00
dn.h
decnet: compile fix for removal of byteorder wrapper
2008-11-27 23:04:13 -08:00
dn_dev.h
dn_fib.h
decnet: remove private wrappers of endian helpers
2008-11-27 00:12:47 -08:00
dn_neigh.h
dn_nsp.h
dn_route.h
dsa.h
dsa: add switch chip cascading support
2009-03-21 19:06:54 -07:00
dsfield.h
dst.h
net: skb->dst accessors
2009-06-03 02:51:04 -07:00
esp.h
ethoc.h
net: Add support for the OpenCores 10/100 Mbps Ethernet MAC.
2009-03-27 00:16:21 -07:00
fib_rules.h
net: Remove unused parameter from fill method in fib_rules_ops.
2009-05-20 17:26:23 -07:00
flow.h
netns xfrm: lookup in netns
2008-11-25 17:35:18 -08:00
garp.h
gen_stats.h
pkt_sched: gen_estimator: Optimize gen_estimator_active()
2008-11-26 15:24:32 -08:00
genetlink.h
genetlink: make netns aware
2009-07-12 14:03:27 -07:00
icmp.h
ieee80211_radiotap.h
wireless: radiotap updates
2009-03-27 20:12:52 -04:00
ieee802154.h
ieee802154: move headers out of extra directory
2009-07-23 17:08:51 +04:00
ieee802154_netdev.h
ieee802154: move headers out of extra directory
2009-07-23 17:08:51 +04:00
if_inet6.h
ipv6: reorder struct inet6_ifaddr to remove padding on 64 bit builds
2009-03-21 13:29:05 -07:00
inet6_connection_sock.h
inet6_hashtables.h
net: skb->dst accessors
2009-06-03 02:51:04 -07:00
inet_common.h
inet_connection_sock.h
inet_ecn.h
net: replace __constant_{endian} uses in net headers
2009-02-14 22:58:35 -08:00
inet_frag.h
inet fragments: fix sparse warning: context imbalance
2009-02-26 23:13:35 -08:00
inet_hashtables.h
net: skb->dst accessors
2009-06-03 02:51:04 -07:00
inet_sock.h
Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck
2009-06-16 13:09:51 -07:00
inet_timewait_sock.h
net: annotate inet_timewait_sock bitfields
2009-06-15 15:49:32 +02:00
inetpeer.h
ip.h
snmp: add missing counters for RFC 4293
2009-04-27 02:45:02 -07:00
ip6_checksum.h
ip6_fib.h
xfrm: select sane defaults for xfrm[4|6] gc_thresh
2009-07-30 18:52:15 -07:00
ip6_route.h
net: skb->dst accessors
2009-06-03 02:51:04 -07:00
ip6_tunnel.h
ip_fib.h
ipv4: remove unused macro (FIB_RES_RESET) from ip_fib.h.
2009-05-03 14:19:51 -07:00
ip_vs.h
IPVS: use pr_err and friends instead of IP_VS_ERR and friends
2009-08-02 18:29:30 -07:00
ipcomp.h
ipconfig.h
ipip.h
sit: stateless autoconf for isatap
2009-05-19 16:02:02 -07:00
ipv6.h
udpv6: Remove unused skb argument of ipv6_select_ident()
2009-07-12 14:29:28 -07:00
ipx.h
net: replace __constant_{endian} uses in net headers
2009-02-14 22:58:35 -08:00
iw_handler.h
wext: constify extra argument to wireless_send_event
2009-07-10 15:01:49 -04:00
lapb.h
lib80211.h
wireless: missing include in lib80211.h
2008-11-21 11:42:55 -05:00
llc.h
llc_c_ac.h
llc_c_ev.h
llc_c_st.h
llc_conn.h
llc_if.h
llc_pdu.h
llc_s_ac.h
llc_s_ev.h
llc_s_st.h
llc_sap.h
mac80211.h
mac80211: redefine usage of the mac80211 workqueue
2009-08-04 16:44:14 -04:00
mip6.h
ndisc.h
ipv6: Fix sporadic sendmsg -EINVAL when sending to multicast groups.
2009-01-04 16:04:39 -08:00
neighbour.h
neigh: Convert garbage collection from softirq to workqueue
2009-08-02 18:35:16 -07:00
net_namespace.h
net: explain netns notifiers a little better
2009-07-20 08:03:00 -07:00
netdma.h
net_dma: convert to dma_find_channel
2009-01-06 11:38:15 -07:00
netevent.h
netlabel.h
netlabel: Cleanup the Smack/NetLabel code to fix incoming TCP connections
2009-03-28 15:01:37 +11:00
netlink.h
netfilter: conntrack: add support for DCCP handshake sequence to ctnetlink
2009-05-27 17:50:35 +02:00
netrom.h
netrom: convert to internal net_device_stats
2009-01-21 14:02:01 -08:00
nexthop.h
nl802154.h
ieee802154: move headers out of extra directory
2009-07-23 17:08:51 +04:00
p8022.h
pkt_cls.h
ematch: simpler tcf_em_unregister()
2008-11-16 23:01:49 -08:00
pkt_sched.h
pkt_sched: Rename PSCHED_US2NS and PSCHED_NS2US
2009-06-15 02:31:47 -07:00
protocol.h
ipv6: Use correct data types for ICMPv6 type and code
2009-06-23 04:31:07 -07:00
psnap.h
snap: use const for descriptor
2009-03-21 19:06:50 -07:00
raw.h
rawv6.h
ipv6: Use correct data types for ICMPv6 type and code
2009-06-23 04:31:07 -07:00
red.h
regulatory.h
cfg80211: clean up includes
2009-04-22 16:57:17 -04:00
request_sock.h
net: Fix memory leak in the proto_register function
2008-11-21 16:45:22 -08:00
rose.h
NET: ROSE: Don't use static buffer.
2009-07-26 19:11:14 -07:00
route.h
net: skb->rtable accessor
2009-06-03 02:51:02 -07:00
rtnetlink.h
sch_generic.h
net: reorder struct Qdisc for better SMP performance
2009-03-20 01:33:32 -07:00
scm.h
cleanup: remove unused member in scm_cookie.
2009-07-05 19:16:10 -07:00
slhc_vj.h
snmp.h
snmp: add missing counters for RFC 4293
2009-04-27 02:45:02 -07:00
sock.h
net: sock_copy() fixes
2009-07-16 18:05:26 -07:00
stp.h
tcp.h
tcp: Fix MD5 signature checking on IPv4 mapped sockets
2009-07-20 07:49:07 -07:00
tcp_states.h
timewait_sock.h
net: Fix memory leak in the proto_register function
2008-11-21 16:45:22 -08:00
transp_v6.h
net: replace __constant_{endian} uses in net headers
2009-02-14 22:58:35 -08:00
udp.h
udpv4: Handle large incoming UDP/IPv4 packets and support software UFO.
2009-07-12 14:29:21 -07:00
udplite.h
udp: introduce struct udp_table and multiple spinlocks
2008-10-29 01:41:45 -07:00
wext.h
wimax.h
rfkill: rewrite
2009-06-03 14:06:13 -04:00
x25.h
x25: Fix sleep from timer on socket destroy.
2009-06-16 05:40:30 -07:00
x25device.h
xfrm.h
xfrm: select sane defaults for xfrm[4|6] gc_thresh
2009-07-30 18:52:15 -07:00