<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/net/mac80211/driver-ops.c, branch v4.4.78</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>mac80211: pass block ack session timeout to to driver</title>
<updated>2017-05-20T12:27:03+00:00</updated>
<author>
<name>Sara Sharon</name>
<email>sarasharon1@gmail.com</email>
</author>
<published>2015-12-30T14:06:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d13333edbcc7e931e63bd94feb7f81d7d990986a'/>
<id>d13333edbcc7e931e63bd94feb7f81d7d990986a</id>
<content type='text'>
commit 50ea05efaf3bed7dd34bcc2635a8b3f53bd0ccc1 upstream.

Currently mac80211 does not inform the driver of the session
block ack timeout when starting a rx aggregation session.
Drivers that manage the reorder buffer need to know this
parameter.
Seeing that there are now too many arguments for the
drv_ampdu_action() function, wrap them inside a structure.

Signed-off-by: Sara Sharon &lt;sara.sharon@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Amit Pundir &lt;amit.pundir@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 50ea05efaf3bed7dd34bcc2635a8b3f53bd0ccc1 upstream.

Currently mac80211 does not inform the driver of the session
block ack timeout when starting a rx aggregation session.
Drivers that manage the reorder buffer need to know this
parameter.
Seeing that there are now too many arguments for the
drv_ampdu_action() function, wrap them inside a structure.

Signed-off-by: Sara Sharon &lt;sara.sharon@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Amit Pundir &lt;amit.pundir@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: document sleep requirements for channel context ops</title>
<updated>2015-11-03T10:15:48+00:00</updated>
<author>
<name>Chaitanya T K</name>
<email>chaitanya.mgit@gmail.com</email>
</author>
<published>2015-10-30T17:46:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=dcae9e0203dfd887a7413cd38d1f87aaac1127f4'/>
<id>dcae9e0203dfd887a7413cd38d1f87aaac1127f4</id>
<content type='text'>
Channel context driver operations can sleep, so add might_sleep()
and document this.

Signed-off-by: Chaitanya T K &lt;chaitanya.mgit@gmail.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Channel context driver operations can sleep, so add might_sleep()
and document this.

Signed-off-by: Chaitanya T K &lt;chaitanya.mgit@gmail.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: call drv_stop only if driver is started</title>
<updated>2015-11-03T09:41:12+00:00</updated>
<author>
<name>Eliad Peller</name>
<email>eliad@wizery.com</email>
</author>
<published>2015-10-25T08:59:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=968a76cef3d1bb9a3b4d135cd788056e742859f3'/>
<id>968a76cef3d1bb9a3b4d135cd788056e742859f3</id>
<content type='text'>
If drv_start() fails during hw_restart, all the running
interfaces are being closed/stopped, which results in
drv_stop() being called, although the driver was never
started successfully.

This might cause drivers to perform operations on uninitialized
memory (as they assume it was initialized on drv_start)

Consider the local-&gt;started flag, and call the driver's stop()
op only if drv_start() succeeded before.

Move drv_start() and drv_stop() to driver-ops.c, as they are no
longer simple wrappers.

Signed-off-by: Eliad Peller &lt;eliadx.peller@intel.com&gt;
Signed-off-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If drv_start() fails during hw_restart, all the running
interfaces are being closed/stopped, which results in
drv_stop() being called, although the driver was never
started successfully.

This might cause drivers to perform operations on uninitialized
memory (as they assume it was initialized on drv_start)

Consider the local-&gt;started flag, and call the driver's stop()
op only if drv_start() succeeded before.

Move drv_start() and drv_stop() to driver-ops.c, as they are no
longer simple wrappers.

