Subject: Re: linux-next: wireless tree build warnings

From: Stephen Rothwell <[email-masked]>
Date: Thu, 31 Dec 2009 13:00:05 +1100

Hi René, On Thu, 31 Dec 2009 01:56:49 +0100 René Bolldorf <[email-masked]> 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                    [email-masked]
http://www.canb.auug.org.au/~sfr/