<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/net/mac80211, branch v2.6.38</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6</title>
<updated>2011-02-22T19:53:05+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-02-22T19:53:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=d3bd1b4c89cceca42211cd5bd30508b903267229'/>
<id>d3bd1b4c89cceca42211cd5bd30508b903267229</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>net: Fix more stale on-stack list_head objects.</title>
<updated>2011-02-20T19:49:45+00:00</updated>
<author>
<name>Eric W. Biederman</name>
<email>ebiederm@xmission.com</email>
</author>
<published>2011-02-20T19:49:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=5f04d5068a90602b93a7953e9a47c496705c6976'/>
<id>5f04d5068a90602b93a7953e9a47c496705c6976</id>
<content type='text'>
From: Eric W. Biederman &lt;ebiederm@xmission.com&gt;

In the beginning with batching unreg_list was a list that was used only
once in the lifetime of a network device (I think).  Now we have calls
using the unreg_list that can happen multiple times in the life of a
network device like dev_deactivate and dev_close that are also using the
unreg_list.  In addition in unregister_netdevice_queue we also do a
list_move because for devices like veth pairs it is possible that
unregister_netdevice_queue will be called multiple times.

So I think the change below to fix dev_deactivate which Eric D. missed
will fix this problem.  Now to go test that.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
From: Eric W. Biederman &lt;ebiederm@xmission.com&gt;

In the beginning with batching unreg_list was a list that was used only
once in the lifetime of a network device (I think).  Now we have calls
using the unreg_list that can happen multiple times in the life of a
network device like dev_deactivate and dev_close that are also using the
unreg_list.  In addition in unregister_netdevice_queue we also do a
list_move because for devices like veth pairs it is possible that
unregister_netdevice_queue will be called multiple times.

So I think the change below to fix dev_deactivate which Eric D. missed
will fix this problem.  Now to go test that.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: fix conn_mon_timer running after disassociate</title>
<updated>2011-02-18T21:47:37+00:00</updated>
<author>
<name>Stanislaw Gruszka</name>
<email>sgruszka@redhat.com</email>
</author>
<published>2011-02-18T08:05:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=05e7c99136554789e4cc060a63334ccaa08ad62d'/>
<id>05e7c99136554789e4cc060a63334ccaa08ad62d</id>
<content type='text'>
Low level driver could pass rx frames to us after disassociate, what
can lead to run conn_mon_timer by ieee80211_sta_rx_notify(). That
is obviously wrong, but nothing happens until we unload modules and
resources are used after free. If kernel debugging is enabled following
warning could be observed:

