<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/mac80211/iface.c, branch linux-4.7.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.7.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.7.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-05-04T04:52:29Z</updated>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2016-05-04T04:52:29Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2016-05-04T04:52:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cba653210056cf47cc1969f831f05ddfb99ee2bd'/>
<id>urn:sha1:cba653210056cf47cc1969f831f05ddfb99ee2bd</id>
<content type='text'>
Conflicts:
	net/ipv4/ip_gre.c

Minor conflicts between tunnel bug fixes in net and
ipv6 tunnel cleanups in net-next.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>mac80211: fix statistics leak if dev_alloc_name() fails</title>
<updated>2016-04-27T08:06:58Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2016-04-26T11:47:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e6436be21e77e3659b4ff7e357ab5a8342d132d2'/>
<id>urn:sha1:e6436be21e77e3659b4ff7e357ab5a8342d132d2</id>
<content type='text'>
In the case that dev_alloc_name() fails, e.g. because the name was
given by the user and already exists, we need to clean up properly
and free the per-CPU statistics. Fix that.

Cc: stable@vger.kernel.org
Fixes: 5a490510ba5f ("mac80211: use per-CPU TX/RX statistics")
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>cfg80211: remove enum ieee80211_band</title>
<updated>2016-04-12T13:56:15Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2016-04-12T13:56:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=57fbcce37be7c1d2622b56587c10ade00e96afa3'/>
<id>urn:sha1:57fbcce37be7c1d2622b56587c10ade00e96afa3</id>
<content type='text'>
This enum is already perfectly aliased to enum nl80211_band, and
the only reason for it is that we get IEEE80211_NUM_BANDS out of
it. There's no really good reason to not declare the number of
bands in nl80211 though, so do that and remove the cfg80211 one.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: mesh: fix cleanup for mesh pathtable</title>
<updated>2016-04-05T19:34:53Z</updated>
<author>
<name>Bob Copeland</name>
</author>
<published>2016-03-26T15:27:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0371a08fbb3e557f19db41e47a199ad8300c9c97'/>
<id>urn:sha1:0371a08fbb3e557f19db41e47a199ad8300c9c97</id>
<content type='text'>
The mesh path table needs to be around for the entire time the
interface is in mesh mode, as users can perform an mpath dump
at any time.  The existing path table lifetime is instead tied
to the mesh BSS which can cause crashes when different MBSSes
are joined in the context of a single interface, or when the
path table is dumped when no MBSS is joined.

Introduce a new function to perform the final teardown of the
interface and perform path table cleanup there.  We already
free the individual path elements when the leaving the mesh
so no additional cleanup is needed there.  This fixes the
following crash:

