<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/net/mac80211/mesh_sync.c, branch linux-4.4.y</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=linux-4.4.y</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=linux-4.4.y'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2017-11-30T08:37:27+00:00</updated>
<entry>
<title>mac80211: Remove invalid flag operations in mesh TSF synchronization</title>
<updated>2017-11-30T08:37:27+00:00</updated>
<author>
<name>Masashi Honma</name>
<email>masashi.honma@gmail.com</email>
</author>
<published>2016-12-08T01:15:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=9825826ed7bd7ab22e835b88508f00057b2848c0'/>
<id>urn:sha1:9825826ed7bd7ab22e835b88508f00057b2848c0</id>
<content type='text'>
[ Upstream commit 76f43b4c0a9337af22827d78de4f2b8fd5328489 ]

mesh_sync_offset_adjust_tbtt() implements Extensible synchronization
framework ([1] 13.13.2 Extensible synchronization framework). It shall
not operate the flag "TBTT Adjusting subfield" ([1] 8.4.2.100.8 Mesh
Capability), since it is used only for MBCA ([1] 13.13.4 Mesh beacon
collision avoidance, see 13.13.4.4.3 TBTT scanning and adjustment
procedures for detail). So this patch remove the flag operations.

[1] IEEE Std 802.11 2012

Signed-off-by: Masashi Honma &lt;masashi.honma@gmail.com&gt;
[remove adjusting_tbtt entirely, since it's now unused]
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;

Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>mac80211: move mesh related station fields to own struct</title>
<updated>2015-07-17T13:38:06+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2015-06-17T08:31:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=433f5bc1c0efc67a86433e47a14b115510fc1409'/>
<id>urn:sha1:433f5bc1c0efc67a86433e47a14b115510fc1409</id>
<content type='text'>
There are now a fairly large number of mesh fields that really
aren't needed in any other modes; move those into their own
structure and allocate them separately.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: remove BUG_ON usage</title>
<updated>2014-04-29T15:59:27+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2014-04-29T15:55:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8c5bb1fad0bb9c29f7d817c1e2fdb052b76f04e9'/>
<id>urn:sha1:8c5bb1fad0bb9c29f7d817c1e2fdb052b76f04e9</id>
<content type='text'>
These BUG_ON statements should never trigger, but in the unlikely
event that somebody does manage don't stop everything but simply
exit the code path with an error.

Leave the one BUG_ON where changing it would result in a NULL
pointer dereference.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: update adjusting TBTT bit in beacon</title>
<updated>2013-12-16T13:21:22+00:00</updated>
<author>
<name>Thomas Pedersen</name>
<email>thomas@cozybit.com</email>
</author>
<published>2013-12-15T21:14:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=43552be1da3c420931c89727b6115b7fa35368f8'/>
<id>urn:sha1:43552be1da3c420931c89727b6115b7fa35368f8</id>
<content type='text'>
This regression was introduced in "mac80211: cache mesh
beacon".

mesh_sync_offset_adjust_tbtt()  was assuming that the
beacon would be rebuilt in every single pre-tbtt
interrupt, but now the beacon update happens on the
workqueue, and it must be ready for immediate delivery to
the driver.

Save a pointer to the meshconf IE in the beacon_data (this
works because both the IE pointer and beacon buffer are
protected by the same rcu_{dereference,assign_pointer}())
for quick updates during pre-tbtt. This is faster and a
little prettier than iterating over the elements to find
the meshconf IE every time.

Signed-off-by: Thomas Pedersen &lt;thomas@cozybit.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: mesh: only get tsf if we need it</title>
<updated>2013-12-02T10:51:52+00:00</updated>
<author>
<name>Bob Copeland</name>
<email>me@bobcopeland.com</email>
</author>
<published>2013-11-18T22:25:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ce95320443c72ba43f8f9c6ceb276673cc30e2ce'/>
<id>urn:sha1:ce95320443c72ba43f8f9c6ceb276673cc30e2ce</id>
<content type='text'>
The local TSF timer is used to compute the timing offset between
mesh peers on beacon reception.  However, asking the device for
the TSF is not very accurate, so we prefer to use rx-&gt;mactime
if available.  In the latter case, calling drv_get_tsf() just
adds more delay into the RX path, so skip it if we can.

Signed-off-by: Bob Copeland &lt;bob@cozybit.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: clean up mesh code</title>
<updated>2013-02-15T14:46:37+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2013-02-15T13:40:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=bf7cd94dcc71682cd6af4a9028f95307b7db41c5'/>
<id>urn:sha1:bf7cd94dcc71682cd6af4a9028f95307b7db41c5</id>
<content type='text'>
There's various code with strange indentation,
questionable loop and locking constructs, etc.

The bigger change is moving the "sdata" argument
to the first argument of all functions, like all
other mac80211 functions that have one.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: fix for mesh sync to indicate TBTT adjustment</title>
<updated>2012-11-30T11:41:46+00:00</updated>
<author>
<name>Marco Porsch</name>
<email>marco.porsch@etit.tu-chemnitz.de</email>
</author>
<published>2012-11-23T20:23:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=372039031c62886c8c5b57a7b0111446e9caefa8'/>
<id>urn:sha1:372039031c62886c8c5b57a7b0111446e9caefa8</id>
<content type='text'>
Currently the mesh sync code checks, whether peers indicate TBTT adjustment,
but it never sets the corresponding flag itself.

By setting ifmsh-&gt;tbtt_adjusting to true, it will set the corresponding field
in the mesh configuration IE of own beacons.
This indication will be set in the current beacon. The TBTT adjustment will be
performed afterwards, affecting the next beacon. Thus, the first beacon with
stable TBTT will not indicate adjustment anymore and peers will continue
tracking the new offset.

Signed-off-by: Marco Porsch &lt;marco.porsch@etit.tu-chemnitz.de&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: move Mesh Capability field definition to ieee80211.h</title>
<updated>2012-11-26T10:35:21+00:00</updated>
<author>
<name>Marco Porsch</name>
<email>marco.porsch@etit.tu-chemnitz.de</email>
</author>
<published>2012-11-22T02:40:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=65821635d26d3173a3b22781e2c60d5e6fcaeb22'/>
<id>urn:sha1:65821635d26d3173a3b22781e2c60d5e6fcaeb22</id>
<content type='text'>
Signed-off-by: Marco Porsch &lt;marco.porsch@etit.tu-chemnitz.de&gt;
[prefix with IEEE80211_]
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: support RX_FLAG_MACTIME_END</title>
<updated>2012-11-13T20:43:55+00:00</updated>
<author>
<name>Thomas Pedersen</name>
<email>thomas@cozybit.com</email>
</author>
<published>2012-11-13T18:46:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f4bda337bbb6e245e2a07f344990adeb6a70ff35'/>
<id>urn:sha1:f4bda337bbb6e245e2a07f344990adeb6a70ff35</id>
<content type='text'>
Allow drivers to indicate their mactime is at RX completion and adjust
for this in mac80211. Also rename the existing RX_FLAG_MACTIME_MPDU to
RX_FLAG_MACTIME_START to clarify its intent. Based on similar code by
Johannes Berg.

Signed-off-by: Thomas Pedersen &lt;thomas@cozybit.com&gt;
[fix docs, atheros drivers]
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: remove unimplemented mesh vendor sync</title>
<updated>2012-10-18T07:01:56+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2012-09-30T15:07:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8ba7acf376e39ff2b987bc8fb71eb599023af314'/>
<id>urn:sha1:8ba7acf376e39ff2b987bc8fb71eb599023af314</id>
<content type='text'>
There's no vendor-specific mesh sync implemented
and there don't need to be dummy handlers that
only print messages, so remove that code. While
at it, also constify the mesh sync ops.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
</feed>
