Linux v3.4-rc5-183-g0a6ba09
This commit is contained in:
parent
fbdf88c7b3
commit
3637da2acd
@ -1,69 +0,0 @@
|
|||||||
Driver incorrectly validates command completion: instead of waiting
|
|
||||||
for a command to be acknowledged it continues execution. Most of the
|
|
||||||
time driver gets acknowledge of the command completion in a tasklet
|
|
||||||
before it executes the next one. But sometimes it sends the next
|
|
||||||
command before it gets acknowledge for the previous one. In such a
|
|
||||||
case one of the following error messages appear in the log:
|
|
||||||
|
|
||||||
Failed to send SYSTEM_CONFIG: Already sending a command.
|
|
||||||
Failed to send ASSOCIATE: Already sending a command.
|
|
||||||
Failed to send TX_POWER: Already sending a command.
|
|
||||||
|
|
||||||
After that you need to reload the driver to get it working again.
|
|
||||||
|
|
||||||
This bug occurs during roammaping (reported by Sam Varshavchik)
|
|
||||||
https://bugzilla.redhat.com/show_bug.cgi?id=738508
|
|
||||||
and machine booting (reported by Tom Gundersen and Mads Kiilerich)
|
|
||||||
https://bugs.archlinux.org/task/28097
|
|
||||||
https://bugzilla.redhat.com/show_bug.cgi?id=802106
|
|
||||||
|
|
||||||
This patch doesn't fix the delay issue during firmware load.
|
|
||||||
But at least device now works as usual after boot.
|
|
||||||
|
|
||||||
Cc: stable@kernel.org
|
|
||||||
Signed-off-by: Stanislav Yakovlev <stas.yakovlev@gmail.com>
|
|
||||||
---
|
|
||||||
drivers/net/wireless/ipw2x00/ipw2200.c | 13 ++++++++++++-
|
|
||||||
1 files changed, 12 insertions(+), 1 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/net/wireless/ipw2x00/ipw2200.c b/drivers/net/wireless/ipw2x00/ipw2200.c
|
|
||||||
index 4130802..8cbafa5 100644
|
|
||||||
--- a/drivers/net/wireless/ipw2x00/ipw2200.c
|
|
||||||
+++ b/drivers/net/wireless/ipw2x00/ipw2200.c
|
|
||||||
@@ -2192,6 +2192,7 @@ static int __ipw_send_cmd(struct ipw_priv *priv, struct host_cmd *cmd)
|
|
||||||
{
|
|
||||||
int rc = 0;
|
|
||||||
unsigned long flags;
|
|
||||||
+ unsigned long now, end;
|
|
||||||
|
|
||||||
spin_lock_irqsave(&priv->lock, flags);
|
|
||||||
if (priv->status & STATUS_HCMD_ACTIVE) {
|
|
||||||
@@ -2233,10 +2234,20 @@ static int __ipw_send_cmd(struct ipw_priv *priv, struct host_cmd *cmd)
|
|
||||||
}
|
|
||||||
spin_unlock_irqrestore(&priv->lock, flags);
|
|
||||||
|
|
||||||
+ now = jiffies;
|
|
||||||
+ end = now + HOST_COMPLETE_TIMEOUT;
|
|
||||||
+again:
|
|
||||||
rc = wait_event_interruptible_timeout(priv->wait_command_queue,
|
|
||||||
!(priv->
|
|
||||||
status & STATUS_HCMD_ACTIVE),
|
|
||||||
- HOST_COMPLETE_TIMEOUT);
|
|
||||||
+ end - now);
|
|
||||||
+ if (rc < 0) {
|
|
||||||
+ now = jiffies;
|
|
||||||
+ if (time_before(now, end))
|
|
||||||
+ goto again;
|
|
||||||
+ rc = 0;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if (rc == 0) {
|
|
||||||
spin_lock_irqsave(&priv->lock, flags);
|
|
||||||
if (priv->status & STATUS_HCMD_ACTIVE) {
|
|
||||||
--
|
|
||||||
1.7.2.5
|
|
||||||
|
|
||||||
--
|
|
||||||
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
|
|
||||||
the body of a message to majordomo@vger.kernel.org
|
|
||||||
More majordomo info at http://vger.kernel.org/majordomo-info.html
|
|
11
kernel.spec
11
kernel.spec
@ -95,7 +95,7 @@ Summary: The Linux kernel
|
|||||||
# The rc snapshot level
|
# The rc snapshot level
|
||||||
%define rcrev 5
|
%define rcrev 5
|
||||||
# The git snapshot level
|
# The git snapshot level
|
||||||
%define gitrev 3
|
%define gitrev 4
|
||||||
# Set rpm version accordingly
|
# Set rpm version accordingly
|
||||||
%define rpmversion 3.%{upstream_sublevel}.0
|
%define rpmversion 3.%{upstream_sublevel}.0
|
||||||
%endif
|
%endif
|
||||||
@ -752,9 +752,6 @@ Patch22001: selinux-apply-different-permission-to-ptrace-child.patch
|
|||||||
#rhbz 814278 814289 CVE-2012-2119
|
#rhbz 814278 814289 CVE-2012-2119
|
||||||
Patch22007: macvtap-zerocopy-validate-vector-length.patch
|
Patch22007: macvtap-zerocopy-validate-vector-length.patch
|
||||||
|
|
||||||
#rhbz 802106
|
|
||||||
Patch22012: ipw2200-Fix-race-condition-in-the-command-completion-acknowledge.patch
|
|
||||||
|
|
||||||
#rhbz 817298
|
#rhbz 817298
|
||||||
Patch22013: ipw2x00-add-supported-cipher-suites-to-wiphy-initialization.patch
|
Patch22013: ipw2x00-add-supported-cipher-suites-to-wiphy-initialization.patch
|
||||||
|
|
||||||
@ -1455,9 +1452,6 @@ ApplyPatch vgaarb-vga_default_device.patch
|
|||||||
#rhbz 814278 814289 CVE-2012-2119
|
#rhbz 814278 814289 CVE-2012-2119
|
||||||
ApplyPatch macvtap-zerocopy-validate-vector-length.patch
|
ApplyPatch macvtap-zerocopy-validate-vector-length.patch
|
||||||
|
|
||||||
#rhbz 802106
|
|
||||||
ApplyPatch ipw2200-Fix-race-condition-in-the-command-completion-acknowledge.patch
|
|
||||||
|
|
||||||
#rhbz 817298
|
#rhbz 817298
|
||||||
ApplyPatch ipw2x00-add-supported-cipher-suites-to-wiphy-initialization.patch
|
ApplyPatch ipw2x00-add-supported-cipher-suites-to-wiphy-initialization.patch
|
||||||
|
|
||||||
@ -2331,6 +2325,9 @@ fi
|
|||||||
# ||----w |
|
# ||----w |
|
||||||
# || ||
|
# || ||
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri May 04 2012 Josh Boyer <jwboyer@redhat.com> - 3.4.0-0.rc5.git4.1
|
||||||
|
- Linux v3.4-rc5-183-g0a6ba09
|
||||||
|
|
||||||
* Thu May 03 2012 Dennis Gilmore <dennis@ausil.us>
|
* Thu May 03 2012 Dennis Gilmore <dennis@ausil.us>
|
||||||
- enable omap KMS driver
|
- enable omap KMS driver
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -1,3 +1,3 @@
|
|||||||
7133f5a2086a7d7ef97abac610c094f5 linux-3.3.tar.xz
|
7133f5a2086a7d7ef97abac610c094f5 linux-3.3.tar.xz
|
||||||
18198a18d18496685a7e7a9572b0ae62 patch-3.4-rc5.xz
|
18198a18d18496685a7e7a9572b0ae62 patch-3.4-rc5.xz
|
||||||
237e4218e7eef3b4e92f5bc1ee4cec2a patch-3.4-rc5-git3.xz
|
685c98122b3006826534011951f0f52b patch-3.4-rc5-git4.xz
|
||||||
|
Loading…
Reference in New Issue
Block a user