From 6041ed31a0ba5c8791796fbf768b64801bc037ad Mon Sep 17 00:00:00 2001 From: Rongjun Chen Date: Tue, 25 Jul 2017 16:20:39 +0800 Subject: [PATCH] wifi: fix iptable forward cmd issue[1/1] PD#147462: add some iptabe nat support to fix android NatController cmd issue Change-Id: Ia2e8e4f14898c5e3c6b2e2b61007260ff74db193 Signed-off-by: Rongjun Chen --- arch/arm64/boot/dts/amlogic/gxl_p212_1g.dts | 1 + arch/arm64/boot/dts/amlogic/gxl_p212_2g.dts | 1 + arch/arm64/configs/meson64_defconfig | 14 ++++++++++++-- drivers/amlogic/wifi/Makefile | 2 +- drivers/amlogic/wifi/dhd_static_buf.c | 20 +++----------------- drivers/amlogic/wifi/wifi_dt.c | 4 ---- include/linux/amlogic/dhd_buf.h | 4 ++++ 7 files changed, 22 insertions(+), 24 deletions(-) create mode 100644 include/linux/amlogic/dhd_buf.h diff --git a/arch/arm64/boot/dts/amlogic/gxl_p212_1g.dts b/arch/arm64/boot/dts/amlogic/gxl_p212_1g.dts index 84d73107ac4d..47a2a3ea8aee 100644 --- a/arch/arm64/boot/dts/amlogic/gxl_p212_1g.dts +++ b/arch/arm64/boot/dts/amlogic/gxl_p212_1g.dts @@ -144,6 +144,7 @@ interrupt_pin = <&gpio GPIOX_7 GPIO_ACTIVE_HIGH>; interrupts = < 0 68 4>; irq_trigger_type = "GPIO_IRQ_LOW"; + dhd_static_buf; //dhd_static_buf support power_on_pin = <&gpio GPIOX_6 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&wifi_32k_pins>; diff --git a/arch/arm64/boot/dts/amlogic/gxl_p212_2g.dts b/arch/arm64/boot/dts/amlogic/gxl_p212_2g.dts index d99625d0cf4f..f0688fdff357 100644 --- a/arch/arm64/boot/dts/amlogic/gxl_p212_2g.dts +++ b/arch/arm64/boot/dts/amlogic/gxl_p212_2g.dts @@ -145,6 +145,7 @@ interrupt_pin = <&gpio GPIOX_7 GPIO_ACTIVE_HIGH>; interrupts = < 0 68 4>; irq_trigger_type = "GPIO_IRQ_LOW"; + dhd_static_buf; //dhd_static_buf support power_on_pin = <&gpio GPIOX_6 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&wifi_32k_pins>; diff --git a/arch/arm64/configs/meson64_defconfig b/arch/arm64/configs/meson64_defconfig index 31d7a471a5b7..0ffb6af175f5 100644 --- a/arch/arm64/configs/meson64_defconfig +++ b/arch/arm64/configs/meson64_defconfig @@ -90,6 +90,7 @@ CONFIG_NETFILTER_XT_TARGET_NFLOG=y CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y CONFIG_NETFILTER_XT_TARGET_TPROXY=y CONFIG_NETFILTER_XT_TARGET_TRACE=y +CONFIG_NETFILTER_XT_TARGET_TCPMSS=y CONFIG_NETFILTER_XT_MATCH_COMMENT=y CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y @@ -104,7 +105,10 @@ CONFIG_NETFILTER_XT_MATCH_MAC=y CONFIG_NETFILTER_XT_MATCH_MARK=y CONFIG_NETFILTER_XT_MATCH_POLICY=y CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y +CONFIG_NETFILTER_XT_MATCH_QTAGUID=y CONFIG_NETFILTER_XT_MATCH_QUOTA=y +CONFIG_NETFILTER_XT_MATCH_QUOTA2=y +CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y CONFIG_NETFILTER_XT_MATCH_SOCKET=y CONFIG_NETFILTER_XT_MATCH_STATE=y CONFIG_NETFILTER_XT_MATCH_STATISTIC=y @@ -112,25 +116,31 @@ CONFIG_NETFILTER_XT_MATCH_STRING=y CONFIG_NETFILTER_XT_MATCH_TIME=y CONFIG_NETFILTER_XT_MATCH_U32=y CONFIG_NF_CONNTRACK_IPV4=y -CONFIG_NF_NAT_IPV4=y CONFIG_IP_NF_IPTABLES=y CONFIG_IP_NF_MATCH_AH=y CONFIG_IP_NF_MATCH_ECN=y CONFIG_IP_NF_MATCH_TTL=y CONFIG_IP_NF_FILTER=y CONFIG_IP_NF_TARGET_REJECT=y +CONFIG_IP_NF_NAT=y +CONFIG_IP_NF_TARGET_MASQUERADE=y +CONFIG_IP_NF_TARGET_NETMAP=y +CONFIG_IP_NF_TARGET_REDIRECT=y CONFIG_IP_NF_MANGLE=y CONFIG_IP_NF_RAW=y CONFIG_IP_NF_ARPTABLES=y CONFIG_IP_NF_ARPFILTER=y CONFIG_IP_NF_ARP_MANGLE=y CONFIG_NF_CONNTRACK_IPV6=y -CONFIG_NF_NAT_IPV6=y CONFIG_IP6_NF_IPTABLES=y +CONFIG_IP6_NF_MATCH_RPFILTER=y CONFIG_IP6_NF_FILTER=y CONFIG_IP6_NF_TARGET_REJECT=y CONFIG_IP6_NF_MANGLE=y CONFIG_IP6_NF_RAW=y +CONFIG_IP6_NF_NAT=y +CONFIG_IP6_NF_TARGET_MASQUERADE=y +CONFIG_IP6_NF_TARGET_NPT=y CONFIG_L2TP=y CONFIG_L2TP_DEBUGFS=y CONFIG_L2TP_V3=y diff --git a/drivers/amlogic/wifi/Makefile b/drivers/amlogic/wifi/Makefile index d91ae8570a32..81955c986cd4 100644 --- a/drivers/amlogic/wifi/Makefile +++ b/drivers/amlogic/wifi/Makefile @@ -1 +1 @@ -obj-$(CONFIG_AMLOGIC_WIFI) += wifi_dt.o +obj-$(CONFIG_AMLOGIC_WIFI) += wifi_dt.o dhd_static_buf.o diff --git a/drivers/amlogic/wifi/dhd_static_buf.c b/drivers/amlogic/wifi/dhd_static_buf.c index 530b5679ce55..96b31416b281 100644 --- a/drivers/amlogic/wifi/dhd_static_buf.c +++ b/drivers/amlogic/wifi/dhd_static_buf.c @@ -185,20 +185,6 @@ err_skb_alloc: } EXPORT_SYMBOL(bcmdhd_init_wlan_mem); #endif /* CONFIG_BROADCOM_WIFI_RESERVED_MEM */ -#if 0 -static int __init bcmdhd_wlan_init(void) -{ - pr_info("%s()\n", __func__); - -#ifdef CONFIG_BROADCOM_WIFI_RESERVED_MEM - bcmdhd_init_wlan_mem(); -#endif - - return 0; -} - -device_initcall(bcmdhd_wlan_init); -#endif -MODULE_DESCRIPTION("Amlogic S912/wifi driver"); -MODULE_AUTHOR("Kevin Hilman "); -MODULE_LICENSE("GPL") +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("AMLOGIC"); +MODULE_DESCRIPTION("wifi device tree driver"); diff --git a/drivers/amlogic/wifi/wifi_dt.c b/drivers/amlogic/wifi/wifi_dt.c index 527fdfe6668b..be0d53fb4f1b 100644 --- a/drivers/amlogic/wifi/wifi_dt.c +++ b/drivers/amlogic/wifi/wifi_dt.c @@ -16,9 +16,7 @@ */ #include -#ifdef CONFIG_BCMDHD_USE_STATIC_BUF #include -#endif #include #include @@ -609,13 +607,11 @@ static int wifi_dev_probe(struct platform_device *pdev) aml_write_cbus(0x21b2, pwm_misc); aml_write_cbus(0x21b2, (pwm_misc | (1 << 0))); } -#ifdef CONFIG_BCMDHD_USE_STATIC_BUF if (of_get_property(pdev->dev.of_node, "dhd_static_buf", NULL)) { WIFI_INFO("dhd_static_buf setup\n"); bcmdhd_init_wlan_mem(); } -#endif plat->plat_info_valid = 1; diff --git a/include/linux/amlogic/dhd_buf.h b/include/linux/amlogic/dhd_buf.h new file mode 100644 index 000000000000..9822f5a1a80c --- /dev/null +++ b/include/linux/amlogic/dhd_buf.h @@ -0,0 +1,4 @@ +#ifndef _BCMDHD_BUF_H +#define _BCMDHD_BUF_H +int bcmdhd_init_wlan_mem(void); +#endif