WARNING: at lib/debugobjects.c:259 debug_print_object+0x65/0x70()
Hardware name: HP xw8600 Workstation
ODEBUG: free active (active state 0) object type: timer_list
Modules linked in: iwlagn(-) iwlcore mac80211 cfg80211 aes_x86_64 aes_generic fuse cpufreq_ondemand acpi_cpufreq freq_table mperf xt_physdev ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter ip_tables ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables ipv6 ext3 jbd dm_mirror dm_region_hash dm_log dm_mod uinput hp_wmi sparse_keymap sg wmi arc4 microcode serio_raw ecb tg3 shpchp rfkill ext4 mbcache jbd2 sr_mod cdrom sd_mod crc_t10dif firewire_ohci firewire_core crc_itu_t mptsas mptscsih mptbase scsi_transport_sas ahci libahci pata_acpi ata_generic ata_piix floppy nouveau ttm drm_kms_helper drm i2c_algo_bit i2c_core video [last unloaded: cfg80211]
Pid: 13827, comm: rmmod Tainted: G        W   2.6.38-rc4-wl+ #22
Call Trace:
 [&lt;ffffffff810649cf&gt;] ? warn_slowpath_common+0x7f/0xc0
 [&lt;ffffffff81064ac6&gt;] ? warn_slowpath_fmt+0x46/0x50
 [&lt;ffffffff81226fc5&gt;] ? debug_print_object+0x65/0x70
 [&lt;ffffffff81227625&gt;] ? debug_check_no_obj_freed+0x125/0x210
 [&lt;ffffffff8109ebd7&gt;] ? debug_check_no_locks_freed+0xf7/0x170
 [&lt;ffffffff81156092&gt;] ? kfree+0xc2/0x2f0
 [&lt;ffffffff813ec5c5&gt;] ? netdev_release+0x45/0x60
 [&lt;ffffffff812f1067&gt;] ? device_release+0x27/0xa0
 [&lt;ffffffff81216ddd&gt;] ? kobject_release+0x8d/0x1a0
 [&lt;ffffffff81216d50&gt;] ? kobject_release+0x0/0x1a0
 [&lt;ffffffff812183b7&gt;] ? kref_put+0x37/0x70
 [&lt;ffffffff81216c57&gt;] ? kobject_put+0x27/0x60
 [&lt;ffffffff813d5d1b&gt;] ? netdev_run_todo+0x1ab/0x270
 [&lt;ffffffff813e771e&gt;] ? rtnl_unlock+0xe/0x10
 [&lt;ffffffffa0581188&gt;] ? ieee80211_unregister_hw+0x58/0x120 [mac80211]
 [&lt;ffffffffa0377ed7&gt;] ? iwl_pci_remove+0xdb/0x22a [iwlagn]
 [&lt;ffffffff8123cde2&gt;] ? pci_device_remove+0x52/0x120
 [&lt;ffffffff812f5205&gt;] ? __device_release_driver+0x75/0xe0
 [&lt;ffffffff812f5348&gt;] ? driver_detach+0xd8/0xe0
 [&lt;ffffffff812f4111&gt;] ? bus_remove_driver+0x91/0x100
 [&lt;ffffffff812f5b62&gt;] ? driver_unregister+0x62/0xa0
 [&lt;ffffffff8123d194&gt;] ? pci_unregister_driver+0x44/0xa0
 [&lt;ffffffffa0377df5&gt;] ? iwl_exit+0x15/0x1c [iwlagn]
 [&lt;ffffffff810ab492&gt;] ? sys_delete_module+0x1a2/0x270
 [&lt;ffffffff81498889&gt;] ? trace_hardirqs_on_thunk+0x3a/0x3f
 [&lt;ffffffff8100bf42&gt;] ? system_call_fastpath+0x16/0x1b

Acked-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: Stanislaw Gruszka &lt;sgruszka@redhat.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>
Low level driver could pass rx frames to us after disassociate, what
can lead to run conn_mon_timer by ieee80211_sta_rx_notify(). That
is obviously wrong, but nothing happens until we unload modules and
resources are used after free. If kernel debugging is enabled following
warning could be observed:

WARNING: at lib/debugobjects.c:259 debug_print_object+0x65/0x70()
Hardware name: HP xw8600 Workstation
ODEBUG: free active (active state 0) object type: timer_list
Modules linked in: iwlagn(-) iwlcore mac80211 cfg80211 aes_x86_64 aes_generic fuse cpufreq_ondemand acpi_cpufreq freq_table mperf xt_physdev ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter ip_tables ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables ipv6 ext3 jbd dm_mirror dm_region_hash dm_log dm_mod uinput hp_wmi sparse_keymap sg wmi arc4 microcode serio_raw ecb tg3 shpchp rfkill ext4 mbcache jbd2 sr_mod cdrom sd_mod crc_t10dif firewire_ohci firewire_core crc_itu_t mptsas mptscsih mptbase scsi_transport_sas ahci libahci pata_acpi ata_generic ata_piix floppy nouveau ttm drm_kms_helper drm i2c_algo_bit i2c_core video [last unloaded: cfg80211]
Pid: 13827, comm: rmmod Tainted: G        W   2.6.38-rc4-wl+ #22
Call Trace:
 [&lt;ffffffff810649cf&gt;] ? warn_slowpath_common+0x7f/0xc0
 [&lt;ffffffff81064ac6&gt;] ? warn_slowpath_fmt+0x46/0x50
 [&lt;ffffffff81226fc5&gt;] ? debug_print_object+0x65/0x70
 [&lt;ffffffff81227625&gt;] ? debug_check_no_obj_freed+0x125/0x210
 [&lt;ffffffff8109ebd7&gt;] ? debug_check_no_locks_freed+0xf7/0x170
 [&lt;ffffffff81156092&gt;] ? kfree+0xc2/0x2f0
 [&lt;ffffffff813ec5c5&gt;] ? netdev_release+0x45/0x60
 [&lt;ffffffff812f1067&gt;] ? device_release+0x27/0xa0
 [&lt;ffffffff81216ddd&gt;] ? kobject_release+0x8d/0x1a0
 [&lt;ffffffff81216d50&gt;] ? kobject_release+0x0/0x1a0
 [&lt;ffffffff812183b7&gt;] ? kref_put+0x37/0x70
 [&lt;ffffffff81216c57&gt;] ? kobject_put+0x27/0x60
 [&lt;ffffffff813d5d1b&gt;] ? netdev_run_todo+0x1ab/0x270
 [&lt;ffffffff813e771e&gt;] ? rtnl_unlock+0xe/0x10
 [&lt;ffffffffa0581188&gt;] ? ieee80211_unregister_hw+0x58/0x120 [mac80211]
 [&lt;ffffffffa0377ed7&gt;] ? iwl_pci_remove+0xdb/0x22a [iwlagn]
 [&lt;ffffffff8123cde2&gt;] ? pci_device_remove+0x52/0x120
 [&lt;ffffffff812f5205&gt;] ? __device_release_driver+0x75/0xe0
 [&lt;ffffffff812f5348&gt;] ? driver_detach+0xd8/0xe0
 [&lt;ffffffff812f4111&gt;] ? bus_remove_driver+0x91/0x100
 [&lt;ffffffff812f5b62&gt;] ? driver_unregister+0x62/0xa0
 [&lt;ffffffff8123d194&gt;] ? pci_unregister_driver+0x44/0xa0
 [&lt;ffffffffa0377df5&gt;] ? iwl_exit+0x15/0x1c [iwlagn]
 [&lt;ffffffff810ab492&gt;] ? sys_delete_module+0x1a2/0x270
 [&lt;ffffffff81498889&gt;] ? trace_hardirqs_on_thunk+0x3a/0x3f
 [&lt;ffffffff8100bf42&gt;] ? system_call_fastpath+0x16/0x1b

