From: Ivo van Doorn <ivdoorn@gmail.com>
To: "John W. Linville" <linville@tuxdriver.com>
Cc: linux-wireless@vger.kernel.org, rt2400-devel@lists.sourceforge.net
Subject: [PATCH 11/24] rt2x00: Correctly handle RF 0 writing
Date: Tue, 31 Jul 2007 20:37:19 +0200 [thread overview]
Message-ID: <200707312037.19852.IvDoorn@gmail.com> (raw)
>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
reply other threads:[~2007-07-31 18:34 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200707312037.19852.IvDoorn@gmail.com \
--to=ivdoorn@gmail.com \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
--cc=rt2400-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.