From: Ivo van Doorn <ivdoorn@gmail.com>
To: "John W. Linville" <linville@tuxdriver.com>
Cc: rt2400-devel@lists.sourceforge.net, linux-wireless@vger.kernel.org
Subject: [PATCH 02/11] rt2x00: Fix compile-time ffs calculation macros.
Date: Tue, 3 Jun 2008 20:29:39 +0200 [thread overview]
Message-ID: <200806032029.40085.IvDoorn@gmail.com> (raw)
In-Reply-To: <200806032025.45029.IvDoorn@gmail.com>
The compile_ffsx macros were missing a set of parentheses, which resulted in
wrong bit offset calculations.
This fixes rt61pci detection failures, whereby the rf chipset wasn't detected
properly due to improper bit shifting.
This patch is based on GertJan's report + patch to fix the parentheses problem
Signed-off-by: Gertjan van Wingerde <gwingerde@kpnplanet.nl>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
---
drivers/net/wireless/rt2x00/rt2x00reg.h | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2x00reg.h b/drivers/net/wireless/rt2x00/rt2x00reg.h
index 03e846f..7999d54 100644
--- a/drivers/net/wireless/rt2x00/rt2x00reg.h
+++ b/drivers/net/wireless/rt2x00/rt2x00reg.h
@@ -145,19 +145,23 @@ struct rt2x00_field32 {
* compile-time rather then run-time.
*/
#define compile_ffs2(__x) \
- ((__x) & 0x1) ? 0 : 1
+ ( ((__x) & 0x1) ? 0 : 1 )
#define compile_ffs4(__x) \
- ((__x) & 0x3) ? compile_ffs2(__x) : compile_ffs2(__x >> 2) + 2
+ ( ((__x) & 0x3) ? \
+ compile_ffs2(__x) : (compile_ffs2(__x >> 2) + 2) )
#define compile_ffs8(__x) \
- ((__x) & 0xf) ? compile_ffs4(__x) : compile_ffs4(__x >> 4) + 4
+ ( ((__x) & 0xf) ? \
+ compile_ffs4(__x) : (compile_ffs4(__x >> 4) + 4) )
#define compile_ffs16(__x) \
- ((__x) & 0xff) ? compile_ffs8(__x) : compile_ffs8(__x >> 8) + 8
+ ( ((__x) & 0xff) ? \
+ compile_ffs8(__x) : (compile_ffs8(__x >> 8) + 8) )
#define compile_ffs32(__x) \
- ((__x) & 0xffff) ? compile_ffs16(__x) : compile_ffs16(__x >> 16) + 16
+ ( ((__x) & 0xffff) ? \
+ compile_ffs16(__x) : (compile_ffs16(__x >> 16) + 16) )
/*
* This macro will check the requirements for the FIELD{8,16,32} macros
--
1.5.5.3
next prev parent reply other threads:[~2008-06-03 18:26 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200806032024.52931.IvDoorn@gmail.com>
2008-06-03 18:29 ` [PATCH 01/11] rt2x00: Calculate register offset during compile time Ivo van Doorn
2008-06-03 20:05 ` [PATCH 01/11 v2] " Ivo van Doorn
2008-06-03 20:32 ` Johannes Berg
2008-06-03 20:44 ` Ivo van Doorn
2008-06-03 20:45 ` [PATCH 01/11 v3] " Ivo van Doorn
2008-06-03 20:41 ` Johannes Berg
2008-06-03 21:18 ` Harvey Harrison
2008-06-03 22:10 ` Ivo van Doorn
[not found] ` <200806032025.45029.IvDoorn@gmail.com>
2008-06-03 18:29 ` Ivo van Doorn [this message]
2008-06-03 18:52 ` [PATCH 02/11] rt2x00: Fix compile-time ffs calculation macros Johannes Berg
2008-06-03 20:02 ` Ivo van Doorn
[not found] ` <200806032026.16128.IvDoorn@gmail.com>
2008-06-03 18:29 ` [PATCH 03/11] rt2x00: Make rt2x00_set/get_field macros Ivo van Doorn
[not found] ` <200806032026.40506.IvDoorn@gmail.com>
2008-06-03 18:29 ` [PATCH 04/11] rt2x00: Restrict DMA to 32-bit addresses Ivo van Doorn
[not found] ` <200806032027.06094.IvDoorn@gmail.com>
2008-06-03 18:29 ` [PATCH 05/11] rt2x00: Don't kill guardian_urb when it wasn't created Ivo van Doorn
2008-06-03 20:02 ` Stefanik Gábor
[not found] ` <200806032027.27540.IvDoorn@gmail.com>
2008-06-03 18:29 ` [PATCH 06/11] rt2x00: Removed unused descriptor read in txdone Ivo van Doorn
[not found] ` <200806032027.47342.IvDoorn@gmail.com>
2008-06-03 18:29 ` [PATCH 07/11] rt2x00: Remove CTS/RTS check in tx() Ivo van Doorn
[not found] ` <200806032028.03154.IvDoorn@gmail.com>
2008-06-03 18:30 ` [PATCH 08/11] rt2x00: Move led initialization into function Ivo van Doorn
[not found] ` <200806032028.21795.IvDoorn@gmail.com>
[not found] ` <200806032028.39575.IvDoorn@gmail.com>
2008-06-03 18:29 ` [PATCH 10/11] rt2x00: Fix queue initialization Ivo van Doorn
2008-06-03 18:29 ` [PATCH 11/11] rt2x00: Release rt2x00 2.1.7 Ivo van Doorn
2008-06-03 18:30 ` [PATCH 09/11] rt2x00: Cleanup/optimize set_state() function callback function Ivo van Doorn
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=200806032029.40085.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 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).