* [PATCH 11/24] rt2x00: Correctly handle RF 0 writing
@ 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 9b7ee86485d789df2a1e6006a073d0847f54a5b7 Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@gmail.com>
Date: Sat, 28 Jul 2007 12:15:56 +0200
Subject: [PATCH 11/24] rt2x00: Correctly handle RF 0 writing
When attempting to write to RF 0 the rf handler should
exit immediately.
This also removes the requirement to do index - 1
when reading and writing to the RF buffer since the size
is big enough to keep word 0 unused.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
---
drivers/net/wireless/rt2400pci.c | 3 +++
drivers/net/wireless/rt2500pci.c | 3 +++
drivers/net/wireless/rt2500usb.c | 3 +++
drivers/net/wireless/rt2x00.h | 6 ++----
drivers/net/wireless/rt61pci.c | 3 +++
drivers/net/wireless/rt73usb.c | 3 +++
6 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/drivers/net/wireless/rt2400pci.c b/drivers/net/wireless/rt2400pci.c
index 45bc993..a43a407 100644
--- a/drivers/net/wireless/rt2400pci.c
+++ b/drivers/net/wireless/rt2400pci.c
@@ -142,6 +142,9 @@ static void rt2400pci_rf_write(const struct rt2x00_dev *rt2x00dev,
u32 reg;
unsigned int i;
+ if (!word)
+ return;
+
for (i = 0; i < REGISTER_BUSY_COUNT; i++) {
rt2x00pci_register_read(rt2x00dev, RFCSR, ®);
if (!rt2x00_get_field32(reg, RFCSR_BUSY))
diff --git a/drivers/net/wireless/rt2500pci.c b/drivers/net/wireless/rt2500pci.c
index 3117e0b..7f4287c 100644
--- a/drivers/net/wireless/rt2500pci.c
+++ b/drivers/net/wireless/rt2500pci.c
@@ -142,6 +142,9 @@ static void rt2500pci_rf_write(const struct rt2x00_dev *rt2x00dev,
u32 reg;
unsigned int i;
+ if (!word)
+ return;
+
for (i = 0; i < REGISTER_BUSY_COUNT; i++) {
rt2x00pci_register_read(rt2x00dev, RFCSR, ®);
if (!rt2x00_get_field32(reg, RFCSR_BUSY))
diff --git a/drivers/net/wireless/rt2500usb.c b/drivers/net/wireless/rt2500usb.c
index 89cb347..0d775fa 100644
--- a/drivers/net/wireless/rt2500usb.c
+++ b/drivers/net/wireless/rt2500usb.c
@@ -178,6 +178,9 @@ static void rt2500usb_rf_write(const struct rt2x00_dev *rt2x00dev,
u16 reg;
unsigned int i;
+ if (!word)
+ return;
+
for (i = 0; i < REGISTER_BUSY_COUNT; i++) {
rt2500usb_register_read(rt2x00dev, PHY_CSR10, ®);
if (!rt2x00_get_field16(reg, PHY_CSR10_RF_BUSY))
diff --git a/drivers/net/wireless/rt2x00.h b/drivers/net/wireless/rt2x00.h
index 8be013b..227a50a 100644
--- a/drivers/net/wireless/rt2x00.h
+++ b/drivers/net/wireless/rt2x00.h
@@ -961,15 +961,13 @@ 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)
{
- if (word)
- *data = rt2x00dev->rf[word - 1];
+ *data = rt2x00dev->rf[word];
}
static inline void rt2x00_rf_write(const struct rt2x00_dev *rt2x00dev,
const unsigned int word, u32 data)
{
- if (word)
- rt2x00dev->rf[word - 1] = data;
+ rt2x00dev->rf[word] = data;
}
/*
diff --git a/drivers/net/wireless/rt61pci.c b/drivers/net/wireless/rt61pci.c
index fb0c5c5..37191a4 100644
--- a/drivers/net/wireless/rt61pci.c
+++ b/drivers/net/wireless/rt61pci.c
@@ -140,6 +140,9 @@ static void rt61pci_rf_write(const struct rt2x00_dev *rt2x00dev,
u32 reg;
unsigned int i;
+ if (!word)
+ return;
+
for (i = 0; i < REGISTER_BUSY_COUNT; i++) {
rt2x00pci_register_read(rt2x00dev, PHY_CSR4, ®);
if (!rt2x00_get_field32(reg, PHY_CSR4_BUSY))
diff --git a/drivers/net/wireless/rt73usb.c b/drivers/net/wireless/rt73usb.c
index 07e6087..8add8d3 100644
--- a/drivers/net/wireless/rt73usb.c
+++ b/drivers/net/wireless/rt73usb.c
@@ -179,6 +179,9 @@ static void rt73usb_rf_write(const struct rt2x00_dev *rt2x00dev,
u32 reg;
unsigned int i;
+ if (!word)
+ return;
+
for (i = 0; i < REGISTER_BUSY_COUNT; i++) {
rt73usb_register_read(rt2x00dev, PHY_CSR4, ®);
if (!rt2x00_get_field32(reg, PHY_CSR4_BUSY))
--
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 11/24] rt2x00: Correctly handle RF 0 writing 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.