Signed-off-by: Eliad Peller &lt;eliadx.peller@intel.com&gt;
Signed-off-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: Deinline drv_get/set/reset_tsf()</title>
<updated>2015-09-29T13:56:49+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>dvlasenk@redhat.com</email>
</author>
<published>2015-09-23T12:18:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=416eb9fc29469f036c85b412edf89774d6b34b0f'/>
<id>416eb9fc29469f036c85b412edf89774d6b34b0f</id>
<content type='text'>
With this .config: http://busybox.net/~vda/kernel_config_ALLYES_Os,
after deinlining these functions have sizes and callsite counts
as follows:

drv_get_tsf: 634 bytes, 6 calls
drv_set_tsf: 626 bytes, 2 calls
drv_reset_tsf: 617 bytes, 2 calls

Total size reduction is about 4.2 kbytes.

Signed-off-by: Denys Vlasenko &lt;dvlasenk@redhat.com&gt;
CC: Johannes Berg &lt;johannes.berg@intel.com&gt;
CC: John Linville &lt;linville@tuxdriver.com&gt;
CC: Michal Kazior &lt;michal.kazior@tieto.com&gt;
CC: linux-wireless@vger.kernel.org
CC: linux-kernel@vger.kernel.org
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With this .config: http://busybox.net/~vda/kernel_config_ALLYES_Os,
after deinlining these functions have sizes and callsite counts
as follows:

drv_get_tsf: 634 bytes, 6 calls
drv_set_tsf: 626 bytes, 2 calls
drv_reset_tsf: 617 bytes, 2 calls

Total size reduction is about 4.2 kbytes.

Signed-off-by: Denys Vlasenko &lt;dvlasenk@redhat.com&gt;
CC: Johannes Berg &lt;johannes.berg@intel.com&gt;
CC: John Linville &lt;linville@tuxdriver.com&gt;
CC: Michal Kazior &lt;michal.kazior@tieto.com&gt;
CC: linux-wireless@vger.kernel.org
CC: linux-kernel@vger.kernel.org
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: Deinline drv_ampdu_action()</title>
<updated>2015-09-29T13:56:49+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>dvlasenk@redhat.com</email>
</author>
<published>2015-09-23T12:18:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6db96838971eb4c8ae6285795188f391e97d47c3'/>
<id>6db96838971eb4c8ae6285795188f391e97d47c3</id>
<content type='text'>
With this .config: http://busybox.net/~vda/kernel_config_ALLYES_Os,
after deinlining the function size is 755 bytes and there are
6 callsites.

Total size reduction is about 3.3 kbytes.

Signed-off-by: Denys Vlasenko &lt;dvlasenk@redhat.com&gt;
CC: Johannes Berg &lt;johannes.berg@intel.com&gt;
CC: John Linville &lt;linville@tuxdriver.com&gt;
CC: Michal Kazior &lt;michal.kazior@tieto.com&gt;
CC: linux-wireless@vger.kernel.org
CC: linux-kernel@vger.kernel.org
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With this .config: http://busybox.net/~vda/kernel_config_ALLYES_Os,
after deinlining the function size is 755 bytes and there are
6 callsites.

Total size reduction is about 3.3 kbytes.

Signed-off-by: Denys Vlasenko &lt;dvlasenk@redhat.com&gt;
CC: Johannes Berg &lt;johannes.berg@intel.com&gt;
CC: John Linville &lt;linville@tuxdriver.com&gt;
CC: Michal Kazior &lt;michal.kazior@tieto.com&gt;
CC: linux-wireless@vger.kernel.org
CC: linux-kernel@vger.kernel.org
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: Deinline drv_switch_vif_chanctx()</title>
<updated>2015-09-29T13:56:48+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>dvlasenk@redhat.com</email>
</author>
<published>2015-09-23T12:18:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=42677ed33a8b6995e6af2ec15643840afcf1c48b'/>
<id>42677ed33a8b6995e6af2ec15643840afcf1c48b</id>
<content type='text'>
With this .config: http://busybox.net/~vda/kernel_config_ALLYES_Os,
after deinlining the function size is 821 bytes and there are
2 callsites, reducing code size by about 800 bytes.

