2009-09-17 16:13:23

by Andrew Price

[permalink] [raw]
Subject: rt2x00dev.c:405: error: too few arguments to function ‘rt2x00crypto_rx_insert_iv’

Hi Ivo,

Apologies if this has already been reported. Building today's mainline
kernel (ab86e5) I'm seeing this error:

drivers/net/wireless/rt2x00/rt2x00dev.c: In function ‘rt2x00lib_rxdone’:
drivers/net/wireless/rt2x00/rt2x00dev.c:405: warning: passing argument 3 of ‘rt2x00crypto_rx_insert_iv’ makes integer from pointer without a cast
drivers/net/wireless/rt2x00/rt2x00dev.c:405: error: too few arguments to function ‘rt2x00crypto_rx_insert_iv’

$ grep RT2 .config
CONFIG_RT2X00=y
# CONFIG_RT2400PCI is not set
CONFIG_RT2500PCI=y
# CONFIG_RT2500USB is not set
# CONFIG_RT2800USB is not set
CONFIG_RT2X00_LIB_PCI=y
CONFIG_RT2X00_LIB=y
CONFIG_RT2X00_LIB_LEDS=y
# CONFIG_RT2X00_DEBUG is not set
# CONFIG_RT2860 is not set
# CONFIG_RT2870 is not set

Andrew


2009-09-17 17:30:34

by John W. Linville

[permalink] [raw]
Subject: Re: rt2x00dev.c:405: error: too few arguments to function ‘rt2x00crypto_rx_insert_iv’

On Thu, Sep 17, 2009 at 04:41:39PM +0100, Andrew Price wrote:
> Hi Ivo,
>
> Apologies if this has already been reported. Building today's mainline
> kernel (ab86e5) I'm seeing this error:
>
> drivers/net/wireless/rt2x00/rt2x00dev.c: In function ‘rt2x00lib_rxdone’:
> drivers/net/wireless/rt2x00/rt2x00dev.c:405: warning: passing argument 3 of ‘rt2x00crypto_rx_insert_iv’ makes integer from pointer without a cast
> drivers/net/wireless/rt2x00/rt2x00dev.c:405: error: too few arguments to function ‘rt2x00crypto_rx_insert_iv’

Strange...I don't see this warning. Are you sure you have a clean checkout?

--
John W. Linville Someday the world will need a hero, and you
[email protected] might be all we have. Be ready.

2009-09-17 18:11:32

by Andrew Price

[permalink] [raw]
Subject: Re: rt2x00dev.c:405: error: too few arguments to function ‘rt2x00crypto_rx_insert_iv’

On Thu, Sep 17, 2009 at 01:23:59PM -0400, John W. Linville wrote:
> On Thu, Sep 17, 2009 at 04:41:39PM +0100, Andrew Price wrote:
> > Hi Ivo,
> >
> > Apologies if this has already been reported. Building today's mainline
> > kernel (ab86e5) I'm seeing this error:
> >
> > drivers/net/wireless/rt2x00/rt2x00dev.c: In function ‘rt2x00lib_rxdone’:
> > drivers/net/wireless/rt2x00/rt2x00dev.c:405: warning: passing argument 3 of ‘rt2x00crypto_rx_insert_iv’ makes integer from pointer without a cast
> > drivers/net/wireless/rt2x00/rt2x00dev.c:405: error: too few arguments to function ‘rt2x00crypto_rx_insert_iv’
>
> Strange...I don't see this warning. Are you sure you have a clean checkout?

I double-checked:

- git status returned no changes
- git clean -fqdx
- ccache -C
- Retried the build

and still got the same error. Is this something to do with the second
definition of rt2x00crypto_rx_insert_iv still having an l2pad parameter...

This (untested) patch fixes the build for me:

--

