<feed xmlns='http://www.w3.org/2005/Atom'>
<title>litmus-rt.git/drivers/net/wireless/rtl818x, branch tracing-devel</title>
<subtitle>The LITMUS^RT kernel.</subtitle>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/'/>
<entry>
<title>rtl8187: Fix sparse warnings</title>
<updated>2009-11-10T21:21:15+00:00</updated>
<author>
<name>Larry Finger</name>
<email>Larry.Finger@lwfinger.net</email>
</author>
<published>2009-11-09T22:56:06+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=3da0d662e3911ca8345f049627533eeb1a2f820a'/>
<id>3da0d662e3911ca8345f049627533eeb1a2f820a</id>
<content type='text'>
Due to a missing header include, sparse generates the following warnings:

  CHECK   drivers/net/wireless/rtl818x/rtl8187_rfkill.c
warning: symbol 'rtl8187_rfkill_init' was not declared. Should it be static?
warning: symbol 'rtl8187_rfkill_poll' was not declared. Should it be static?
warning: symbol 'rtl8187_rfkill_exit' was not declared. Should it be static?

Signed-off-by: Larry Finger &lt;Larry.Finger@lwfinger.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Due to a missing header include, sparse generates the following warnings:

  CHECK   drivers/net/wireless/rtl818x/rtl8187_rfkill.c
warning: symbol 'rtl8187_rfkill_init' was not declared. Should it be static?
warning: symbol 'rtl8187_rfkill_poll' was not declared. Should it be static?
warning: symbol 'rtl8187_rfkill_exit' was not declared. Should it be static?

Signed-off-by: Larry Finger &lt;Larry.Finger@lwfinger.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rtl8187: Fix kernel oops when device is removed when LEDS enabled</title>
<updated>2009-11-05T00:20:50+00:00</updated>
<author>
<name>Larry Finger</name>
<email>Larry.Finger@lwfinger.net</email>
</author>
<published>2009-11-04T06:00:25+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=37b12dd2b07b4d7dc222a5f7f88b25cec532b2aa'/>
<id>37b12dd2b07b4d7dc222a5f7f88b25cec532b2aa</id>
<content type='text'>
As reported by Rick Farina (sidhayn@gmail.com), removing the RTL8187
USB stick, or unloading the driver rtl8187 using rmmod will cause a
kernel oops.  There are at least two forms of the failure, (1) BUG:
Scheduling while atomic, and (2) a fatal kernel page fault. This
problem is reported in Bugzilla #14539.

This problem does not occur for kernel 2.6.31, but does for 2.6.32-rc2,
thus it is technically a regression; however, bisection did not locate
any faulty patch. The fix was found by comparing the faulty code in
rtl8187 with p54usb.  My interpretation is that the handling of work
queues in mac80211 changed enough to the LEDs to be unregistered
before tasks on the work queues are cancelled. Previously, these
actions could be done in either order.

(Herton Ronaldo Krzesinski &lt;herton@mandriva.com.br&gt; reports that the
code is the same in 2.6.31, so this may be a candidate for 2.6.31.x.
-- JWL)

Signed-off-by: Larry Finger &lt;Larry.Finger@lwfinger.net&gt;
Reported-by: Rick Farina &lt;sidhayn@gmail.com&gt;
Tested-by: Rick Farina &lt;sidhayn@gmail.com&gt;
Cc: stable@kernel.org
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As reported by Rick Farina (sidhayn@gmail.com), removing the RTL8187
USB stick, or unloading the driver rtl8187 using rmmod will cause a
kernel oops.  There are at least two forms of the failure, (1) BUG:
Scheduling while atomic, and (2) a fatal kernel page fault. This
problem is reported in Bugzilla #14539.

This problem does not occur for kernel 2.6.31, but does for 2.6.32-rc2,
thus it is technically a regression; however, bisection did not locate
any faulty patch. The fix was found by comparing the faulty code in
rtl8187 with p54usb.  My interpretation is that the handling of work
queues in mac80211 changed enough to the LEDs to be unregistered
before tasks on the work queues are cancelled. Previously, these
actions could be done in either order.

