diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-10-13 02:51:38 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-10-13 02:51:38 -0400 |
commit | bf94e17bc8d35fc339945a42990a2f2b5e9b5a40 (patch) | |
tree | 580dccfa15e17090f33efabd266b639fd250eae2 /net/mac80211 | |
parent | 4bb03849aee63215f4e3859256998975ef27090d (diff) |
net/mac80211/rx.c: fix build error
older versions of gcc do not recognize that ieee80211_rx_h_mesh_fwding()
is unused when CONFIG_MAC80211_MESH is disabled:
net/built-in.o: In function `ieee80211_rx_h_mesh_fwding':
rx.c:(.text+0xd89af): undefined reference to `mpp_path_lookup'
rx.c:(.text+0xd89c6): undefined reference to `mpp_path_add'
as this code construct:
if (ieee80211_vif_is_mesh(&sdata->vif))
CALL_RXH(ieee80211_rx_h_mesh_fwding);
still causes ieee80211_rx_h_mesh_fwding() to be linked in.
Protect these places with an #ifdef.
commit b0dee578 ("Fix modpost failure when rx handlers are not inlined.")
solved part of this problem - this patch is still needed.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/mac80211')
-rw-r--r-- | net/mac80211/rx.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index 77e7b014872b..cf6b121e1bbf 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c | |||
@@ -1379,6 +1379,7 @@ ieee80211_rx_h_amsdu(struct ieee80211_rx_data *rx) | |||
1379 | return RX_QUEUED; | 1379 | return RX_QUEUED; |
1380 | } | 1380 | } |
1381 | 1381 | ||
1382 | #ifdef CONFIG_MAC80211_MESH | ||
1382 | static ieee80211_rx_result | 1383 | static ieee80211_rx_result |
1383 | ieee80211_rx_h_mesh_fwding(struct ieee80211_rx_data *rx) | 1384 | ieee80211_rx_h_mesh_fwding(struct ieee80211_rx_data *rx) |
1384 | { | 1385 | { |
@@ -1453,7 +1454,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80211_rx_data *rx) | |||
1453 | else | 1454 | else |
1454 | return RX_DROP_MONITOR; | 1455 | return RX_DROP_MONITOR; |
1455 | } | 1456 | } |
1456 | 1457 | #endif | |
1457 | 1458 | ||
1458 | static ieee80211_rx_result debug_noinline | 1459 | static ieee80211_rx_result debug_noinline |
1459 | ieee80211_rx_h_data(struct ieee80211_rx_data *rx) | 1460 | ieee80211_rx_h_data(struct ieee80211_rx_data *rx) |
@@ -1780,8 +1781,10 @@ static void ieee80211_invoke_rx_handlers(struct ieee80211_sub_if_data *sdata, | |||
1780 | /* must be after MMIC verify so header is counted in MPDU mic */ | 1781 | /* must be after MMIC verify so header is counted in MPDU mic */ |
1781 | CALL_RXH(ieee80211_rx_h_remove_qos_control) | 1782 | CALL_RXH(ieee80211_rx_h_remove_qos_control) |
1782 | CALL_RXH(ieee80211_rx_h_amsdu) | 1783 | CALL_RXH(ieee80211_rx_h_amsdu) |
1784 | #ifdef CONFIG_MAC80211_MESH | ||
1783 | if (ieee80211_vif_is_mesh(&sdata->vif)) | 1785 | if (ieee80211_vif_is_mesh(&sdata->vif)) |
1784 | CALL_RXH(ieee80211_rx_h_mesh_fwding); | 1786 | CALL_RXH(ieee80211_rx_h_mesh_fwding); |
1787 | #endif | ||
1785 | CALL_RXH(ieee80211_rx_h_data) | 1788 | CALL_RXH(ieee80211_rx_h_data) |
1786 | CALL_RXH(ieee80211_rx_h_ctrl) | 1789 | CALL_RXH(ieee80211_rx_h_ctrl) |
1787 | CALL_RXH(ieee80211_rx_h_action) | 1790 | CALL_RXH(ieee80211_rx_h_action) |