Re: linux-next: wireless tree build warnings

From: Stephen Rothwell
Date: Wed Dec 30 2009 - 21:00:24 EST


Hi RenÃ, On Thu, 31 Dec 2009 01:56:49 +0100 Renà Bolldorf <xsecute@xxxxxxxxxxxxxx> wrote:
>
> On 12/31/09 00:57, Stephen Rothwell wrote:
> > Hi John,
> >
> > Today's linux-next build (i386 defconfig) produced thes warnings:
> >
> > net/mac80211/work.c: In function 'ieee80211_remain_on_channel_timeout':
> > net/mac80211/work.c:534: warning: cast from pointer to integer of different size
> > net/mac80211/work.c: In function 'ieee80211_remain_done':
> > net/mac80211/work.c:1030: warning: cast from pointer to integer of different size
> > net/mac80211/work.c: In function 'ieee80211_wk_remain_on_channel':
> > net/mac80211/work.c:1056: warning: cast from pointer to integer of different size
> > net/mac80211/work.c: In function 'ieee80211_wk_cancel_remain_on_channel':
> > net/mac80211/work.c:1072: warning: cast from pointer to integer of different size
> >
> > Introduced by commits e4da8c37af626001ff704fb29ea14eb58f5f7208
> > ("mac80211: make off-channel work generic") and
> > b8bc4b0aa9bfba755c64b11b8f60e6cfab25dc9d ("mac80211: support
> > remain-on-channel command").
> >
>
> shouldn't it be u32 instead of u64? Please correct me if I'am wrong.
>
> Example:
> cfg80211_ready_on_channel(wk->sdata->dev, (u32)wk, wk->chan,
> wk->chan_type, wk->remain.duration, GFP_KERNEL);
> instead of:
> cfg80211_ready_on_channel(wk->sdata->dev, (u64)wk, wk->chan,
> wk->chan_type, wk->remain.duration, GFP_KERNEL);

the prototype is:

void cfg80211_ready_on_channel(struct net_device *dev, u64 cookie,
struct ieee80211_channel *chan,
enum nl80211_channel_type channel_type,
unsigned int duration, gfp_t gfp);

And in the case in point, "wk" is a pointer, so casting that to a u32
would be even worse on a 64bit architecture.

--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx
http://www.canb.auug.org.au/~sfr/

Attachment: pgp00000.pgp
Description: PGP signature