<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/net/wireless, branch v2.6.28.9</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>rtl8187: New USB ID's for RTL8187L</title>
<updated>2009-03-17T00:32:05+00:00</updated>
<author>
<name>Larry Finger</name>
<email>Larry.Finger@gmail.com</email>
</author>
<published>2009-02-17T20:31:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ea88e7c9433e93ebc08b8e425c275409f560bf93'/>
<id>ea88e7c9433e93ebc08b8e425c275409f560bf93</id>
<content type='text'>
commit 046ee5d26ac91316a8ac0a29c0b33139dc9da20d upstream.

Add new USB ID codes. These come from two postings on forums and
mailing lists, and four are derived from the .inf that accompanies
the latest Realtek Windows driver for the RTL8187L.

Thanks to Viktor Ilijašić &lt;viktor.ilijasic@gmail.com&gt; and Xose Vazquez
Perez &lt;xose.vazquez@gmail.com&gt; for reporting these new ID's.

Signed-off-by: Larry Finger &lt;Larry.Finger@lwfinger.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 046ee5d26ac91316a8ac0a29c0b33139dc9da20d upstream.

Add new USB ID codes. These come from two postings on forums and
mailing lists, and four are derived from the .inf that accompanies
the latest Realtek Windows driver for the RTL8187L.

Thanks to Viktor Ilijašić &lt;viktor.ilijasic@gmail.com&gt; and Xose Vazquez
Perez &lt;xose.vazquez@gmail.com&gt; for reporting these new ID's.

Signed-off-by: Larry Finger &lt;Larry.Finger@lwfinger.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>zd1211rw: treat MAXIM_NEW_RF(0x08) as UW2453_RF(0x09) for TP-Link WN322/422G</title>
<updated>2009-02-17T17:28:46+00:00</updated>
<author>
<name>Hin-Tak Leung</name>
<email>hintak.leung@gmail.com</email>
</author>
<published>2009-02-04T23:40:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1124f855be1abd0a605fec7f3d1d6c1eb21f9354'/>
<id>1124f855be1abd0a605fec7f3d1d6c1eb21f9354</id>
<content type='text'>
commit efb43f4b2ccf8066abc3920a0e6858e4350a65c7 upstream.

Three people (Petr Mensik &lt;pihhan@cipis.net&gt;
["si" should be U+0161 U+00ED], Stephen Ho &lt;stephenhoinhk@gmail.com&gt;
on zd1211-devs and Ismael Ojeda Perez &lt;iojedaperez@gmail.com&gt;
on linux-wireless) reported success in getting TP-Link WN322G/WN422G
working by treating MAXIM_NEW_RF(0x08) as UW2453_RF(0x09) for rf
chip hardware initialization.

Signed-off-by: Hin-Tak Leung &lt;htl10@users.sourceforge.net&gt;
Tested-by: Petr Mensik &lt;pihhan@cipis.net&gt;
Tested-by: Stephen Ho &lt;stephenhoinhk@gmail.com&gt;
Tested-by: Ismael Ojeda Perez &lt;iojedaperez@gmail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit efb43f4b2ccf8066abc3920a0e6858e4350a65c7 upstream.

Three people (Petr Mensik &lt;pihhan@cipis.net&gt;
["si" should be U+0161 U+00ED], Stephen Ho &lt;stephenhoinhk@gmail.com&gt;
on zd1211-devs and Ismael Ojeda Perez &lt;iojedaperez@gmail.com&gt;
on linux-wireless) reported success in getting TP-Link WN322G/WN422G
working by treating MAXIM_NEW_RF(0x08) as UW2453_RF(0x09) for rf
chip hardware initialization.

Signed-off-by: Hin-Tak Leung &lt;htl10@users.sourceforge.net&gt;
Tested-by: Petr Mensik &lt;pihhan@cipis.net&gt;
Tested-by: Stephen Ho &lt;stephenhoinhk@gmail.com&gt;
Tested-by: Ismael Ojeda Perez &lt;iojedaperez@gmail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>zd1211rw: adding 0ace:0xa211 as a ZD1211 device</title>
<updated>2009-02-17T17:28:46+00:00</updated>
<author>
<name>Hin-Tak Leung</name>
<email>hintak.leung@gmail.com</email>
</author>
<published>2009-02-08T02:13:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d86f84dcf23f923c68cb87f57d36c0d86cc1d956'/>
<id>d86f84dcf23f923c68cb87f57d36c0d86cc1d956</id>
<content type='text'>
commit 14990c69b5f51dd57b4e0e2373de50239ac861e2 upstream.

