2012-05-28 17:55:00

by Geert Uytterhoeven

[permalink] [raw]
Subject: wlcore.ko undefined symbols

m68k allmodconfig:

ERROR: "wl1271_rx_filter_get_fields_size"
[drivers/net/wireless/ti/wlcore/wlcore.ko] undefined!
ERROR: "wl1271_rx_filter_flatten_fields"
[drivers/net/wireless/ti/wlcore/wlcore.ko] undefined!

drivers/net/wireless/ti/wlcore/acx.c needs both functions unconditionally, but
drivers/net/wireless/ti/wlcore/main.c has both functions inside #ifdef
CONFIG_PM.

This is in -next, but I believe all relevant code was merged in
mainline in the mean time.
Sorry for not noticing earlier, due to a longstanding unrelated build
issue in -next.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds


2012-05-29 07:15:10

by Eyal Shapira

[permalink] [raw]
Subject: [PATCH] wlcore: fix undefined symbols when CONFIG_PM is not defined

commit 5063c201d7b799d6cb36d3edfc2c2c3db3b400e5
"wl12xx: add RX filters ACX commands" breaks the build
when CONFIG_PM isn't defined:

ERROR: "wl1271_rx_filter_get_fields_size"
[drivers/net/wireless/ti/wlcore/wlcore.ko] undefined!
ERROR: "wl1271_rx_filter_flatten_fields"
[drivers/net/wireless/ti/wlcore/wlcore.ko] undefined!

code in drivers/net/wireless/ti/wlcore/acx.c is using these
functions unconditionally while they are #ifdefed CONFIG_PM.
Fix it by ifdefing all relevant RX filters code with CONFIG_PM.

Reported-by: Geert Uytterhoeven <[email protected]>
Signed-off-by: Eyal Shapira <[email protected]>
---
Geert - Thanks!

drivers/net/wireless/ti/wlcore/acx.c | 2 ++
drivers/net/wireless/ti/wlcore/acx.h | 4 +++-
drivers/net/wireless/ti/wlcore/rx.c | 2 ++
3 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/ti/wlcore/acx.c b/drivers/net/wireless/ti/wlcore/acx.c
index 0fd78a0..755b225 100644
--- a/drivers/net/wireless/ti/wlcore/acx.c
+++ b/drivers/net/wireless/ti/wlcore/acx.c
@@ -1715,6 +1715,7 @@ out:

}

+#ifdef CONFIG_PM
/* Set the global behaviour of RX filters - On/Off + default action */
int wl1271_acx_default_rx_filter_enable(struct wl1271 *wl, bool enable,
enum rx_filter_action action)
@@ -1793,3 +1794,4 @@ out:
kfree(acx);
return ret;
}
+#endif /* CONFIG_PM */
diff --git a/drivers/net/wireless/ti/wlcore/acx.h b/drivers/net/wireless/ti/wlcore/acx.h
index 8106b2e..e6a7486 100644
--- a/drivers/net/wireless/ti/wlcore/acx.h
+++ b/drivers/net/wireless/ti/wlcore/acx.h
@@ -1330,9 +1330,11 @@ int wl1271_acx_set_inconnection_sta(struct wl1271 *wl, u8 *addr);
int wl1271_acx_fm_coex(struct wl1271 *wl);
int wl12xx_acx_set_rate_mgmt_params(struct wl1271 *wl);
int wl12xx_acx_config_hangover(struct wl1271 *wl);
+
+#ifdef CONFIG_PM
int wl1271_acx_default_rx_filter_enable(struct wl1271 *wl, bool enable,
enum rx_filter_action action);
int wl1271_acx_set_rx_filter(struct wl1271 *wl, u8 index, bool enable,
struct wl12xx_rx_filter *filter);
-
+#endif /* CONFIG_PM */
#endif /* __WL1271_ACX_H__ */
diff --git a/drivers/net/wireless/ti/wlcore/rx.c b/drivers/net/wireless/ti/wlcore/rx.c
index 1f1d948..d6a3c6b 100644
--- a/drivers/net/wireless/ti/wlcore/rx.c
+++ b/drivers/net/wireless/ti/wlcore/rx.c
@@ -279,6 +279,7 @@ void wl12xx_rx(struct wl1271 *wl, struct wl_fw_status *status)
wl12xx_rearm_rx_streaming(wl, active_hlids);
}

