<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/mac80211/driver-ops.h, branch linux-2.6.34.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.34.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.34.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2010-02-08T21:51:01Z</updated>
<entry>
<title>mac80211: remove get_tx_stats() driver op</title>
<updated>2010-02-08T21:51:01Z</updated>
<author>
<name>Kalle Valo</name>
</author>
<published>2010-02-07T08:22:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=349e6b7289f8a3d3d5d3b859e00b41f27d1211df'/>
<id>urn:sha1:349e6b7289f8a3d3d5d3b859e00b41f27d1211df</id>
<content type='text'>
get_tx_stats() driver operation is not currently used anywhere in mac80211
and there are no plans to use it in the not-so-near future. So it can go
without anyone missing it.

Signed-off-by: Kalle Valo &lt;kalle.valo@iki.fi&gt;
Acked-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>mac80211: allow station add/remove to sleep</title>
<updated>2010-02-08T21:50:53Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2010-02-03T12:59:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=34e895075e21be3e21e71d6317440d1ee7969ad0'/>
<id>urn:sha1:34e895075e21be3e21e71d6317440d1ee7969ad0</id>
<content type='text'>
Many drivers would like to sleep during station
addition and removal, and currently have a high
complexity there from not being able to.

This introduces two new callbacks sta_add() and
sta_remove() that drivers can implement instead
of using sta_notify() and that can sleep, and
the new sta_add() callback is also allowed to
fail.

The reason we didn't do this previously is that
the IBSS code wants to insert stations from the
RX path, which is a tasklet, so cannot sleep.
This patch will keep the station allocation in
that path, but moves adding the station to the
driver out of line. Since the addition can now
fail, we can have IBSS peer structs the driver
rejected -- in that case we still talk to the
station but never tell the driver about it in
the control.sta pointer. If there will ever be
a driver that has a low limit on the number of
stations and that cannot talk to any stations
that are not known to it, we need to do come up
with a new strategy of handling larger IBSSs,
maybe quicker expiry or rejecting peers.

Signed-off-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>mac80211: fix update_tkip_key() documentation about the context</title>
<updated>2010-01-25T21:36:28Z</updated>
<author>
<name>Kalle Valo</name>
</author>
<published>2010-01-24T12:55:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=eb807fb23878bc319e029ed8ce3d835d239723a5'/>
<id>urn:sha1:eb807fb23878bc319e029ed8ce3d835d239723a5</id>
<content type='text'>
Johannes noticed that I had incorrectly documented the context of
update_tkip_key() driver operation. It must be atomic because all
RX code is run inside rcu critical section.

Reported-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: Kalle Valo &lt;kalle.valo@iki.fi&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>mac80211: pass vif and station to update_tkip_key</title>
<updated>2010-01-22T21:08:55Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2010-01-21T10:40:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b3fbdcf49f940d0703c356441e0daf045e64e076'/>
<id>urn:sha1:b3fbdcf49f940d0703c356441e0daf045e64e076</id>
<content type='text'>
When a TKIP key is updated, we should pass the station
pointer instead of just the address, since drivers can
use that to store their own data. We also need to pass
the virtual interface pointer.

Signed-off-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>mac80211: Add new callback set_coverage_class</title>
<updated>2010-01-12T18:50:07Z</updated>
<author>
<name>Lukáš Turek</name>
</author>
<published>2009-12-21T21:50:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=310bc676e314e92c18257bfc916951879451ee32'/>
<id>urn:sha1:310bc676e314e92c18257bfc916951879451ee32</id>
<content type='text'>
Mac80211 callback to driver set_coverage_class() sets slot time and ACK
timeout for given IEEE 802.11 coverage class. The callback is optional,
but it's essential for long distance links.

Signed-off-by: Lukas Turek &lt;8an@praha12.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>mac80211: annotate sleeping driver ops</title>
<updated>2009-12-28T21:55:10Z</updated>
<author>
<name>Kalle Valo</name>
</author>
<published>2009-12-23T12:15:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e1781ed33a8809c58ad6c3b6d432d656446efa43'/>
<id>urn:sha1:e1781ed33a8809c58ad6c3b6d432d656446efa43</id>
<content type='text'>
To make it easier to notice cases of calling sleeping ops in atomic context,
annotate driver-ops.h with appropiate might_sleep() calls. At the same time,
also document in mac80211.h the op functions with missing contexts.

mac80211 doesn't seem to use get_tx_stats anywhere currently. Just to be on
the safe side, I documented it to be atomic, but hopefully the op can be
removed in the future.

Compile-tested only.

Signed-off-by: Kalle Valo &lt;kalle.valo@iki.fi&gt;
Signed-off-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>mac80211: remove struct ieee80211_if_init_conf</title>
<updated>2009-12-28T21:55:07Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2009-12-23T12:15:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1ed32e4fc8cfc9656cc1101e7f9617d485fcbe7b'/>
<id>urn:sha1:1ed32e4fc8cfc9656cc1101e7f9617d485fcbe7b</id>
<content type='text'>
All its members (vif, mac_addr, type) are now available
in the vif struct directly, so we can pass that instead
of the conf struct. I generated this patch (except the
mac80211 and header file changes) with this semantic
patch:

@@
identifier conf, fn, hw;
type tp;
@@
tp fn(struct ieee80211_hw *hw,
-struct ieee80211_if_init_conf *conf)
+struct ieee80211_vif *vif)
{
&lt;...
(
-conf-&gt;type
+vif-&gt;type
|
-conf-&gt;mac_addr
+vif-&gt;addr
|
-conf-&gt;vif
+vif
)
...&gt;
}

Signed-off-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>mac80211: introduce flush operation</title>
<updated>2009-12-28T21:54:51Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2009-12-23T12:15:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a80f7c0b088187c8471b441d461e937991870661'/>
<id>urn:sha1:a80f7c0b088187c8471b441d461e937991870661</id>
<content type='text'>
We've long lacked a good confirmation that frames
have really gone out, e.g. before going off-channel
for a scan. Add a flush() operation that drivers
can implement to provide that confirmation, and use
it in a few places:
 * before scanning sends the nullfunc frames
 * after scanning sends the nullfunc frames, if any
 * when going idle, to send any pending frames

Signed-off-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>mac80211: trace interface name</title>
<updated>2009-12-21T23:38:54Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2009-11-25T19:30:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=12375ef933fa8271396ed0c1e318cb1bd2e2689d'/>
<id>urn:sha1:12375ef933fa8271396ed0c1e318cb1bd2e2689d</id>
<content type='text'>
It's not all that useful to have the vif/sdata pointer,
we'd rather refer to the interfaces by their name.

Signed-off-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>mac80211: reduce reliance on netdev</title>
<updated>2009-12-21T23:38:52Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2009-11-25T16:46:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=47846c9b0c10808d9337d2e7d09361f3e0a0a71a'/>
<id>urn:sha1:47846c9b0c10808d9337d2e7d09361f3e0a0a71a</id>
<content type='text'>
For bluetooth 3, we will most likely not have
a netdev for a virtual interface (sdata), so
prepare for that by reducing the reliance on
having a netdev. This patch moves the name
and address fields into the sdata struct and
uses them from there all over. Some work is
needed to keep them sync'ed, but that's not
a lot of work and in slow paths anyway.

In doing so, this also reduces the number of
pointer dereferences in many places, because
of things like sdata-&gt;dev-&gt;dev_addr becoming
sdata-&gt;vif.addr.

Signed-off-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
</feed>