(Herton Ronaldo Krzesinski &lt;herton@mandriva.com.br&gt; reports that the
code is the same in 2.6.31, so this may be a candidate for 2.6.31.x.
-- JWL)

Signed-off-by: Larry Finger &lt;Larry.Finger@lwfinger.net&gt;
Reported-by: Rick Farina &lt;sidhayn@gmail.com&gt;
Tested-by: Rick Farina &lt;sidhayn@gmail.com&gt;
Cc: stable@kernel.org
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6</title>
<updated>2009-09-02T07:32:56+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2009-09-02T07:32:56+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=6cdee2f96a97f6da26bd3759c3f8823332fbb438'/>
<id>6cdee2f96a97f6da26bd3759c3f8823332fbb438</id>
<content type='text'>
Conflicts:
	drivers/net/yellowfin.c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	drivers/net/yellowfin.c
</pre>
</div>
</content>
</entry>
<entry>
<title>rtl8187: Implement rfkill support</title>
<updated>2009-08-28T18:40:52+00:00</updated>
<author>
<name>Herton Ronaldo Krzesinski</name>
<email>herton@mandriva.com.br</email>
</author>
<published>2009-08-26T16:54:09+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=ca9152e37f57259ca92486ca5753af16fd9155c6'/>
<id>ca9152e37f57259ca92486ca5753af16fd9155c6</id>
<content type='text'>
This change implements rfkill support for RTL8187B and RTL8187L devices,
using new cfg80211 rfkill API.

Acked-by: Larry Finger &lt;Larry.Finger@lwfinger.net&gt;
Tested-by: Hin-Tak Leung &lt;htl10@users.sourceforge.net&gt;
Signed-off-by: Herton Ronaldo Krzesinski &lt;herton@mandriva.com.br&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change implements rfkill support for RTL8187B and RTL8187L devices,
using new cfg80211 rfkill API.

Acked-by: Larry Finger &lt;Larry.Finger@lwfinger.net&gt;
Tested-by: Hin-Tak Leung &lt;htl10@users.sourceforge.net&gt;
Signed-off-by: Herton Ronaldo Krzesinski &lt;herton@mandriva.com.br&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rtl8187: fix circular locking (rtl8187_stop/rtl8187_work)</title>
<updated>2009-08-28T18:40:51+00:00</updated>
<author>
<name>Herton Ronaldo Krzesinski</name>
<email>herton@mandriva.com.br</email>
</author>
<published>2009-08-26T16:54:08+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=6a8171f261eec3577c2a5985e3a2b51377e48931'/>
<id>6a8171f261eec3577c2a5985e3a2b51377e48931</id>
<content type='text'>
Larry Finger reports following lockdep warning:

