2008-07-23 16:53:34

by Christoph Hellwig

[permalink] [raw]
Subject: [PATCH] ath9k: use correct type for test_bit/set_bit

The test_bit/set_bit/etc family of routines operates on arrays of
unsigned long, so declare sc_keymap as such using the DECLARE_BITMAP
helper.


Signed-off-by: Christoph Hellwig <[email protected]>

Index: linux-2.6/drivers/net/wireless/ath9k/core.h
===================================================================
--- linux-2.6.orig/drivers/net/wireless/ath9k/core.h 2008-07-23 18:36:39.000000000 +0200
+++ linux-2.6/drivers/net/wireless/ath9k/core.h 2008-07-23 18:37:28.000000000 +0200
@@ -1042,7 +1042,7 @@ struct ath_softc {

/* Crypto */
u_int sc_keymax; /* size of key cache */
- u_int8_t sc_keymap[ATH_KEYBYTES];/* key use bit map */
+ DECLARE_BITMAP (sc_keymap, ATH_KEYBYTES);/* key use bit map */
u_int8_t sc_splitmic; /* split TKIP MIC keys */
int sc_keytype; /* type of the key being used */



2008-07-23 17:14:11

by Luis R. Rodriguez

[permalink] [raw]
Subject: Re: [PATCH] ath9k: use correct type for test_bit/set_bit

On Wed, Jul 23, 2008 at 9:53 AM, Christoph Hellwig <[email protected]> wrote:
> The test_bit/set_bit/etc family of routines operates on arrays of
> unsigned long, so declare sc_keymap as such using the DECLARE_BITMAP
> helper.
>
>
> Signed-off-by: Christoph Hellwig <[email protected]>

Acked-by: Luis R. Rodriguez <[email protected]>

Luis

2008-07-23 17:29:59

by Andreas Schwab

[permalink] [raw]
Subject: Re: [PATCH] ath9k: use correct type for test_bit/set_bit

Christoph Hellwig <[email protected]> writes:

> The test_bit/set_bit/etc family of routines operates on arrays of
> unsigned long, so declare sc_keymap as such using the DECLARE_BITMAP
> helper.
>
>
> Signed-off-by: Christoph Hellwig <[email protected]>
>
> Index: linux-2.6/drivers/net/wireless/ath9k/core.h
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> --- linux-2.6.orig/drivers/net/wireless/ath9k/core.h 2008-07-23 18:36=
:39.000000000 +0200
> +++ linux-2.6/drivers/net/wireless/ath9k/core.h 2008-07-23 18:37:28.0=
00000000 +0200
> @@ -1042,7 +1042,7 @@ struct ath_softc {
> =20
> /* Crypto */
> u_int sc_keymax; /* size of key cache */
> - u_int8_t sc_keymap[ATH_KEYBYTES];/* key use bit map =
*/
> + DECLARE_BITMAP (sc_keymap, ATH_KEYBYTES);/* key use bit map */

DECLARE_BITMAP expects the number of bits, not bytes.

Andreas.

--=20
Andreas Schwab, SuSE Labs, [email protected]
SuSE Linux Products GmbH, Maxfeldstra=DFe 5, 90409 N=FCrnberg, Germany
PGP key fingerprint =3D 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4=
ED5
"And now for something completely different."

2008-07-23 19:33:07

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH] ath9k: use correct type for test_bit/set_bit

On Wed, Jul 23, 2008 at 07:29:57PM +0200, Andreas Schwab wrote:
> > + DECLARE_BITMAP (sc_keymap, ATH_KEYBYTES);/* key use bit map */
>
> DECLARE_BITMAP expects the number of bits, not bytes.

Indeed, updated version below:

Index: linux-2.6/drivers/net/wireless/ath9k/core.h
===================================================================
--- linux-2.6.orig/drivers/net/wireless/ath9k/core.h 2008-07-23 18:36:39.000000000 +0200
+++ linux-2.6/drivers/net/wireless/ath9k/core.h 2008-07-23 21:26:59.000000000 +0200
@@ -888,7 +888,6 @@ void ath_setdefantenna(void *sc, u_int a
* up to ATH_KEYMAX entries (could dynamically allocate state).
*/
#define ATH_KEYMAX 128 /* max key cache size we handle */
-#define ATH_KEYBYTES (ATH_KEYMAX/NBBY) /* storage space in bytes */

#define RESET_RETRY_TXQ 0x00000001
#define ATH_IF_ID_ANY 0xff
@@ -1042,7 +1041,7 @@ struct ath_softc {

/* Crypto */
u_int sc_keymax; /* size of key cache */
- u_int8_t sc_keymap[ATH_KEYBYTES];/* key use bit map */
+ DECLARE_BITMAP (sc_keymap, ATH_KEYMAX);/* key use bit map */
u_int8_t sc_splitmic; /* split TKIP MIC keys */
int sc_keytype; /* type of the key being used */