+#ifdef CONFIG_PM
int wl1271_rx_filter_enable(struct wl1271 *wl,
int index, bool enable,
struct wl12xx_rx_filter *filter)
@@ -314,3 +315,4 @@ void wl1271_rx_filter_clear_all(struct wl1271 *wl)
wl1271_rx_filter_enable(wl, i, 0, NULL);
}
}
+#endif /* CONFIG_PM */
--
1.7.4.1

2012-05-29 07:21:39

by Luciano Coelho

[permalink] [raw]
Subject: Re: [PATCH] wlcore: fix undefined symbols when CONFIG_PM is not defined

On Tue, 2012-05-29 at 00:15 -0700, Eyal Shapira wrote:
> commit 5063c201d7b799d6cb36d3edfc2c2c3db3b400e5
> "wl12xx: add RX filters ACX commands" breaks the build
> when CONFIG_PM isn't defined:
>
> ERROR: "wl1271_rx_filter_get_fields_size"
> [drivers/net/wireless/ti/wlcore/wlcore.ko] undefined!
> ERROR: "wl1271_rx_filter_flatten_fields"
> [drivers/net/wireless/ti/wlcore/wlcore.ko] undefined!
>
> code in drivers/net/wireless/ti/wlcore/acx.c is using these
> functions unconditionally while they are #ifdefed CONFIG_PM.
> Fix it by ifdefing all relevant RX filters code with CONFIG_PM.
>
> Reported-by: Geert Uytterhoeven <[email protected]>
> Signed-off-by: Eyal Shapira <[email protected]>
> ---

Acked-by: Luciano Coelho <[email protected]>

Thanks, Eyal!

John, can you push this up so it gets applied for 3.5?

--
Cheers,
Luca.

2012-05-29 07:54:57

by Stephen Rothwell

[permalink] [raw]
Subject: Re: [PATCH] wlcore: fix undefined symbols when CONFIG_PM is not defined

Hi Eyal,

On Tue, 29 May 2012 00:15:03 -0700 Eyal Shapira <[email protected]> wrote:
>
> commit 5063c201d7b799d6cb36d3edfc2c2c3db3b400e5
> "wl12xx: add RX filters ACX commands" breaks the build
> when CONFIG_PM isn't defined:

Just wondering what this applies to as there is no such commit (SHA1) in
linux-next. Ah, actually this is commit c21eebb50379 in Linus' tree.

--
Cheers,
Stephen Rothwell [email protected]


Attachments:
(No filename) (438.00 B)
(No filename) (836.00 B)
Download all attachments

2012-05-29 08:17:09

by Eyal Shapira

[permalink] [raw]
Subject: Re: [PATCH] wlcore: fix undefined symbols when CONFIG_PM is not defined

On 29 May 2012 00:54, Stephen Rothwell <[email protected]> wrote:
> Hi Eyal,
>
> On Tue, 29 May 2012 00:15:03 -0700 Eyal Shapira <[email protected]> wrote:
>>
>> commit 5063c201d7b799d6cb36d3edfc2c2c3db3b400e5
>> "wl12xx: add RX filters ACX commands" breaks the build
>> when CONFIG_PM isn't defined:
>
> Just wondering what this applies to as there is no such commit (SHA1) in
> linux-next. ?Ah, actually this is commit c21eebb50379 in Linus' tree.

Stephen - you're right. The commit I've referenced refers to Luca's repo
and not linux-next. I'll send a v2 with the correct commit.
Thanks

>
> --
> Cheers,
> Stephen Rothwell ? ? ? ? ? ? ? ? ? [email protected]