Christoph Biedl &lt;sourceforge.bnwi@manchmal.in-ulm.de&gt; reported success
in the sourceforge zd1211 mailing list on this addition. This product ID
was supported by the vendor driver ZD1211LnxDrv 2.22.0.0 (and possibly
earlier) and it probably should have been added earlier.

Signed-off-by: Hin-Tak Leung &lt;htl10@users.sourceforge.net&gt;
Tested-by: Christoph Biedl &lt;sourceforge.bnwi@manchmal.in-ulm.de&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 14990c69b5f51dd57b4e0e2373de50239ac861e2 upstream.

Christoph Biedl &lt;sourceforge.bnwi@manchmal.in-ulm.de&gt; reported success
in the sourceforge zd1211 mailing list on this addition. This product ID
was supported by the vendor driver ZD1211LnxDrv 2.22.0.0 (and possibly
earlier) and it probably should have been added earlier.

Signed-off-by: Hin-Tak Leung &lt;htl10@users.sourceforge.net&gt;
Tested-by: Christoph Biedl &lt;sourceforge.bnwi@manchmal.in-ulm.de&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>ipw2200: fix scanning while associated</title>
<updated>2009-02-12T17:50:36+00:00</updated>
<author>
<name>Helmut Schaa</name>
<email>helmut.schaa@googlemail.com</email>
</author>
<published>2008-12-10T12:17:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a2926858cfb4fd673618988f37a9dc26c5182377'/>
<id>a2926858cfb4fd673618988f37a9dc26c5182377</id>
<content type='text'>
commit 14a4dfe2ff8c353f59ae8324059ded1cfe22c7d9 upstream.

This patch fixes sporadic firmware restarts when scanning while associated.

The firmware will quietly cancel a scan (while associated) if the dwell time
for a channel to be scanned is larger than the time it may stay away from the
operating channel (because of DTIM catching). Unfortunately the driver is not
notified about the canceled scan and therefore the scan watchdog timeout will
be hit and the driver causes a firmware restart which results in
disassociation. This mainly happens on passive channels which use a dwell time
of 120 whereas a typical beacon interval is around 100.

The patch changes the dwell time for passive channels to be slightly smaller
than the actual beacon interval to work around the firmware issue. Furthermore
the number of allowed beacon misses is increased from one to three as otherwise
most scans (while associated) won't complete successfully.

However scanning while associated will still fail in corner cases such as a
beacon intervals below 30.

Signed-off-by: Helmut Schaa &lt;helmut.schaa@googlemail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 14a4dfe2ff8c353f59ae8324059ded1cfe22c7d9 upstream.

This patch fixes sporadic firmware restarts when scanning while associated.

The firmware will quietly cancel a scan (while associated) if the dwell time
for a channel to be scanned is larger than the time it may stay away from the
operating channel (because of DTIM catching). Unfortunately the driver is not
notified about the canceled scan and therefore the scan watchdog timeout will
be hit and the driver causes a firmware restart which results in
disassociation. This mainly happens on passive channels which use a dwell time
of 120 whereas a typical beacon interval is around 100.

The patch changes the dwell time for passive channels to be slightly smaller
than the actual beacon interval to work around the firmware issue. Furthermore
the number of allowed beacon misses is increased from one to three as otherwise
most scans (while associated) won't complete successfully.

However scanning while associated will still fail in corner cases such as a
beacon intervals below 30.

Signed-off-by: Helmut Schaa &lt;helmut.schaa@googlemail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>p54usb: rewriting rx/tx routines to make use of usb_anchor's facilities</title>
<updated>2009-02-06T21:47:22+00:00</updated>
<author>
<name>Christian Lamparter</name>
<email>chunkeey@web.de</email>
</author>
<published>2009-01-24T09:44:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d661ee77bd5eedd3782155b6c6f4426dda3abdd3'/>
<id>d661ee77bd5eedd3782155b6c6f4426dda3abdd3</id>
<content type='text'>
commit dd397dc9dddfa2149a1bbc9e52ac7d5630737cec upstream