Acked-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6</title>
<updated>2011-02-14T20:51:42+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-02-14T20:51:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=8bc26a008f61eac5631701cbd65f88c015a63280'/>
<id>8bc26a008f61eac5631701cbd65f88c015a63280</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: add missing locking in ieee80211_reconfig</title>
<updated>2011-02-09T20:35:13+00:00</updated>
<author>
<name>Eliad Peller</name>
<email>eliad@wizery.com</email>
</author>
<published>2011-02-08T16:43:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=a7b545f7fe753ca3dc1b51ca57f90cd59d974e44'/>
<id>a7b545f7fe753ca3dc1b51ca57f90cd59d974e44</id>
<content type='text'>
When suspending an associated system, and then resuming,
the station vif is being reconfigured without taking the
sdata-&gt;u.mgd.mtx lock, which results in the following warning:

WARNING: at net/mac80211/mlme.c:101 ieee80211_ap_probereq_get+0x58/0xb8 [mac80211]()
Modules linked in: wl12xx_sdio wl12xx firmware_class crc7 mac80211 cfg80211 [last unloaded: crc7]
Backtrace:
[&lt;c005432c&gt;] (dump_backtrace+0x0/0x118) from [&lt;c0376e28&gt;] (dump_stack+0x20/0x24)
 r7:00000000 r6:bf12d6ec r5:bf154aac r4:00000065
[&lt;c0376e08&gt;] (dump_stack+0x0/0x24) from [&lt;c0079104&gt;] (warn_slowpath_common+0x5c/0x74)
[&lt;c00790a8&gt;] (warn_slowpath_common+0x0/0x74) from [&lt;c0079148&gt;] (warn_slowpath_null+0x2c/0x34)
 r9:000024ff r8:cd006460 r7:00000001 r6:00000000 r5:00000000
r4:cf1394a0
[&lt;c007911c&gt;] (warn_slowpath_null+0x0/0x34) from [&lt;bf12d6ec&gt;] (ieee80211_ap_probereq_get+0x58/0xb8 [mac80211])
[&lt;bf12d694&gt;] (ieee80211_ap_probereq_get+0x0/0xb8 [mac80211]) from [&lt;bf19cd04&gt;] (wl1271_cmd_build_ap_probe_req+0x30/0xf8 [wl12xx])
 r4:cd007440
[&lt;bf19ccd4&gt;] (wl1271_cmd_build_ap_probe_req+0x0/0xf8 [wl12xx]) from [&lt;bf1995f4&gt;] (wl1271_op_bss_info_changed+0x4c4/0x808 [wl12xx])
 r5:cd007440 r4:000003b4