Signed-off-by: Denys Vlasenko &lt;dvlasenk@redhat.com&gt;
CC: Johannes Berg &lt;johannes.berg@intel.com&gt;
CC: John Linville &lt;linville@tuxdriver.com&gt;
CC: Michal Kazior &lt;michal.kazior@tieto.com&gt;
CC: linux-wireless@vger.kernel.org
CC: linux-kernel@vger.kernel.org
[adjust code-style a bit]
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With this .config: http://busybox.net/~vda/kernel_config_ALLYES_Os,
after deinlining the function size is 821 bytes and there are
2 callsites, reducing code size by about 800 bytes.

Signed-off-by: Denys Vlasenko &lt;dvlasenk@redhat.com&gt;
CC: Johannes Berg &lt;johannes.berg@intel.com&gt;
CC: John Linville &lt;linville@tuxdriver.com&gt;
CC: Michal Kazior &lt;michal.kazior@tieto.com&gt;
CC: linux-wireless@vger.kernel.org
CC: linux-kernel@vger.kernel.org
[adjust code-style a bit]
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: Deinline drv_add/remove/change_interface()</title>
<updated>2015-09-29T13:56:46+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>dvlasenk@redhat.com</email>
</author>
<published>2015-09-18T13:19:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9aae296a6208188fb40da987efb6bcd92f4fb169'/>
<id>9aae296a6208188fb40da987efb6bcd92f4fb169</id>
<content type='text'>
With this .config: http://busybox.net/~vda/kernel_config_ALLYES_Os,
after deinlining these functions have sizes and callsite counts
as follows:

drv_add_interface: 638 bytes, 5 calls
drv_remove_interface: 611 bytes, 6 calls
drv_change_interface: 658 bytes, 1 call

Total size reduction is about 9 kbytes.

Signed-off-by: Denys Vlasenko &lt;dvlasenk@redhat.com&gt;
CC: John Linville &lt;linville@tuxdriver.com&gt;
CC: Michal Kazior &lt;michal.kazior@tieto.com&gt;
CC: Johannes Berg &lt;johannes.berg@intel.com&gt;
CC: linux-wireless@vger.kernel.org
CC: linux-kernel@vger.kernel.org
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With this .config: http://busybox.net/~vda/kernel_config_ALLYES_Os,
after deinlining these functions have sizes and callsite counts
as follows:

drv_add_interface: 638 bytes, 5 calls
drv_remove_interface: 611 bytes, 6 calls
drv_change_interface: 658 bytes, 1 call

Total size reduction is about 9 kbytes.

Signed-off-by: Denys Vlasenko &lt;dvlasenk@redhat.com&gt;
CC: John Linville &lt;linville@tuxdriver.com&gt;
CC: Michal Kazior &lt;michal.kazior@tieto.com&gt;
CC: Johannes Berg &lt;johannes.berg@intel.com&gt;
CC: linux-wireless@vger.kernel.org
CC: linux-kernel@vger.kernel.org
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: Deinline drv_sta_rc_update()</title>
<updated>2015-09-29T13:56:45+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>dvlasenk@redhat.com</email>
</author>
<published>2015-09-18T13:19:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4fbd572c29bd184146e8adf52631db193c4e34b9'/>
<id>4fbd572c29bd184146e8adf52631db193c4e34b9</id>
<content type='text'>
With this .config: http://busybox.net/~vda/kernel_config_ALLYES_Os,
after deinlining the function size is 706 bytes and there are
2 callsites, reducing code size by about 700 bytes.

Signed-off-by: Denys Vlasenko &lt;dvlasenk@redhat.com&gt;
CC: John Linville &lt;linville@tuxdriver.com&gt;
CC: Michal Kazior &lt;michal.kazior@tieto.com&gt;
CC: Johannes Berg &lt;johannes.berg@intel.com&gt;
CC: linux-wireless@vger.kernel.org
CC: linux-kernel@vger.kernel.org
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With this .config: http://busybox.net/~vda/kernel_config_ALLYES_Os,
after deinlining the function size is 706 bytes and there are
2 callsites, reducing code size by about 700 bytes.