diff --git a/drivers/net/wireless/rt2x00/rt2x00lib.h b/drivers/net/wireless/rt2x00/rt2x00lib.h
index 5462cb5..567f029 100644
--- a/drivers/net/wireless/rt2x00/rt2x00lib.h
+++ b/drivers/net/wireless/rt2x00/rt2x00lib.h
@@ -380,7 +380,7 @@ static inline void rt2x00crypto_tx_insert_iv(struct sk_buff *skb,
{
}

-static inline void rt2x00crypto_rx_insert_iv(struct sk_buff *skb, bool l2pad,
+static inline void rt2x00crypto_rx_insert_iv(struct sk_buff *skb,
unsigned int header_length,
struct rxdone_entry_desc *rxdesc)
{

2009-09-17 20:00:35

by John W. Linville

[permalink] [raw]
Subject: Re: rt2x00dev.c:405: error: too few arguments to function ‘rt2x00crypto_rx_insert_iv’

On Thu, Sep 17, 2009 at 07:11:33PM +0100, Andrew Price wrote:
> On Thu, Sep 17, 2009 at 01:23:59PM -0400, John W. Linville wrote:
> > On Thu, Sep 17, 2009 at 04:41:39PM +0100, Andrew Price wrote:
> > > Hi Ivo,
> > >
> > > Apologies if this has already been reported. Building today's mainline
> > > kernel (ab86e5) I'm seeing this error:
> > >
> > > drivers/net/wireless/rt2x00/rt2x00dev.c: In function ‘rt2x00lib_rxdone’:
> > > drivers/net/wireless/rt2x00/rt2x00dev.c:405: warning: passing argument 3 of ‘rt2x00crypto_rx_insert_iv’ makes integer from pointer without a cast
> > > drivers/net/wireless/rt2x00/rt2x00dev.c:405: error: too few arguments to function ‘rt2x00crypto_rx_insert_iv’
> >
> > Strange...I don't see this warning. Are you sure you have a clean checkout?
>
> I double-checked:
>
> - git status returned no changes
> - git clean -fqdx
> - ccache -C
> - Retried the build
>
> and still got the same error. Is this something to do with the second
> definition of rt2x00crypto_rx_insert_iv still having an l2pad parameter...
>
> This (untested) patch fixes the build for me:

Oh, I see now -- thanks for the patch! FWIW, it would seem to only
show-up when you have CONFIG_RT2500PCI but none of the other rt2x00
family drivers in your .config...

John

P.S. Could you resubmit to [email protected], following
the normal patch submission guidelines as discussed here?

http://linux.yyz.us/patch-format.html

--
John W. Linville Someday the world will need a hero, and you
[email protected] might be all we have. Be ready.

2009-09-17 20:50:08

by Andrew Price

[permalink] [raw]
Subject: Re: rt2x00dev.c:405: error: too few arguments to function ‘rt2x00crypto_rx_insert_iv’

On Thu, Sep 17, 2009 at 03:58:11PM -0400, John W. Linville wrote:
> Oh, I see now -- thanks for the patch! FWIW, it would seem to only
> show-up when you have CONFIG_RT2500PCI but none of the other rt2x00
> family drivers in your .config...
>
> John
>
> P.S. Could you resubmit to [email protected], following
> the normal patch submission guidelines as discussed here?
>
> http://linux.yyz.us/patch-format.html

Done. Just waiting for the greylist to let it through :-)

Cheers,

Andrew

2009-09-17 20:24:38

by Ivo Van Doorn

[permalink] [raw]
Subject: Re: rt2x00dev.c:405: error: too few arguments to function ‘rt2x00crypto_rx_insert_iv’

On Thursday 17 September 2009, John W. Linville wrote:
> On Thu, Sep 17, 2009 at 07:11:33PM +0100, Andrew Price wrote:
> > On Thu, Sep 17, 2009 at 01:23:59PM -0400, John W. Linville wrote:
> > > On Thu, Sep 17, 2009 at 04:41:39PM +0100, Andrew Price wrote:
> > > > Hi Ivo,
> > > >
> > > > Apologies if this has already been reported. Building today's mainline
> > > > kernel (ab86e5) I'm seeing this error:
> > > >
> > > > drivers/net/wireless/rt2x00/rt2x00dev.c: In function ‘rt2x00lib_rxdone’:
> > > > drivers/net/wireless/rt2x00/rt2x00dev.c:405: warning: passing argument 3 of ‘rt2x00crypto_rx_insert_iv’ makes integer from pointer without a cast
> > > > drivers/net/wireless/rt2x00/rt2x00dev.c:405: error: too few arguments to function ‘rt2x00crypto_rx_insert_iv’
> > >
> > > Strange...I don't see this warning. Are you sure you have a clean checkout?
> >
> > I double-checked:
> >
> > - git status returned no changes
> > - git clean -fqdx
> > - ccache -C
> > - Retried the build
> >
> > and still got the same error. Is this something to do with the second
> > definition of rt2x00crypto_rx_insert_iv still having an l2pad parameter...
> >
> > This (untested) patch fixes the build for me:
>
> Oh, I see now -- thanks for the patch! FWIW, it would seem to only
> show-up when you have CONFIG_RT2500PCI but none of the other rt2x00
> family drivers in your .config...

Ah yes, that patch looks correct, indeed this is only triggered when only
CONFIG_RT2400PCI and/or CONFIG_RT2500PCI are selected without the
other drivers (which support HW crypto).

Ivo