Re: [PATCH wireless/arlan] Replace logical- by bit-and

Randy Dunlap
2008-01-10T20:31:20Z

On Thu, 10 Jan 2008 20:15:53 +0100 Roel Kluin wrote:

> Totally untested patch below from linus' git tree. The && is incorrect, right?
>
> from drivers/net/wireless/arlan.h:390:
> #define ARLAN_POWER 0x40
> #define ARLAN_ACCESS 0x80
>
> Replace logical and by bit-and
>
> Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
> ---
> diff --git a/drivers/net/wireless/arlan.h b/drivers/net/wireless/arlan.h
> index 3ed1df7..7b7498f 100644
> --- a/drivers/net/wireless/arlan.h
> +++ b/drivers/net/wireless/arlan.h
> @@ -485,7 +485,7 @@ struct arlan_private {
> #define clearClearInterrupt(dev){\
> writeControlRegister(dev,readControlRegister(dev) & ~ARLAN_CLEAR_INTERRUPT);}
> #define setPowerOff(dev){\
> - writeControlRegister(dev,readControlRegister(dev) | (ARLAN_POWER && ARLAN_ACCESS));\
> + writeControlRegister(dev, readControlRegister(dev) | (ARLAN_POWER & ARLAN_ACCESS));\

eh? How does that help?

0x80 && 0x40 -> 0
0x80 & 0x40 -> 0

so readControlRegister() | (0)
??

Maybe it should be (ARLAN_POWER | ARLAN_ACCESS), but some
arlan developer or someone with specs should help here...

> writeControlRegister(dev,readControlRegister(dev) & ~ARLAN_ACCESS);}
> #define setPowerOn(dev){\
> writeControlRegister(dev,readControlRegister(dev) & ~(ARLAN_POWER)); }

or am I sleeping()?
---
~Randy