Signed-off-by: Denys Vlasenko &lt;dvlasenk@redhat.com&gt;
CC: John Linville &lt;linville@tuxdriver.com&gt;
CC: Michal Kazior &lt;michal.kazior@tieto.com&gt;
CC: Johannes Berg &lt;johannes.berg@intel.com&gt;
CC: linux-wireless@vger.kernel.org
CC: linux-kernel@vger.kernel.org
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: Deinline drv_conf_tx()</title>
<updated>2015-09-29T13:56:45+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>dvlasenk@redhat.com</email>
</author>
<published>2015-09-18T13:19:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b23dcd4aca1854cda520def01731ad035cae94d8'/>
<id>b23dcd4aca1854cda520def01731ad035cae94d8</id>
<content type='text'>
With this .config: http://busybox.net/~vda/kernel_config_ALLYES_Os,
after deinlining the function size is 785 bytes and there are
7 callsites.

Total size reduction is about 3.5 kbytes.

Signed-off-by: Denys Vlasenko &lt;dvlasenk@redhat.com&gt;
CC: John Linville &lt;linville@tuxdriver.com&gt;
CC: Michal Kazior &lt;michal.kazior@tieto.com&gt;
CC: Johannes Berg &lt;johannes.berg@intel.com&gt;
CC: linux-wireless@vger.kernel.org
CC: linux-kernel@vger.kernel.org
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With this .config: http://busybox.net/~vda/kernel_config_ALLYES_Os,
after deinlining the function size is 785 bytes and there are
7 callsites.

Total size reduction is about 3.5 kbytes.

Signed-off-by: Denys Vlasenko &lt;dvlasenk@redhat.com&gt;
CC: John Linville &lt;linville@tuxdriver.com&gt;
CC: Michal Kazior &lt;michal.kazior@tieto.com&gt;
CC: Johannes Berg &lt;johannes.berg@intel.com&gt;
CC: linux-wireless@vger.kernel.org
CC: linux-kernel@vger.kernel.org
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: deinline drv_sta_state</title>
<updated>2015-07-17T13:48:50+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>dvlasenk@redhat.com</email>
</author>
<published>2015-07-15T12:56:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=727da60be91c9fd59f1b084ca537b5123ab97744'/>
<id>727da60be91c9fd59f1b084ca537b5123ab97744</id>
<content type='text'>
With this .config: http://busybox.net/~vda/kernel_config,
after deinlining the function size is 3132 bytes and there are
7 callsites.

Total size reduction: about 20 kbytes.

Signed-off-by: Denys Vlasenko &lt;dvlasenk@redhat.com&gt;
CC: John Linville &lt;linville@tuxdriver.com&gt;
CC: Michal Kazior &lt;michal.kazior@tieto.com&gt;
Cc: Johannes Berg &lt;johannes.berg@intel.com&gt;
Cc: linux-wireless@vger.kernel.org
Cc: netdev@vger.kernel.org
CC: linux-kernel@vger.kernel.org
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With this .config: http://busybox.net/~vda/kernel_config,
after deinlining the function size is 3132 bytes and there are
7 callsites.

Total size reduction: about 20 kbytes.

Signed-off-by: Denys Vlasenko &lt;dvlasenk@redhat.com&gt;
CC: John Linville &lt;linville@tuxdriver.com&gt;
CC: Michal Kazior &lt;michal.kazior@tieto.com&gt;
Cc: Johannes Berg &lt;johannes.berg@intel.com&gt;
Cc: linux-wireless@vger.kernel.org
Cc: netdev@vger.kernel.org
CC: linux-kernel@vger.kernel.org
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