Alan Stern found several flaws in p54usb's implementation and annotated:
"usb_kill_urb() and similar routines do not expect an URB's completion
routine to deallocate it.  This is almost obvious -- if the URB is deallocated
before the completion routine returns then there's no way for usb_kill_urb
to detect when the URB actually is complete."

This patch addresses all known limitations in the old implementation and fixes
khub's "use-after-freed" hang, when SLUB debug's poisoning option is enabled.

Signed-off-by: Christian Lamparter &lt;chunkeey@web.de&gt;
Tested-by: Larry Finger &lt;Larry.Finger@lwfinger.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit dd397dc9dddfa2149a1bbc9e52ac7d5630737cec upstream

Alan Stern found several flaws in p54usb's implementation and annotated:
"usb_kill_urb() and similar routines do not expect an URB's completion
routine to deallocate it.  This is almost obvious -- if the URB is deallocated
before the completion routine returns then there's no way for usb_kill_urb
to detect when the URB actually is complete."

This patch addresses all known limitations in the old implementation and fixes
khub's "use-after-freed" hang, when SLUB debug's poisoning option is enabled.

Signed-off-by: Christian Lamparter &lt;chunkeey@web.de&gt;
Tested-by: Larry Finger &lt;Larry.Finger@lwfinger.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>p54: fix p54_read_eeprom to cope with tx_hdr_len</title>
<updated>2009-02-06T21:47:20+00:00</updated>
<author>
<name>Christian Lamparter</name>
<email>chunkeey@web.de</email>
</author>
<published>2009-01-24T09:44:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=621c147ff8fc7fca0d127e0e4c7c9c017560900a'/>
<id>621c147ff8fc7fca0d127e0e4c7c9c017560900a</id>
<content type='text'>
commit b92f30d65aeb0502e2ed8beb80c8465578b40002 upstream

This patch fixes a regression in "p54: move eeprom code into common library"
7cb770729ba895f73253dfcd46c3fcba45d896f9

Some of p54usb's devices need a little headroom for the transportation and
this was forgotten in the eeprom change.

Signed-off-by: Christian Lamparter &lt;chunkeey@web.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit b92f30d65aeb0502e2ed8beb80c8465578b40002 upstream

This patch fixes a regression in "p54: move eeprom code into common library"
7cb770729ba895f73253dfcd46c3fcba45d896f9

Some of p54usb's devices need a little headroom for the transportation and
this was forgotten in the eeprom change.

Signed-off-by: Christian Lamparter &lt;chunkeey@web.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>p54: fix lm87 checksum endianness</title>
<updated>2009-02-06T21:47:20+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes@sipsolutions.net</email>
</author>
<published>2009-01-24T09:44:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=631c7b5c602f9516cfe11c4556181c14bee6fdb3'/>
<id>631c7b5c602f9516cfe11c4556181c14bee6fdb3</id>
<content type='text'>
commit c91276592695e13d1b52eab572551017cbf96ee7 upstream

This fixes the checksum calculation for lm87 firmwares
on big endian platforms, the device treats the data as
an array of 32-bit little endian values so the driver
needs to do that as well.

Signed-off-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Acked-by: Christian Lamparter &lt;chunkeey@web.de&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>
commit c91276592695e13d1b52eab572551017cbf96ee7 upstream

This fixes the checksum calculation for lm87 firmwares
on big endian platforms, the device treats the data as
an array of 32-bit little endian values so the driver
needs to do that as well.

Signed-off-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Acked-by: Christian Lamparter &lt;chunkeey@web.de&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>iwlwifi: fix rs_get_rate WARN_ON()</title>
<updated>2009-02-06T21:47:20+00:00</updated>
<author>
<name>Abbas, Mohamed</name>
<email>mohamed.abbas@intel.com</email>
</author>
<published>2009-01-21T18:58:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1d2966c46a14815bf7c5016b5ca6068bce9ec1c6'/>
<id>1d2966c46a14815bf7c5016b5ca6068bce9ec1c6</id>
<content type='text'>
commit c338ba3ca5bef2df2082d9e8d336ff7b2880c326 upstream.