[&lt;bf199130&gt;] (wl1271_op_bss_info_changed+0x0/0x808 [wl12xx]) from [&lt;bf122168&gt;] (ieee80211_bss_info_change_notify+0x1a4/0x1f8 [mac80211])
[&lt;bf121fc4&gt;] (ieee80211_bss_info_change_notify+0x0/0x1f8 [mac80211]) from [&lt;bf141e80&gt;] (ieee80211_reconfig+0x4d0/0x668 [mac80211])
 r8:cf0eeea4 r7:cd00671c r6:00000000 r5:cd006460 r4:cf1394a0
[&lt;bf1419b0&gt;] (ieee80211_reconfig+0x0/0x668 [mac80211]) from [&lt;bf137dd4&gt;] (ieee80211_resume+0x60/0x70 [mac80211])
[&lt;bf137d74&gt;] (ieee80211_resume+0x0/0x70 [mac80211]) from [&lt;bf0eb930&gt;] (wiphy_resume+0x6c/0x7c [cfg80211])
 r5:cd006248 r4:cd006110
[&lt;bf0eb8c4&gt;] (wiphy_resume+0x0/0x7c [cfg80211]) from [&lt;c0241024&gt;] (legacy_resume+0x38/0x70)
 r7:00000000 r6:00000000 r5:cd006248 r4:cd0062fc
[&lt;c0240fec&gt;] (legacy_resume+0x0/0x70) from [&lt;c0241478&gt;] (device_resume+0x168/0x1a0)
 r8:c04ca8d8 r7:cd00627c r6:00000010 r5:cd006248 r4:cd0062fc
[&lt;c0241310&gt;] (device_resume+0x0/0x1a0) from [&lt;c0241600&gt;] (dpm_resume_end+0xf8/0x3bc)
 r7:00000000 r6:00000005 r5:cd006248 r4:cd0062fc
[&lt;c0241508&gt;] (dpm_resume_end+0x0/0x3bc) from [&lt;c00b2a24&gt;] (suspend_devices_and_enter+0x1b0/0x204)
[&lt;c00b2874&gt;] (suspend_devices_and_enter+0x0/0x204) from [&lt;c00b2b68&gt;] (enter_state+0xf0/0x148)
 r7:c037e978 r6:00000003 r5:c043d807 r4:00000000
[&lt;c00b2a78&gt;] (enter_state+0x0/0x148) from [&lt;c00b20a4&gt;] (state_store+0xa4/0xcc)
 r7:c037e978 r6:00000003 r5:00000003 r4:c043d807
[&lt;c00b2000&gt;] (state_store+0x0/0xcc) from [&lt;c01fc90c&gt;] (kobj_attr_store+0x20/0x24)
[&lt;c01fc8ec&gt;] (kobj_attr_store+0x0/0x24) from [&lt;c0157120&gt;] (sysfs_write_file+0x11c/0x150)
[&lt;c0157004&gt;] (sysfs_write_file+0x0/0x150) from [&lt;c0100f84&gt;] (vfs_write+0xc0/0x14c)
[&lt;c0100ec4&gt;] (vfs_write+0x0/0x14c) from [&lt;c01010e4&gt;] (sys_write+0x4c/0x78)
 r8:40126000 r7:00000004 r6:cf1a7c80 r5:00000000 r4:00000000
[&lt;c0101098&gt;] (sys_write+0x0/0x78) from [&lt;c00500c0&gt;] (ret_fast_syscall+0x0/0x30)
 r8:c00502c8 r7:00000004 r6:403525e8 r5:40126000 r4:00000004

Signed-off-by: Eliad Peller &lt;eliad@wizery.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>
When suspending an associated system, and then resuming,
the station vif is being reconfigured without taking the
sdata-&gt;u.mgd.mtx lock, which results in the following warning:

WARNING: at net/mac80211/mlme.c:101 ieee80211_ap_probereq_get+0x58/0xb8 [mac80211]()
Modules linked in: wl12xx_sdio wl12xx firmware_class crc7 mac80211 cfg80211 [last unloaded: crc7]
Backtrace:
[&lt;c005432c&gt;] (dump_backtrace+0x0/0x118) from [&lt;c0376e28&gt;] (dump_stack+0x20/0x24)
 r7:00000000 r6:bf12d6ec r5:bf154aac r4:00000065
[&lt;c0376e08&gt;] (dump_stack+0x0/0x24) from [&lt;c0079104&gt;] (warn_slowpath_common+0x5c/0x74)
[&lt;c00790a8&gt;] (warn_slowpath_common+0x0/0x74) from [&lt;c0079148&gt;] (warn_slowpath_null+0x2c/0x34)
 r9:000024ff r8:cd006460 r7:00000001 r6:00000000 r5:00000000