[ INFO: possible circular locking dependency detected ]
2.6.31-rc6-wl #201
-------------------------------------------------------
rfkill/30578 is trying to acquire lock:
 (&amp;(&amp;priv-&gt;work)-&gt;work#2){+.+...}, at: [&lt;ffffffff81051215&gt;]
__cancel_work_timer+0xd9/0x222

but task is already holding lock:
 (&amp;priv-&gt;conf_mutex#2){+.+.+.}, at: [&lt;ffffffffa064a024&gt;]
rtl8187_stop+0x31/0x364 [rtl8187]

which lock already depends on the new lock.

the existing dependency chain (in reverse order) is:

-&gt; #1 (&amp;priv-&gt;conf_mutex#2){+.+.+.}:
       [&lt;ffffffff81065957&gt;] __lock_acquire+0x12d0/0x1614
       [&lt;ffffffff81065d54&gt;] lock_acquire+0xb9/0xdd
       [&lt;ffffffff8127c32f&gt;] mutex_lock_nested+0x56/0x2a8
       [&lt;ffffffffa064a392&gt;] rtl8187_work+0x3b/0xf2 [rtl8187]
       [&lt;ffffffff81050758&gt;] worker_thread+0x1fa/0x30a
       [&lt;ffffffff81054ca5&gt;] kthread+0x8f/0x97
       [&lt;ffffffff8100cb7a&gt;] child_rip+0xa/0x20
       [&lt;ffffffffffffffff&gt;] 0xffffffffffffffff

-&gt; #0 (&amp;(&amp;priv-&gt;work)-&gt;work#2){+.+...}:
       [&lt;ffffffff8106568c&gt;] __lock_acquire+0x1005/0x1614
       [&lt;ffffffff81065d54&gt;] lock_acquire+0xb9/0xdd
       [&lt;ffffffff8105124e&gt;] __cancel_work_timer+0x112/0x222
       [&lt;ffffffff8105136b&gt;] cancel_delayed_work_sync+0xd/0xf
       [&lt;ffffffffa064a33f&gt;] rtl8187_stop+0x34c/0x364 [rtl8187]
       [&lt;ffffffffa0242866&gt;] ieee80211_stop_device+0x29/0x61 [mac80211]
       [&lt;ffffffffa0239194&gt;] ieee80211_stop+0x476/0x530 [mac80211]
       [&lt;ffffffff8120ce15&gt;] dev_close+0x8a/0xac
       [&lt;ffffffffa01d9fa7&gt;] cfg80211_rfkill_set_block+0x4a/0x7a [cfg80211]
       [&lt;ffffffffa01bf4f0&gt;] rfkill_set_block+0x84/0xd9 [rfkill]
       [&lt;ffffffffa01bfc31&gt;] rfkill_fop_write+0xda/0x124 [rfkill]
       [&lt;ffffffff810cf286&gt;] vfs_write+0xae/0x14a
       [&lt;ffffffff810cf3e6&gt;] sys_write+0x47/0x6e
       [&lt;ffffffff8100ba6b&gt;] system_call_fastpath+0x16/0x1b
       [&lt;ffffffffffffffff&gt;] 0xffffffffffffffff

The problem here is that rtl8187_stop, while helding priv-&gt;conf_mutex,
runs cancel_delayed_work_sync on an workqueue that runs rtl8187_work,
which also takes priv-&gt;conf_mutex lock. Move cancel_delayed_work_sync
out of rtl8187_stop priv-&gt;conf_mutex locking region.

Reported-by: Larry Finger &lt;Larry.Finger@lwfinger.net&gt;
Tested-by: Larry Finger &lt;Larry.Finger@lwfinger.net&gt;
Signed-off-by: Herton Ronaldo Krzesinski &lt;herton@mandriva.com.br&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Larry Finger reports following lockdep warning:

[ INFO: possible circular locking dependency detected ]
2.6.31-rc6-wl #201
-------------------------------------------------------
rfkill/30578 is trying to acquire lock:
 (&amp;(&amp;priv-&gt;work)-&gt;work#2){+.+...}, at: [&lt;ffffffff81051215&gt;]
__cancel_work_timer+0xd9/0x222

but task is already holding lock:
 (&amp;priv-&gt;conf_mutex#2){+.+.+.}, at: [&lt;ffffffffa064a024&gt;]
rtl8187_stop+0x31/0x364 [rtl8187]

which lock already depends on the new lock.

the existing dependency chain (in reverse order) is:

-&gt; #1 (&amp;priv-&gt;conf_mutex#2){+.+.+.}:
       [&lt;ffffffff81065957&gt;] __lock_acquire+0x12d0/0x1614
       [&lt;ffffffff81065d54&gt;] lock_acquire+0xb9/0xdd
       [&lt;ffffffff8127c32f&gt;] mutex_lock_nested+0x56/0x2a8
       [&lt;ffffffffa064a392&gt;] rtl8187_work+0x3b/0xf2 [rtl8187]
       [&lt;ffffffff81050758&gt;] worker_thread+0x1fa/0x30a
       [&lt;ffffffff81054ca5&gt;] kthread+0x8f/0x97
       [&lt;ffffffff8100cb7a&gt;] child_rip+0xa/0x20
       [&lt;ffffffffffffffff&gt;] 0xffffffffffffffff

-&gt; #0 (&amp;(&amp;priv-&gt;work)-&gt;work#2){+.+...}:
       [&lt;ffffffff8106568c&gt;] __lock_acquire+0x1005/0x1614
       [&lt;ffffffff81065d54&gt;] lock_acquire+0xb9/0xdd
       [&lt;ffffffff8105124e&gt;] __cancel_work_timer+0x112/0x222
       [&lt;ffffffff8105136b&gt;] cancel_delayed_work_sync+0xd/0xf
       [&lt;ffffffffa064a33f&gt;] rtl8187_stop+0x34c/0x364 [rtl8187]
       [&lt;ffffffffa0242866&gt;] ieee80211_stop_device+0x29/0x61 [mac80211]
       [&lt;ffffffffa0239194&gt;] ieee80211_stop+0x476/0x530 [mac80211]
       [&lt;ffffffff8120ce15&gt;] dev_close+0x8a/0xac
       [&lt;ffffffffa01d9fa7&gt;] cfg80211_rfkill_set_block+0x4a/0x7a [cfg80211]
       [&lt;ffffffffa01bf4f0&gt;] rfkill_set_block+0x84/0xd9 [rfkill]
       [&lt;ffffffffa01bfc31&gt;] rfkill_fop_write+0xda/0x124 [rfkill]
       [&lt;ffffffff810cf286&gt;] vfs_write+0xae/0x14a
       [&lt;ffffffff810cf3e6&gt;] sys_write+0x47/0x6e
       [&lt;ffffffff8100ba6b&gt;] system_call_fastpath+0x16/0x1b
       [&lt;ffffffffffffffff&gt;] 0xffffffffffffffff

The problem here is that rtl8187_stop, while helding priv-&gt;conf_mutex,
runs cancel_delayed_work_sync on an workqueue that runs rtl8187_work,
which also takes priv-&gt;conf_mutex lock. Move cancel_delayed_work_sync
out of rtl8187_stop priv-&gt;conf_mutex locking region.

Reported-by: Larry Finger &lt;Larry.Finger@lwfinger.net&gt;
Tested-by: Larry Finger &lt;Larry.Finger@lwfinger.net&gt;
Signed-off-by: Herton Ronaldo Krzesinski &lt;herton@mandriva.com.br&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rtl8187: always set MSR_LINK_ENEDCA flag with RTL8187B</title>
<updated>2009-08-21T16:44:07+00:00</updated>
<author>
<name>Herton Ronaldo Krzesinski</name>
<email>herton@mandriva.com.br</email>
</author>
<published>2009-08-21T00:16:17+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=1a9937b7f07ab6e35515e32a7625f0ba50ab7670'/>
<id>1a9937b7f07ab6e35515e32a7625f0ba50ab7670</id>
<content type='text'>
RTL8187B always needs MSR_LINK_ENEDCA flag to be set even when it is in
no link mode, otherwise it'll not be able to associate when this flag is
not set after the change "mac80211: fix managed mode BSSID handling".

By accident, setting BSSID of AP before association makes 8187B to
successfuly associate even when ENEDCA flag isn't set, which was the
case before the mac80211 change. But now the BSSID of AP we are trying
to associate is only available after association is successful, and
any attempt to associate without the needed flag doesn't work.

Signed-off-by: Herton Ronaldo Krzesinski &lt;herton@mandriva.com.br&gt;
Tested-by: Larry Finger &lt;Larry.Finger@lwfinger.net&gt;
Acked-by: Hin-Tak Leung &lt;htl10@users.sourceforge.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
RTL8187B always needs MSR_LINK_ENEDCA flag to be set even when it is in
no link mode, otherwise it'll not be able to associate when this flag is
not set after the change "mac80211: fix managed mode BSSID handling".

By accident, setting BSSID of AP before association makes 8187B to
successfuly associate even when ENEDCA flag isn't set, which was the
case before the mac80211 change. But now the BSSID of AP we are trying
to associate is only available after association is successful, and
any attempt to associate without the needed flag doesn't work.

Signed-off-by: Herton Ronaldo Krzesinski &lt;herton@mandriva.com.br&gt;
Tested-by: Larry Finger &lt;Larry.Finger@lwfinger.net&gt;
Acked-by: Hin-Tak Leung &lt;htl10@users.sourceforge.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: allow configure_filter callback to sleep</title>
<updated>2009-08-20T15:35:58+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes@sipsolutions.net</email>
</author>
<published>2009-08-17T14:16:53+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=3ac64beecd27400d12cc7afb4108eef26c499f6a'/>
<id>3ac64beecd27400d12cc7afb4108eef26c499f6a</id>
<content type='text'>
Over time, a whole bunch of drivers have come up
with their own scheme to delay the configure_filter
operation to a workqueue. To be able to simplify
things, allow configure_filter to sleep, and add
a new prepare_multicast callback that drivers that
need the multicast address list implement. This new
callback must be atomic, but most drivers either
don't care or just calculate a hash which can be
done atomically and then uploaded to the hardware
non-atomically.

A cursory look suggests that at76c50x-usb, ar9170,
mwl8k (which is actually very broken now), rt2x00,
wl1251, wl1271 and zd1211 should make use of this
new capability.

Signed-off-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Over time, a whole bunch of drivers have come up
with their own scheme to delay the configure_filter
operation to a workqueue. To be able to simplify
things, allow configure_filter to sleep, and add
a new prepare_multicast callback that drivers that
need the multicast address list implement. This new
callback must be atomic, but most drivers either
don't care or just calculate a hash which can be
done atomically and then uploaded to the hardware
non-atomically.

A cursory look suggests that at76c50x-usb, ar9170,
mwl8k (which is actually very broken now), rt2x00,
wl1251, wl1271 and zd1211 should make use of this
new capability.

Signed-off-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rtl818x: Add some documentation to the TX desc flags</title>
<updated>2009-08-14T13:13:55+00:00</updated>
<author>
<name>Michael Buesch</name>
<email>mb@bu3sch.de</email>
</author>
<published>2009-08-09T15:57:30+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=3ecee182d68621d1f9a813f15153883ca221dd0b'/>
<id>3ecee182d68621d1f9a813f15153883ca221dd0b</id>
<content type='text'>
Add some TX desc flags docs.

Signed-off-by: Michael Buesch &lt;mb@bu3sch.de&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add some TX desc flags docs.

Signed-off-by: Michael Buesch &lt;mb@bu3sch.de&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: redefine usage of the mac80211 workqueue</title>
<updated>2009-08-04T20:44:14+00:00</updated>
<author>
<name>Luis R. Rodriguez</name>
<email>lrodriguez@atheros.com</email>
</author>
<published>2009-07-30T00:08:07+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=42935ecaf4e784d0815afa9a7e5fe7e141157ca3'/>
<id>42935ecaf4e784d0815afa9a7e5fe7e141157ca3</id>
<content type='text'>
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 &lt;lrodriguez@atheros.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;lrodriguez@atheros.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6</title>
<updated>2009-07-24T02:03:51+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2009-07-24T02:03:51+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=74d154189d597b91da4322996dbf4f5c3d1544ab'/>
<id>74d154189d597b91da4322996dbf4f5c3d1544ab</id>
<content type='text'>
Conflicts:
	drivers/net/wireless/iwmc3200wifi/netdev.c
	net/wireless/scan.c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	drivers/net/wireless/iwmc3200wifi/netdev.c
	net/wireless/scan.c
</pre>
</div>
</content>
</entry>
</feed>