In ieee80211_sta structure there is u64 supp_rates[IEEE80211_NUM_BANDS]
this is filled with all support rate from assoc_resp.  If we associate
with G-band AP only supp_rates of G-band will be set the other band
supp_rates will be set to 0. If the user type this command
this will cause mac80211 to set to new channel, mac80211
does not disassociate in setting new channel, so the active
band is now A-band. then in handling the new essid mac80211 will
kick in the assoc steps which involve sending disassociation frame.
in this mac80211 will WARN_ON sta-&gt;supp_rates[A_BAND] == 0.

This fixes:
http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1822
http://www.kerneloops.org/searchweek.php?search=rs_get_rate

Signed-off-by: mohamed abbas &lt;mohamed.abbas@intel.com&gt;
Signed-off-by: Reinette Chatre &lt;reinette.chatre@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit c338ba3ca5bef2df2082d9e8d336ff7b2880c326 upstream.

In ieee80211_sta structure there is u64 supp_rates[IEEE80211_NUM_BANDS]
this is filled with all support rate from assoc_resp.  If we associate
with G-band AP only supp_rates of G-band will be set the other band
supp_rates will be set to 0. If the user type this command
this will cause mac80211 to set to new channel, mac80211
does not disassociate in setting new channel, so the active
band is now A-band. then in handling the new essid mac80211 will
kick in the assoc steps which involve sending disassociation frame.
in this mac80211 will WARN_ON sta-&gt;supp_rates[A_BAND] == 0.

This fixes:
http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1822
http://www.kerneloops.org/searchweek.php?search=rs_get_rate

Signed-off-by: mohamed abbas &lt;mohamed.abbas@intel.com&gt;
Signed-off-by: Reinette Chatre &lt;reinette.chatre@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>orinoco: move kmalloc(..., GFP_KERNEL) outside spinlock in orinoco_ioctl_set_genie</title>
<updated>2009-02-06T21:47:18+00:00</updated>
<author>
<name>Andrey Borzenkov</name>
<email>arvidjaar@mail.ru</email>
</author>
<published>2009-01-29T17:39:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=44c28be98a979209d3fa7a72acfd043200b39f83'/>
<id>44c28be98a979209d3fa7a72acfd043200b39f83</id>
<content type='text'>
commit 7fe99c4e28ab54eada8aa456b417114e6ef21587 upstream

orinoco: move kmalloc(..., GFP_KERNEL) outside spinlock in orinoco_ioctl_set_genie