[   47.753026] BUG: unable to handle kernel paging request at fffffff0
[   47.753026] IP: [&lt;c0239765&gt;] kthread_data+0xa/0xe
[   47.753026] *pde = 00741067 *pte = 00000000
[   47.753026] Oops: 0000 [#4] PREEMPT
[   47.753026] Modules linked in: ppp_generic slhc 8021q garp mrp sch_fq_codel iptable_mangle ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat ip_tables ath9k_htc ath5k 8139too ath10k_pci ath10k_core arc4 ath9k ath9k_common ath9k_hw mac80211 ath cfg80211 cpufreq_powersave br_netfilter bridge stp llc ipw usb_wwan sierra_net usbnet af_alg natsemi via_rhine mii iTCO_wdt iTCO_vendor_support gpio_ich sierra coretemp pcspkr i2c_i801 lpc_ich ata_generic ata_piix libata ide_pci_generic piix e1000e igb i2c_algo_bit ptp pps_core [last unloaded: 8139too]
[   47.753026] CPU: 0 PID: 12 Comm: kworker/u2:1 Tainted: G      D W       4.5.0-wt-V3 #6
[   47.753026] Hardware name: To Be Filled By O.E.M./To be filled by O.E.M., BIOS 080016  11/07/2014
[   47.753026] task: f645a0c0 ti: f6462000 task.ti: f6462000
[   47.753026] EIP: 0060:[&lt;c0239765&gt;] EFLAGS: 00010002 CPU: 0
[   47.753026] EIP is at kthread_data+0xa/0xe
[   47.753026] EAX: 00000000 EBX: 00000000 ECX: 00000000 EDX: 00000000
[   47.753026] ESI: f645a0c0 EDI: f645a2fc EBP: f6463a80 ESP: f6463a78
[   47.753026]  DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068
[   47.753026] CR0: 8005003b CR2: 00000014 CR3: 353e5000 CR4: 00000690
[   47.753026] Stack:
[   47.753026]  c0236866 00000000 f6463aac c05768b4 00000009 f6463ba8 f6463ab0 c0247010
[   47.753026]  00000000 f645a0c0 f6464000 00000009 f6463ba8 f6463ab8 c0576eb2 f645a0c0
[   47.753026]  f6463aec c0228be4 c06335a4 f6463adc f6463ad0 c06c06d4 f6463ae4 c02471b0
[   47.753026] Call Trace:
[   47.753026]  [&lt;c0236866&gt;] ? wq_worker_sleeping+0xb/0x78
[   47.753026]  [&lt;c05768b4&gt;] __schedule+0xda/0x587
[   47.753026]  [&lt;c0247010&gt;] ? vprintk_default+0x12/0x14
[   47.753026]  [&lt;c0576eb2&gt;] schedule+0x72/0x89
[   47.753026]  [&lt;c0228be4&gt;] do_exit+0xb8/0x71d
[   47.753026]  [&lt;c02471b0&gt;] ? kmsg_dump+0xa9/0xae
[   47.753026]  [&lt;c0203576&gt;] oops_end+0x69/0x70
[   47.753026]  [&lt;c021dcdb&gt;] no_context+0x1bb/0x1c5
[   47.753026]  [&lt;c021de1b&gt;] __bad_area_nosemaphore+0x136/0x140
[   47.753026]  [&lt;c021e2ef&gt;] ? vmalloc_sync_all+0x19a/0x19a
[   47.753026]  [&lt;c021de32&gt;] bad_area_nosemaphore+0xd/0x10
[   47.753026]  [&lt;c021e0a1&gt;] __do_page_fault+0x26c/0x320
[   47.753026]  [&lt;c021e2ef&gt;] ? vmalloc_sync_all+0x19a/0x19a
[   47.753026]  [&lt;c021e2fa&gt;] do_page_fault+0xb/0xd
[   47.753026]  [&lt;c05798f8&gt;] error_code+0x58/0x60
[   47.753026]  [&lt;c021e2ef&gt;] ? vmalloc_sync_all+0x19a/0x19a
[   47.753026]  [&lt;c0239765&gt;] ? kthread_data+0xa/0xe
[   47.753026]  [&lt;c0236866&gt;] ? wq_worker_sleeping+0xb/0x78
[   47.753026]  [&lt;c05768b4&gt;] __schedule+0xda/0x587
[   47.753026]  [&lt;c0247010&gt;] ? vprintk_default+0x12/0x14
[   47.753026]  [&lt;c0576eb2&gt;] schedule+0x72/0x89
[   47.753026]  [&lt;c0228be4&gt;] do_exit+0xb8/0x71d
[   47.753026]  [&lt;c02471b0&gt;] ? kmsg_dump+0xa9/0xae
[   47.753026]  [&lt;c0203576&gt;] oops_end+0x69/0x70
[   47.753026]  [&lt;c021dcdb&gt;] no_context+0x1bb/0x1c5
[   47.753026]  [&lt;c021de1b&gt;] __bad_area_nosemaphore+0x136/0x140
[   47.753026]  [&lt;c021e2ef&gt;] ? vmalloc_sync_all+0x19a/0x19a
[   47.753026]  [&lt;c021de32&gt;] bad_area_nosemaphore+0xd/0x10
[   47.753026]  [&lt;c021e0a1&gt;] __do_page_fault+0x26c/0x320
[   47.753026]  [&lt;c021e2ef&gt;] ? vmalloc_sync_all+0x19a/0x19a
[   47.753026]  [&lt;c021e2fa&gt;] do_page_fault+0xb/0xd
[   47.753026]  [&lt;c05798f8&gt;] error_code+0x58/0x60
[   47.753026]  [&lt;c021e2ef&gt;] ? vmalloc_sync_all+0x19a/0x19a
[   47.753026]  [&lt;c0239765&gt;] ? kthread_data+0xa/0xe
[   47.753026]  [&lt;c0236866&gt;] ? wq_worker_sleeping+0xb/0x78
[   47.753026]  [&lt;c05768b4&gt;] __schedule+0xda/0x587
[   47.753026]  [&lt;c0391e32&gt;] ? put_io_context_active+0x6d/0x95
[   47.753026]  [&lt;c0576eb2&gt;] schedule+0x72/0x89
[   47.753026]  [&lt;c02291f8&gt;] do_exit+0x6cc/0x71d
[   47.753026]  [&lt;c0203576&gt;] oops_end+0x69/0x70
[   47.753026]  [&lt;c021dcdb&gt;] no_context+0x1bb/0x1c5
[   47.753026]  [&lt;c021de1b&gt;] __bad_area_nosemaphore+0x136/0x140
[   47.753026]  [&lt;c021e2ef&gt;] ? vmalloc_sync_all+0x19a/0x19a
[   47.753026]  [&lt;c021de32&gt;] bad_area_nosemaphore+0xd/0x10
[   47.753026]  [&lt;c021e0a1&gt;] __do_page_fault+0x26c/0x320
[   47.753026]  [&lt;c03b9160&gt;] ? debug_smp_processor_id+0x12/0x16
[   47.753026]  [&lt;c02015e2&gt;] ? __switch_to+0x24/0x40e
[   47.753026]  [&lt;c021e2ef&gt;] ? vmalloc_sync_all+0x19a/0x19a
[   47.753026]  [&lt;c021e2fa&gt;] do_page_fault+0xb/0xd
[   47.753026]  [&lt;c05798f8&gt;] error_code+0x58/0x60
[   47.753026]  [&lt;c021e2ef&gt;] ? vmalloc_sync_all+0x19a/0x19a
[   47.753026]  [&lt;c03b59d2&gt;] ? rhashtable_walk_init+0x5c/0x93
[   47.753026]  [&lt;f9843221&gt;] mesh_path_tbl_expire.isra.24+0x19/0x82 [mac80211]
[   47.753026]  [&lt;f984408b&gt;] mesh_path_expire+0x11/0x1f [mac80211]
[   47.753026]  [&lt;f9842bb7&gt;] ieee80211_mesh_work+0x73/0x1a9 [mac80211]
[   47.753026]  [&lt;f98207d1&gt;] ieee80211_iface_work+0x2ff/0x311 [mac80211]
[   47.753026]  [&lt;c0235fa3&gt;] process_one_work+0x14b/0x24e
[   47.753026]  [&lt;c0236313&gt;] worker_thread+0x249/0x343
[   47.753026]  [&lt;c02360ca&gt;] ? process_scheduled_works+0x24/0x24
[   47.753026]  [&lt;c0239359&gt;] kthread+0x9e/0xa3
[   47.753026]  [&lt;c0578e50&gt;] ret_from_kernel_thread+0x20/0x40
[   47.753026]  [&lt;c02392bb&gt;] ? kthread_parkme+0x18/0x18
[   47.753026] Code: 6b c0 85 c0 75 05 e8 fb 74 fc ff 89 f8 84 c0 75 08 8d 45 e8 e8 34 dd 33 00 83 c4 28 5b 5e 5f 5d c3 55 8b 80 10 02 00 00 89 e5 5d &lt;8b&gt; 40 f0 c3 55 b9 04 00 00 00 89 e5 52 8b 90 10 02 00 00 8d 45
[   47.753026] EIP: [&lt;c0239765&gt;] kthread_data+0xa/0xe SS:ESP 0068:f6463a78
[   47.753026] CR2: 00000000fffffff0
[   47.753026] ---[ end trace 867ca0bdd0767790 ]---

Fixes: 3b302ada7f0a ("mac80211: mesh: move path tables into if_mesh")
Reported-by: Fred Veldini &lt;fred.veldini@gmail.com&gt;
Signed-off-by: Bob Copeland &lt;me@bobcopeland.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: expose txq queue depth and size to drivers</title>
<updated>2016-02-24T08:04:30Z</updated>
<author>
<name>Michal Kazior</name>
</author>
<published>2016-01-27T14:26:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f2ac7e301ae6397669ff3f79e691942a9b5d2f39'/>
<id>urn:sha1:f2ac7e301ae6397669ff3f79e691942a9b5d2f39</id>
<content type='text'>
This will allow drivers to make more educated
decisions whether to defer transmission or not.

Relying on wake_tx_queue() call count implicitly
was not possible because it could be called
without queued frame count actually changing on
software tx aggregation start/stop code paths.

It was also not possible to know how long
byte-wise queue was without dequeueing.

Signed-off-by: Michal Kazior &lt;michal.kazior@tieto.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: fix txq queue related crashes</title>
<updated>2016-02-24T08:04:26Z</updated>
<author>
<name>Michal Kazior</name>
</author>
<published>2016-01-21T13:23:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2a58d42c1e018ad514d4e23fd33fb2ded95d3ee6'/>
<id>urn:sha1:2a58d42c1e018ad514d4e23fd33fb2ded95d3ee6</id>
<content type='text'>
The driver can access the queue simultanously
while mac80211 tears down the interface. Without
spinlock protection this could lead to corrupting
sk_buff_head and subsequently to an invalid
pointer dereference.

Fixes: ba8c3d6f16a1 ("mac80211: add an intermediate software queue implementation")
Signed-off-by: Michal Kazior &lt;michal.kazior@tieto.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: process and save VHT MU-MIMO group frame</title>
<updated>2016-01-14T10:13:10Z</updated>
<author>
<name>Sara Sharon</name>
</author>
<published>2015-12-08T14:04:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=23a1f8d44c0bca48f04fc2a2f1edafd826ce6133'/>
<id>urn:sha1:23a1f8d44c0bca48f04fc2a2f1edafd826ce6133</id>
<content type='text'>
The Group ID Management frame is an Action frame of
category VHT. It is transmitted by the AP to assign
or change the user position of a STA for one or more
group IDs.
Process and save the group membership data. Notify
underlying driver of changes.

Signed-off-by: Sara Sharon &lt;sara.sharon@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>
</entry>
<entry>
<title>mac80211: don't teardown sdata on sdata stop</title>
<updated>2015-12-02T21:27:27Z</updated>
<author>
<name>Eliad Peller</name>
</author>
<published>2015-11-17T08:24:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=835112b28919d88d989a0a9313e323ad82e18b59'/>
<id>urn:sha1:835112b28919d88d989a0a9313e323ad82e18b59</id>
<content type='text'>
Interfaces are being initialized (setup) on addition,
and torn down on removal.

However, p2p device is being torn down when stopped,
resulting in the next p2p start operation being done
on uninitialized interface.

Solve it by calling ieee80211_teardown_sdata() only
on interface removal (for the non-netdev case).

Signed-off-by: Eliad Peller &lt;eliadx.peller@intel.com&gt;
Signed-off-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
[squashed in fix to call teardown after unregister]
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: ensure we don't update tx power on a non-running sdata</title>
<updated>2015-11-20T10:38:50Z</updated>
<author>
<name>Emmanuel Grumbach</name>
</author>
<published>2015-11-17T08:24:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5ad11b50fda1306b5317124f97f0a7a4c022b022'/>
<id>urn:sha1:5ad11b50fda1306b5317124f97f0a7a4c022b022</id>
<content type='text'>
We can't update the Tx power on the device unless it is
running.

This fixes https://bugzilla.kernel.org/show_bug.cgi?id=101521.

Cc: stable@vger.kernel.org
Signed-off-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: make enable_qos parameter to ieee80211_set_wmm_default()</title>
<updated>2015-11-03T09:55:55Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2015-10-22T15:46:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cec6628350802b0a652486c41b57d4e1dd37a65c'/>
<id>urn:sha1:cec6628350802b0a652486c41b57d4e1dd37a65c</id>
<content type='text'>
The function currently determines this value, for use in bss_info.qos,
based on the interface type itself. Make it a parameter instead and
set it with the same logic for now.

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