Bug#498828: rt61pci needs one more millisecond to initialize
Package: linux-image-2.6.26-1-686
Version: 2.6.26-5
Severity: important
Tags: patch
Hello,
It is known that the rt61pci module needs one more millisecond to
initialize after the wireless card's firmware has been uploaded.
This problem was fixed with the following commit in 2.6.27-rcX
series:
=== 8< ===
commit e6d3e902088ac5da77b074f513e3cb80422ff471
Author: Ivo van Doorn <ivdoorn@gmail.com>
Date: Sun Jul 27 15:06:50 2008 +0200
rt2x00: rt61pci needs another millisecond after firmware upload
=== >8 ===
If this patch is not applied, then rt61pci becomes unresponsive after
one brings the interface down and up.
The appended patch fixes this issue. It applies (with an offset)
to Debian's kernel sources (2.6.26-5).
Regards,
M. Vefa Bicakci
Note: I am attaching the patch as well, in case my e-mail
client messes up the patch.
=== 8< ===
commit e6d3e902088ac5da77b074f513e3cb80422ff471
Author: Ivo van Doorn <ivdoorn@gmail.com>
Date: Sun Jul 27 15:06:50 2008 +0200
rt2x00: rt61pci needs another millisecond after firmware upload
After the hardware has indicated the firmware upload has completed
and the device is ready, we should wait another millisecond to
make sure the device is really ready to continue.
Without this timout, bringing the interface down and up again will
fail due to incorrect register initialization.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
diff --git a/drivers/net/wireless/rt2x00/rt61pci.c
b/drivers/net/wireless/rt2x00/rt61pci.c
index fbe2a65..087e90b 100644
--- a/drivers/net/wireless/rt2x00/rt61pci.c
+++ b/drivers/net/wireless/rt2x00/rt61pci.c
@@ -1004,6 +1004,11 @@ static int rt61pci_load_firmware(struct rt2x00_dev
*rt2x00dev, const void *data,
}
/*
+ * Hardware needs another millisecond before it is ready.
+ */
+ msleep(1);
+
+ /*
* Reset MAC and BBP registers.
*/
reg = 0;
=== >8 ===
commit e6d3e902088ac5da77b074f513e3cb80422ff471
Author: Ivo van Doorn <ivdoorn@gmail.com>
Date: Sun Jul 27 15:06:50 2008 +0200
rt2x00: rt61pci needs another millisecond after firmware upload
After the hardware has indicated the firmware upload has completed
and the device is ready, we should wait another millisecond to
make sure the device is really ready to continue.
Without this timout, bringing the interface down and up again will
fail due to incorrect register initialization.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
diff --git a/drivers/net/wireless/rt2x00/rt61pci.c b/drivers/net/wireless/rt2x00/rt61pci.c
index fbe2a65..087e90b 100644
--- a/drivers/net/wireless/rt2x00/rt61pci.c
+++ b/drivers/net/wireless/rt2x00/rt61pci.c
@@ -1004,6 +1004,11 @@ static int rt61pci_load_firmware(struct rt2x00_dev *rt2x00dev, const void *data,
}
/*
+ * Hardware needs another millisecond before it is ready.
+ */
+ msleep(1);
+
+ /*
* Reset MAC and BBP registers.
*/
reg = 0;
Reply to: