linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH] rt61pci: fix module reloading with power saving enabled
@ 2009-07-29  5:52 Pavel Roskin
  2009-07-30 18:47 ` Ivo van Doorn
  0 siblings, 1 reply; 2+ messages in thread
From: Pavel Roskin @ 2009-07-29  5:52 UTC (permalink / raw)
  To: linux-wireless, users

Unloading rt61pci can leave the device in such state that reloading
rt61pci would fail to reinitialize it.  Bogus data would be read from
the EEPROM and the RF version won't be recognized.  Only reboot would
return the device to a sane state.

It appears that it happens if rt61pci is unloaded while power saving is
active.  To initialize the device properly, SOFT_RESET_CSR should be set
to the same value as rt61pci_config_ps() uses to wake up the device.

Signed-off-by: Pavel Roskin <proski@gnu.org>
---

I don't know what 0x00000007 is and I don't want to make up a name for
it.

rt61pci_config_ps() does other things, but this is the minimal required
change.  If anyone has a specification for rt61, it should mention
SOFT_RESET_CSR and possibly other registers to be set before EEPROM may
be accessed.

Please note that unloading rt61pci (as well as rt73usb) can trigger an
oops or panic in sysfs code that I didn't have a chance to fix yet.
It's very elusive and manifests differently every time.  Fortunately
(for everyone not debugging it), it's rare.


 drivers/net/wireless/rt2x00/rt61pci.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/rt2x00/rt61pci.c b/drivers/net/wireless/rt2x00/rt61pci.c
index fb95b8c..f615fe6 100644
--- a/drivers/net/wireless/rt2x00/rt61pci.c
+++ b/drivers/net/wireless/rt2x00/rt61pci.c
@@ -2600,6 +2600,8 @@ static int rt61pci_probe_hw(struct rt2x00_dev *rt2x00dev)
 {
 	int retval;
 
+	rt2x00pci_register_write(rt2x00dev, SOFT_RESET_CSR, 0x00000007);
+
 	/*
 	 * Allocate eeprom data.
 	 */

-- 
Regards,
Pavel Roskin

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-07-30 18:48 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-29  5:52 [RFC PATCH] rt61pci: fix module reloading with power saving enabled Pavel Roskin
2009-07-30 18:47 ` Ivo van Doorn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).