[   56.923623] BUG: sleeping function called from invalid context at /home/bor/src/linux-git/mm/slub.c:1599
[   56.923644] in_atomic(): 0, irqs_disabled(): 1, pid: 3031, name: wpa_supplicant
[   56.923656] 2 locks held by wpa_supplicant/3031:
[   56.923662]  #0:  (rtnl_mutex){--..}, at: [&lt;c02abd1f&gt;] rtnl_lock+0xf/0x20
[   56.923703]  #1:  (&amp;priv-&gt;lock){++..}, at: [&lt;dfc840c2&gt;] orinoco_ioctl_set_genie+0x52/0x130 [orinoco]
[   56.923782] irq event stamp: 910
[   56.923788] hardirqs last  enabled at (909): [&lt;c01957db&gt;] __kmalloc+0x7b/0x140
[   56.923820] hardirqs last disabled at (910): [&lt;c0309419&gt;] _spin_lock_irqsave+0x19/0x80
[   56.923847] softirqs last  enabled at (880): [&lt;c0124f54&gt;] __do_softirq+0xc4/0x110
[   56.923865] softirqs last disabled at (871): [&lt;c01049ae&gt;] do_softirq+0x8e/0xe0
[   56.923895] Pid: 3031, comm: wpa_supplicant Not tainted 2.6.29-rc2-1avb #1
[   56.923905] Call Trace:
[   56.923919]  [&lt;c01049ae&gt;] ? do_softirq+0x8e/0xe0
[   56.923941]  [&lt;c011ad12&gt;] __might_sleep+0xd2/0x100
[   56.923952]  [&lt;c0195837&gt;] __kmalloc+0xd7/0x140
[   56.923963]  [&lt;c030946a&gt;] ? _spin_lock_irqsave+0x6a/0x80
[   56.923981]  [&lt;dfc840e9&gt;] ? orinoco_ioctl_set_genie+0x79/0x130 [orinoco]
[   56.923999]  [&lt;dfc840c2&gt;] ? orinoco_ioctl_set_genie+0x52/0x130 [orinoco]
[   56.924017]  [&lt;dfc840e9&gt;] orinoco_ioctl_set_genie+0x79/0x130 [orinoco]
[   56.924036]  [&lt;c0209325&gt;] ? copy_from_user+0x35/0x130
[   56.924061]  [&lt;c02ffd96&gt;] ioctl_standard_call+0x196/0x380
[   56.924085]  [&lt;c029f945&gt;] ? __dev_get_by_name+0x85/0xb0
[   56.924096]  [&lt;c02ff88f&gt;] wext_handle_ioctl+0x14f/0x230
[   56.924113]  [&lt;dfc84070&gt;] ? orinoco_ioctl_set_genie+0x0/0x130 [orinoco]
[   56.924132]  [&lt;c02a3da5&gt;] dev_ioctl+0x495/0x570
[   56.924155]  [&lt;c0293e05&gt;] ? sys_sendto+0xa5/0xd0
[   56.924171]  [&lt;c0142fe8&gt;] ? mark_held_locks+0x48/0x90
[   56.924183]  [&lt;c0292880&gt;] ? sock_ioctl+0x0/0x280
[   56.924193]  [&lt;c029297d&gt;] sock_ioctl+0xfd/0x280
[   56.924203]  [&lt;c0292880&gt;] ? sock_ioctl+0x0/0x280
[   56.924235]  [&lt;c01a51d0&gt;] vfs_ioctl+0x20/0x80
[   56.924246]  [&lt;c01a53e2&gt;] do_vfs_ioctl+0x72/0x570
[   56.924257]  [&lt;c0293e62&gt;] ? sys_send+0x32/0x40
[   56.924268]  [&lt;c02947c0&gt;] ? sys_socketcall+0x1d0/0x2a0
[   56.924280]  [&lt;c010339f&gt;] ? sysenter_exit+0xf/0x16
[   56.924292]  [&lt;c01a5919&gt;] sys_ioctl+0x39/0x70
[   56.924302]  [&lt;c0103371&gt;] sysenter_do_call+0x12/0x31

Signed-off-by: Andrey Borzenkov &lt;arvidjaar@mail.ru&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 7fe99c4e28ab54eada8aa456b417114e6ef21587 upstream

orinoco: move kmalloc(..., GFP_KERNEL) outside spinlock in orinoco_ioctl_set_genie