r4:cf1394a0
[&lt;c007911c&gt;] (warn_slowpath_null+0x0/0x34) from [&lt;bf12d6ec&gt;] (ieee80211_ap_probereq_get+0x58/0xb8 [mac80211])
[&lt;bf12d694&gt;] (ieee80211_ap_probereq_get+0x0/0xb8 [mac80211]) from [&lt;bf19cd04&gt;] (wl1271_cmd_build_ap_probe_req+0x30/0xf8 [wl12xx])
 r4:cd007440
[&lt;bf19ccd4&gt;] (wl1271_cmd_build_ap_probe_req+0x0/0xf8 [wl12xx]) from [&lt;bf1995f4&gt;] (wl1271_op_bss_info_changed+0x4c4/0x808 [wl12xx])
 r5:cd007440 r4:000003b4
[&lt;bf199130&gt;] (wl1271_op_bss_info_changed+0x0/0x808 [wl12xx]) from [&lt;bf122168&gt;] (ieee80211_bss_info_change_notify+0x1a4/0x1f8 [mac80211])
[&lt;bf121fc4&gt;] (ieee80211_bss_info_change_notify+0x0/0x1f8 [mac80211]) from [&lt;bf141e80&gt;] (ieee80211_reconfig+0x4d0/0x668 [mac80211])
 r8:cf0eeea4 r7:cd00671c r6:00000000 r5:cd006460 r4:cf1394a0
[&lt;bf1419b0&gt;] (ieee80211_reconfig+0x0/0x668 [mac80211]) from [&lt;bf137dd4&gt;] (ieee80211_resume+0x60/0x70 [mac80211])
[&lt;bf137d74&gt;] (ieee80211_resume+0x0/0x70 [mac80211]) from [&lt;bf0eb930&gt;] (wiphy_resume+0x6c/0x7c [cfg80211])
 r5:cd006248 r4:cd006110
[&lt;bf0eb8c4&gt;] (wiphy_resume+0x0/0x7c [cfg80211]) from [&lt;c0241024&gt;] (legacy_resume+0x38/0x70)
 r7:00000000 r6:00000000 r5:cd006248 r4:cd0062fc
[&lt;c0240fec&gt;] (legacy_resume+0x0/0x70) from [&lt;c0241478&gt;] (device_resume+0x168/0x1a0)
 r8:c04ca8d8 r7:cd00627c r6:00000010 r5:cd006248 r4:cd0062fc
[&lt;c0241310&gt;] (device_resume+0x0/0x1a0) from [&lt;c0241600&gt;] (dpm_resume_end+0xf8/0x3bc)
 r7:00000000 r6:00000005 r5:cd006248 r4:cd0062fc
[&lt;c0241508&gt;] (dpm_resume_end+0x0/0x3bc) from [&lt;c00b2a24&gt;] (suspend_devices_and_enter+0x1b0/0x204)
[&lt;c00b2874&gt;] (suspend_devices_and_enter+0x0/0x204) from [&lt;c00b2b68&gt;] (enter_state+0xf0/0x148)
 r7:c037e978 r6:00000003 r5:c043d807 r4:00000000
[&lt;c00b2a78&gt;] (enter_state+0x0/0x148) from [&lt;c00b20a4&gt;] (state_store+0xa4/0xcc)
 r7:c037e978 r6:00000003 r5:00000003 r4:c043d807
[&lt;c00b2000&gt;] (state_store+0x0/0xcc) from [&lt;c01fc90c&gt;] (kobj_attr_store+0x20/0x24)
[&lt;c01fc8ec&gt;] (kobj_attr_store+0x0/0x24) from [&lt;c0157120&gt;] (sysfs_write_file+0x11c/0x150)
[&lt;c0157004&gt;] (sysfs_write_file+0x0/0x150) from [&lt;c0100f84&gt;] (vfs_write+0xc0/0x14c)
[&lt;c0100ec4&gt;] (vfs_write+0x0/0x14c) from [&lt;c01010e4&gt;] (sys_write+0x4c/0x78)
 r8:40126000 r7:00000004 r6:cf1a7c80 r5:00000000 r4:00000000
[&lt;c0101098&gt;] (sys_write+0x0/0x78) from [&lt;c00500c0&gt;] (ret_fast_syscall+0x0/0x30)
 r8:c00502c8 r7:00000004 r6:403525e8 r5:40126000 r4:00000004

