All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 08/24] rt2x00: Fix invalid RF array reading
@ 2007-07-31 18:37 Ivo van Doorn
  0 siblings, 0 replies; only message in thread
From: Ivo van Doorn @ 2007-07-31 18:37 UTC (permalink / raw)
  To: John W. Linville; +Cc: linux-wireless, rt2400-devel

>From 9a895eb31291e4a856a4d04f4f99ea6cf055e5ec Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Sat, 28 Jul 2007 01:12:39 +0200
Subject: [PATCH 08/24] rt2x00: Fix invalid RF array reading

RF registers don't have a word 0, check when this is
being requested and just ignore that request. (Only possible
call can come from debugfs).

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
---
 drivers/net/wireless/rt2400pci.h |    2 +-
 drivers/net/wireless/rt2500pci.h |    2 +-
 drivers/net/wireless/rt2500usb.h |    2 +-
 drivers/net/wireless/rt2x00.h    |    6 ++++--
 drivers/net/wireless/rt61pci.h   |    2 +-
 drivers/net/wireless/rt73usb.h   |    2 +-
 6 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/drivers/net/wireless/rt2400pci.h b/drivers/net/wireless/rt2400pci.h
index 54fd789..930b2ca 100644
--- a/drivers/net/wireless/rt2400pci.h
+++ b/drivers/net/wireless/rt2400pci.h
@@ -48,7 +48,7 @@
 #define EEPROM_BASE			0x0000
 #define EEPROM_SIZE			0x0100
 #define BBP_SIZE			0x0020
-#define RF_SIZE				0x0008
+#define RF_SIZE				0x000c
 
 /*
  * Control/Status Registers(CSR).
diff --git a/drivers/net/wireless/rt2500pci.h b/drivers/net/wireless/rt2500pci.h
index 49c6792..463f2c9 100644
--- a/drivers/net/wireless/rt2500pci.h
+++ b/drivers/net/wireless/rt2500pci.h
@@ -59,7 +59,7 @@
 #define EEPROM_BASE			0x0000
 #define EEPROM_SIZE			0x0200
 #define BBP_SIZE			0x0040
-#define RF_SIZE				0x000c
+#define RF_SIZE				0x0010
 
 /*
  * Control/Status Registers(CSR).
diff --git a/drivers/net/wireless/rt2500usb.h b/drivers/net/wireless/rt2500usb.h
index 425c804..065c3ab 100644
--- a/drivers/net/wireless/rt2500usb.h
+++ b/drivers/net/wireless/rt2500usb.h
@@ -59,7 +59,7 @@
 #define EEPROM_BASE			0x0000
 #define EEPROM_SIZE			0x006a
 #define BBP_SIZE			0x0060
-#define RF_SIZE				0x000c
+#define RF_SIZE				0x0010
 
 /*
  * Control/Status Registers(CSR).
diff --git a/drivers/net/wireless/rt2x00.h b/drivers/net/wireless/rt2x00.h
index bf80f51..8be013b 100644
--- a/drivers/net/wireless/rt2x00.h
+++ b/drivers/net/wireless/rt2x00.h
@@ -961,13 +961,15 @@ static inline struct data_ring* rt2x00_get_ring(
 static inline void rt2x00_rf_read(const struct rt2x00_dev *rt2x00dev,
 	const unsigned int word, u32 *data)
 {
-	*data = rt2x00dev->rf[word - 1];
+	if (word)
+		*data = rt2x00dev->rf[word - 1];
 }
 
 static inline void rt2x00_rf_write(const struct rt2x00_dev *rt2x00dev,
 	const unsigned int word, u32 data)
 {
-	rt2x00dev->rf[word] = data;
+	if (word)
+		rt2x00dev->rf[word - 1] = data;
 }
 
 /*
diff --git a/drivers/net/wireless/rt61pci.h b/drivers/net/wireless/rt61pci.h
index ed450e7..3e653bd 100644
--- a/drivers/net/wireless/rt61pci.h
+++ b/drivers/net/wireless/rt61pci.h
@@ -50,7 +50,7 @@
 #define EEPROM_BASE			0x0000
 #define EEPROM_SIZE			0x0100
 #define BBP_SIZE			0x0080
-#define RF_SIZE				0x000c
+#define RF_SIZE				0x0010
 
 /*
  * PCI registers.
diff --git a/drivers/net/wireless/rt73usb.h b/drivers/net/wireless/rt73usb.h
index 276fa3f..ee2e0b1 100644
--- a/drivers/net/wireless/rt73usb.h
+++ b/drivers/net/wireless/rt73usb.h
@@ -50,7 +50,7 @@
 #define EEPROM_BASE			0x0000
 #define EEPROM_SIZE			0x0100
 #define BBP_SIZE			0x0080
-#define RF_SIZE				0x000c
+#define RF_SIZE				0x0010
 
 /*
  * USB registers.
-- 
1.5.2.4


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2007-07-31 18:34 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-31 18:37 [PATCH 08/24] rt2x00: Fix invalid RF array reading Ivo van Doorn

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.