[   56.923623] BUG: sleeping function called from invalid context at /home/bor/src/linux-git/mm/slub.c:1599
[   56.923644] in_atomic(): 0, irqs_disabled(): 1, pid: 3031, name: wpa_supplicant
[   56.923656] 2 locks held by wpa_supplicant/3031:
[   56.923662]  #0:  (rtnl_mutex){--..}, at: [&lt;c02abd1f&gt;] rtnl_lock+0xf/0x20
[   56.923703]  #1:  (&amp;priv-&gt;lock){++..}, at: [&lt;dfc840c2&gt;] orinoco_ioctl_set_genie+0x52/0x130 [orinoco]
[   56.923782] irq event stamp: 910
[   56.923788] hardirqs last  enabled at (909): [&lt;c01957db&gt;] __kmalloc+0x7b/0x140
[   56.923820] hardirqs last disabled at (910): [&lt;c0309419&gt;] _spin_lock_irqsave+0x19/0x80
[   56.923847] softirqs last  enabled at (880): [&lt;c0124f54&gt;] __do_softirq+0xc4/0x110
[   56.923865] softirqs last disabled at (871): [&lt;c01049ae&gt;] do_softirq+0x8e/0xe0
[   56.923895] Pid: 3031, comm: wpa_supplicant Not tainted 2.6.29-rc2-1avb #1
[   56.923905] Call Trace:
[   56.923919]  [&lt;c01049ae&gt;] ? do_softirq+0x8e/0xe0
[   56.923941]  [&lt;c011ad12&gt;] __might_sleep+0xd2/0x100
[   56.923952]  [&lt;c0195837&gt;] __kmalloc+0xd7/0x140
[   56.923963]  [&lt;c030946a&gt;] ? _spin_lock_irqsave+0x6a/0x80
[   56.923981]  [&lt;dfc840e9&gt;] ? orinoco_ioctl_set_genie+0x79/0x130 [orinoco]
[   56.923999]  [&lt;dfc840c2&gt;] ? orinoco_ioctl_set_genie+0x52/0x130 [orinoco]
[   56.924017]  [&lt;dfc840e9&gt;] orinoco_ioctl_set_genie+0x79/0x130 [orinoco]
[   56.924036]  [&lt;c0209325&gt;] ? copy_from_user+0x35/0x130
[   56.924061]  [&lt;c02ffd96&gt;] ioctl_standard_call+0x196/0x380
[   56.924085]  [&lt;c029f945&gt;] ? __dev_get_by_name+0x85/0xb0
[   56.924096]  [&lt;c02ff88f&gt;] wext_handle_ioctl+0x14f/0x230
[   56.924113]  [&lt;dfc84070&gt;] ? orinoco_ioctl_set_genie+0x0/0x130 [orinoco]
[   56.924132]  [&lt;c02a3da5&gt;] dev_ioctl+0x495/0x570
[   56.924155]  [&lt;c0293e05&gt;] ? sys_sendto+0xa5/0xd0
[   56.924171]  [&lt;c0142fe8&gt;] ? mark_held_locks+0x48/0x90
[   56.924183]  [&lt;c0292880&gt;] ? sock_ioctl+0x0/0x280
[   56.924193]  [&lt;c029297d&gt;] sock_ioctl+0xfd/0x280
[   56.924203]  [&lt;c0292880&gt;] ? sock_ioctl+0x0/0x280
[   56.924235]  [&lt;c01a51d0&gt;] vfs_ioctl+0x20/0x80
[   56.924246]  [&lt;c01a53e2&gt;] do_vfs_ioctl+0x72/0x570
[   56.924257]  [&lt;c0293e62&gt;] ? sys_send+0x32/0x40
[   56.924268]  [&lt;c02947c0&gt;] ? sys_socketcall+0x1d0/0x2a0
[   56.924280]  [&lt;c010339f&gt;] ? sysenter_exit+0xf/0x16
[   56.924292]  [&lt;c01a5919&gt;] sys_ioctl+0x39/0x70
[   56.924302]  [&lt;c0103371&gt;] sysenter_do_call+0x12/0x31

Signed-off-by: Andrey Borzenkov &lt;arvidjaar@mail.ru&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>rtl8187: Fix error in setting OFDM power settings for RTL8187L</title>
<updated>2009-02-02T17:53:25+00:00</updated>
<author>
<name>Larry Finger</name>
<email>Larry.Finger@lwfinger.net</email>
</author>
<published>2009-01-27T18:31:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f113ce73199be055550c6ed242f499be208d0b30'/>
<id>f113ce73199be055550c6ed242f499be208d0b30</id>
<content type='text'>
commit eb83bbf57429ab80f49b413e3e44d3b19c3fdc5a upstream.

After reports of poor performance, a review of the latest vendor driver
(rtl8187_linux_26.1025.0328.2007) for RTL8187L devices was undertaken.

A difference was found in the code used to index the OFDM power tables. When
the Linux driver was changed, my unit works at a much greater range than
before. I think this fixes Bugzilla #12380 and has been tested by at least
two other users.

Signed-off-by: Larry Finger &lt;Larry.Finger@lwfinger.net&gt;
Tested-by: Martín Ernesto Barreyro &lt;barreyromartin@gmail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit eb83bbf57429ab80f49b413e3e44d3b19c3fdc5a upstream.

After reports of poor performance, a review of the latest vendor driver
(rtl8187_linux_26.1025.0328.2007) for RTL8187L devices was undertaken.

A difference was found in the code used to index the OFDM power tables. When
the Linux driver was changed, my unit works at a much greater range than
before. I think this fixes Bugzilla #12380 and has been tested by at least
two other users.

Signed-off-by: Larry Finger &lt;Larry.Finger@lwfinger.net&gt;
Tested-by: Martín Ernesto Barreyro &lt;barreyromartin@gmail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
</feed>