Signed-off-by: Eliad Peller &lt;eliad@wizery.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6</title>
<updated>2011-02-08T20:03:54+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-02-08T20:03:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=e0985f27ddc3cd49c56fc3a76ec4ae3a594315d0'/>
<id>e0985f27ddc3cd49c56fc3a76ec4ae3a594315d0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: fix the skb cloned check in the tx path</title>
<updated>2011-02-07T21:02:14+00:00</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@openwrt.org</email>
</author>
<published>2011-02-07T11:05:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=fc7c976dc7a565213393ce700d4a6105f037bf20'/>
<id>fc7c976dc7a565213393ce700d4a6105f037bf20</id>
<content type='text'>
Using skb_header_cloned to check if it's safe to write to the skb is not
enough - mac80211 also touches the tailroom of the skb.
Initially this check was only used to increase a counter, however this
commit changed the code to also skip skb data reallocation if no extra
head/tailroom was needed:

commit 4cd06a344db752f513437138953af191cbe9a691
mac80211: skip unnecessary pskb_expand_head calls

It added a regression at least with iwl3945, which is fixed by this patch.

Reported-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Tested-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.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>
Using skb_header_cloned to check if it's safe to write to the skb is not
enough - mac80211 also touches the tailroom of the skb.
Initially this check was only used to increase a counter, however this
commit changed the code to also skip skb data reallocation if no extra
head/tailroom was needed:

commit 4cd06a344db752f513437138953af191cbe9a691
mac80211: skip unnecessary pskb_expand_head calls

It added a regression at least with iwl3945, which is fixed by this patch.

Reported-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Tested-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: fix TX status cookie in HW offload case</title>
<updated>2011-02-02T21:38:59+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2011-02-02T15:58:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=4334ec8518cec3f7a4feeb3dacb46acfb24904d4'/>
<id>4334ec8518cec3f7a4feeb3dacb46acfb24904d4</id>
<content type='text'>
When the off-channel TX is done with remain-on-channel
offloaded to hardware, the reported cookie is wrong as
in that case we shouldn't use the SKB as the cookie but
need to instead use the corresponding r-o-c cookie
(XOR'ed with 2 to prevent API mismatches).

Fix this by keeping track of the hw_roc_skb pointer
just for the status processing and use the correct
cookie to report in this case. We can't use the
hw_roc_skb pointer itself because it is NULL'ed when
the frame is transmitted to prevent it being used
twice.

This fixes a bug where the P2P state machine in the
supplicant gets stuck because it never gets a correct
result for its transmitted frame.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.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>
When the off-channel TX is done with remain-on-channel
offloaded to hardware, the reported cookie is wrong as
in that case we shouldn't use the SKB as the cookie but
need to instead use the corresponding r-o-c cookie
(XOR'ed with 2 to prevent API mismatches).

Fix this by keeping track of the hw_roc_skb pointer
just for the status processing and use the correct
cookie to report in this case. We can't use the
hw_roc_skb pointer itself because it is NULL'ed when
the frame is transmitted to prevent it being used
twice.

This fixes a bug where the P2P state machine in the
supplicant gets stuck because it never gets a correct
result for its transmitted frame.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6</title>
<updated>2011-01-26T19:49:49+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-01-26T19:49:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=9b6941d8b103fe95d1a90b7996046be9ee0e55e4'/>
<id>9b6941d8b103fe95d1a90b7996046be9ee0e55e4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: fix a crash in ieee80211_beacon_get_tim on change_interface</title>
<updated>2011-01-25T21:28:56+00:00</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@openwrt.org</email>
</author>
<published>2011-01-24T18:28:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=eb3e554b4b3a56386ef5214dbe0e3935a350178b'/>
<id>eb3e554b4b3a56386ef5214dbe0e3935a350178b</id>
<content type='text'>
Some drivers (e.g. ath9k) do not always disable beacons when they're
supposed to. When an interface is changed using the change_interface op,
the mode specific sdata part is in an undefined state and trying to
get a beacon at this point can produce weird crashes.

To fix this, add a check for ieee80211_sdata_running before using
anything from the sdata.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&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>
Some drivers (e.g. ath9k) do not always disable beacons when they're
supposed to. When an interface is changed using the change_interface op,
the mode specific sdata part is in an undefined state and trying to
get a beacon at this point can produce weird crashes.

To fix this, add a check for ieee80211_sdata_running before using
anything from the sdata.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Cc: stable@kernel.org
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
