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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> Signed-off-by: John W. Linville <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> Signed-off-by: John W. Linville <[EMAIL PROTECTED]> 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;