Re: [LEDE-DEV] [LEDE-DEV, 3/3, v3] uqmi: Prevent 'POLICY MISMATCH' error.

2016-12-16 Thread John Crispin
Hi,

still pending not had time to look into this. it'll take me a moment as
i am not familiar with the code so i need to find a free moment to
properly review this, sorry for the delay

John

On 16/12/2016 08:51, Nikolay Ledovskikh wrote:
> So. What about patch? 'sync' call allows us not to save cids in interface 
> state.
> And every time interface is up, it will be prepared correctly.
> 
> 2016-12-12 12:28 GMT+03:00 Bjørn Mork :
>> Matti Laakso  writes:
>>> On 12.12.2016 08:52, Petr Štetiar wrote:
 Matti Laakso  [2016-12-09 11:35:35]:

> On 09.12.2016 11:27, Petr Štetiar wrote:
>> I knew, that there's only one profile defined, operator has deleted all 
>> other
>> profiles, there's currently only one APN defined.
>>
>>AT+CGDCONT?
>>+CGDCONT: 1,"IPV4V6","","0.0.0.0",0,0
> Well, there's no APN defined (it's an empty string), and who knows,
> maybe the modem ignores the APN provided via QMI when enabling
> autoconnect... Does your working Czech SIM card have a valid APN string?
 It's getting quite strange as my Czech SIM gives me the same reply:

+CGDCONT: 1,"IPV4V6","","0.0.0.0",0,0

 -- ynezz
>>>
>>> Just shooting in the dark here, but maybe this operator accepts empty
>>> APN and somehow maps it to the correct one?
>>
>> Some operators do, and some don't.  Which is why the empty APN string
>> *may* work.  It's generally not a good idea to depend on it, though.
>> The APN string often selects a specific service, with specific
>> bandwidth, QoS, firewall rules etc.  So even in cases where the empty
>> string "works", the result might be suboptimal.
>>
>> In any case: Testing with empty or random APN strings will give
>> inconsistent results.  It can for example be the reason why
>> autoconnect fails, while a manual connection with an explicit APN
>> works. Or why autoconnect works with one operator but not with another.
>>
>> For some background and better understanding of how the APN mapping in
>> an operator network is done, it might be useful to look at the config
>> examples for typical PGW/GGSNs (this is for StarOS, which is now owned
>> by Cisco):
>> http://www.cisco.com/c/en/us/td/docs/wireless/asr_5000/20/MME/b_20_MME_Admin/b_20_MME_Admin_chapter_0101.pdf
>>
>>
>>
>> Bjørn
> 
> 
> 

___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev


Re: [LEDE-DEV] [LEDE-DEV, 2/3, v2] Add support of using device symlinks.

2016-12-16 Thread John Crispin


On 16/12/2016 08:58, Nikolay Ledovskikh wrote:
>> still pending not had time to look into this. it'll take me a moment as
>> i am not familiar with the code so i need to find a free moment to
>> properly review this, sorry for the delay
>>
>> John
> 
> OK. I just offer to use 'readlink' onto 'device', so as a result we
> always get a real device if it were symlink or not.
> 

Hi,

always set the mailing list in CC please

John

___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev


Re: [LEDE-DEV] [LEDE-DEV, 2/3, v2] Add support of using device symlinks.

2016-12-16 Thread Nikolay Ledovskikh
> still pending not had time to look into this. it'll take me a moment as
> i am not familiar with the code so i need to find a free moment to
> properly review this, sorry for the delay
>
> John

OK. I just offer to use 'readlink' onto 'device', so as a result we
always get a real device if it were symlink or not.

___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev


Re: [LEDE-DEV] [LEDE-DEV, 2/3, v2] Add support of using device symlinks.

2016-12-16 Thread John Crispin


On 07/12/2016 18:13, Nickolay Ledovskikh wrote:
> It's useful when using multiple usb devices that should be bound to
> certain usb ports. Symlinks are created by hotplug handlers.
> 
> Signed-off-by: Nickolay Ledovskikh 
> ---
>  package/network/utils/comgt/files/directip.sh| 1 +
>  package/network/utils/comgt/files/ncm.sh | 2 ++
>  package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh | 3 +++
>  3 files changed, 6 insertions(+)
> 
> diff --git a/package/network/utils/comgt/files/directip.sh 
> b/package/network/utils/comgt/files/directip.sh
> index 79b8c32..4dcbd70 100644
> --- a/package/network/utils/comgt/files/directip.sh
> +++ b/package/network/utils/comgt/files/directip.sh
> @@ -33,6 +33,7 @@ proto_directip_setup() {
>   return 1
>   }
>  
> + device="$(readlink -f $device)"

this needs to be moved a few lines up above between the

[ -n "$device" ] || {
and
[ -e "$device" ] || {

block otherwise the 2nd validation check will fail. please also verify
the other files if there are validation checks that we are skipping.
otherwise we might hit dangling symlinks

John


>   devname="$(basename "$device")"
>   devpath="$(readlink -f /sys/class/tty/$devname/device)"
>   ifname="$( ls "$devpath"/../../*/net )"
> diff --git a/package/network/utils/comgt/files/ncm.sh 
> b/package/network/utils/comgt/files/ncm.sh
> index 14b6347..917a8c5 100644
> --- a/package/network/utils/comgt/files/ncm.sh
> +++ b/package/network/utils/comgt/files/ncm.sh
> @@ -63,7 +63,9 @@ proto_ncm_setup() {
>   return 1
>   }
>  
> + device="$(readlink -f $device)"
>   devname="$(basename "$device")"
> +
>   case "$devname" in
>   'tty'*)
>   devpath="$(readlink -f /sys/class/tty/$devname/device)"
> diff --git a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh 
> b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
> index 1235698..fb4c339 100755
> --- a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
> +++ b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
> @@ -51,6 +51,7 @@ proto_qmi_setup() {
>   return 1
>   }
>  
> + device="$(readlink -f $device)"
>   devname="$(basename "$device")"
>   devpath="$(readlink -f /sys/class/usbmisc/$devname/device/)"
>   ifname="$( ls "$devpath"/net )"
> @@ -213,6 +214,8 @@ qmi_wds_stop() {
>  
>   [ -n "$cid" ] || return
>  
> + device="$(readlink -f $device)"
> +
>   # disable previous autoconnect state using the global handle
>   uqmi -s -d "$device" --set-client-id wds,"$cid" --stop-network 
> "0x"
>  
> 

___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev


Re: [LEDE-DEV] [LEDE-DEV, 3/3, v2] uqmi: Prevent 'POLICY MISMATH' error.

2016-12-16 Thread John Crispin


On 07/12/2016 18:13, Nickolay Ledovskikh wrote:
> Add uqmi 'sync' command call to release stalled cid when preparing to
> setup new connection. As a result it prevents 'POLICY MISMATCH' errors.
> 
> Signed-off-by: Nickolay Ledovskikh 
> ---
>  package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh 
> b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
> index fb4c339..3b24539 100755
> --- a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
> +++ b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
> @@ -85,6 +85,7 @@ proto_qmi_setup() {
>  
>   # try to clear previous autoconnect state
>   # do not reuse previous wds client id to prevent hangs caused by stale 
> data
> + uqmi -s -d "$device" --sync
>   uqmi -s -d "$device" \
>   --stop-network 0x \
>   --autoconnect > /dev/null
> 

patch does not apply anymore after the latest series from Matti

John

___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev


Re: [LEDE-DEV] [LEDE-DEV, 3/3, v2] uqmi: Prevent 'POLICY MISMATH' error.

2016-12-16 Thread Matti Laakso

On 07/12/2016 18:13, Nickolay Ledovskikh wrote:
>/Add uqmi 'sync' command call to release stalled cid when preparing to />/setup new connection. As a result it prevents 'POLICY MISMATCH' errors. />//>/Signed-off-by: Nickolay Ledovskikh > />/--- />/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh | 1 + />/1 file changed, 1 insertion(+) />//>/diff --git a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh 
b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh />/index fb4c339..3b24539 100755 />/--- a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh />/+++ b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh />/@@ -85,6 +85,7 @@ proto_qmi_setup() { />//>/# try to clear previous autoconnect state />/# do not reuse previous wds client id to prevent hangs caused by stale 
data />/+ uqmi -s -d "$device" --sync />/uqmi -s -d "$device" \ />/--stop-network 0x \ />/--autoconnect > /dev/null />//

patch does not apply anymore after the latest series from Matti

John


And you also need to bump up the uqmi version in the Makefile.

Otherwise I think calling sync in the beginning is a good idea.

Matti

___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev


Re: [LEDE-DEV] [LEDE-DEV, 3/3, v2] uqmi: Prevent 'POLICY MISMATH' error.

2016-12-16 Thread Nikolay Ledovskikh
Thanks for your comments. I'll update patches with your tips and send
new versions.

2016-12-16 11:41 GMT+03:00 Matti Laakso :
>> On 07/12/2016 18:13, Nickolay Ledovskikh wrote:
>> >/Add uqmi 'sync' command call to release stalled cid when preparing to
>> > />/setup new connection. As a result it prevents 'POLICY MISMATCH' errors.
>> > />//>/Signed-off-by: Nickolay Ledovskikh > > > />/---
>> > />/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh | 1 + />/1 file
>> > changed, 1 insertion(+) />//>/diff --git
>> > a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
>> > b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh />/index
>> > fb4c339..3b24539 100755 />/---
>> > a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh />/+++
>> > b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh />/@@ -85,6 
>> > +85,7
>> > @@ proto_qmi_setup() { />//>/# try to clear previous autoconnect state />/#
>> > do not reuse previous wds client id to prevent hangs caused by stale data
>> > />/+ uqmi -s -d "$device" --sync />/uqmi -s -d "$device" \ 
>> > />/--stop-network
>> > 0x \ />/--autoconnect > /dev/null />//
>> patch does not apply anymore after the latest series from Matti
>>
>> John
>
>
> And you also need to bump up the uqmi version in the Makefile.
>
> Otherwise I think calling sync in the beginning is a good idea.
>
> Matti



-- 
Best regards, Nikolay Ledovskikh.

___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev


Re: [LEDE-DEV] [LEDE-DEV, 3/3, v2] uqmi: Prevent 'POLICY MISMATH' error.

2016-12-16 Thread John Crispin


On 16/12/2016 10:10, Nikolay Ledovskikh wrote:
> Thanks for your comments. I'll update patches with your tips and send
> new versions.
> 

and i'll handle them quicker this time :-)

> 2016-12-16 11:41 GMT+03:00 Matti Laakso :
>>> On 07/12/2016 18:13, Nickolay Ledovskikh wrote:
 /Add uqmi 'sync' command call to release stalled cid when preparing to
 />/setup new connection. As a result it prevents 'POLICY MISMATCH' errors.
 />//>/Signed-off-by: Nickolay Ledovskikh >>> > />/---
 />/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh | 1 + />/1 file
 changed, 1 insertion(+) />//>/diff --git
 a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
 b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh />/index
 fb4c339..3b24539 100755 />/---
 a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh />/+++
 b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh />/@@ -85,6 
 +85,7
 @@ proto_qmi_setup() { />//>/# try to clear previous autoconnect state />/#
 do not reuse previous wds client id to prevent hangs caused by stale data
 />/+ uqmi -s -d "$device" --sync />/uqmi -s -d "$device" \ 
 />/--stop-network
 0x \ />/--autoconnect > /dev/null />//
>>> patch does not apply anymore after the latest series from Matti
>>>
>>> John
>>
>>
>> And you also need to bump up the uqmi version in the Makefile.
>>
>> Otherwise I think calling sync in the beginning is a good idea.
>>
>> Matti
> 
> 
> 

___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev


Re: [LEDE-DEV] [PATCH] libubox: replace strtok with strsep

2016-12-16 Thread John Crispin


On 14/12/2016 06:43, Rosen Penev wrote:
> strsep is re-entrant whereas strtok not necessarily so.
> 
> Signed-off by: Rosen Penev 
> ---
>  ulog.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/ulog.c b/ulog.c
> index 296605d..985d366 100644
> --- a/ulog.c
> +++ b/ulog.c
> @@ -39,8 +39,8 @@ static const char *ulog_default_ident(void)
>   if ((self = fopen("/proc/self/status", "r")) != NULL) {
>   while (fgets(line, sizeof(line), self)) {
>   if (!strncmp(line, "Name:", 5)) {
> - strtok(line, "\t\n");
> - p = strtok(NULL, "\t\n");
> + strsep(&line, "\t\n");
> + p = strsep(&line, "\t\n");

Hi,

i agree that using strsep() is a nice api however i fail to see why the
original code would fail. according to the man page it is re-entrant,
specially if called as done here. can you elaborate a bit why you think
it is not re-entrant ?

John

>   break;
>   }
>   }
> 

___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev


Re: [LEDE-DEV] [PATCH] libubox: replace strtok with strsep

2016-12-16 Thread Felix Fietkau
On 2016-12-16 10:58, John Crispin wrote:
> 
> 
> On 14/12/2016 06:43, Rosen Penev wrote:
>> strsep is re-entrant whereas strtok not necessarily so.
>> 
>> Signed-off by: Rosen Penev 
>> ---
>>  ulog.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>> 
>> diff --git a/ulog.c b/ulog.c
>> index 296605d..985d366 100644
>> --- a/ulog.c
>> +++ b/ulog.c
>> @@ -39,8 +39,8 @@ static const char *ulog_default_ident(void)
>>  if ((self = fopen("/proc/self/status", "r")) != NULL) {
>>  while (fgets(line, sizeof(line), self)) {
>>  if (!strncmp(line, "Name:", 5)) {
>> -strtok(line, "\t\n");
>> -p = strtok(NULL, "\t\n");
>> +strsep(&line, "\t\n");
>> +p = strsep(&line, "\t\n");
> 
> Hi,
> 
> i agree that using strsep() is a nice api however i fail to see why the
> original code would fail. according to the man page it is re-entrant,
> specially if called as done here. can you elaborate a bit why you think
> it is not re-entrant ?
If the caller of ulog() is using strtok between ulog calls, internal use
of strtok can break it. I think this change is worth merging.

- Felix

___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev


[LEDE-DEV] [PATCH] kernel: bump to 4.4.39

2016-12-16 Thread Koen Vandeputte
Refresh patches for all targets running 4.4

Compile & run tested on:
- cns3xxx
- imx6

Signed-off-by: Koen Vandeputte 
---
 include/kernel-version.mk  |  4 ++--
 .../patches-4.4/525-MIPS-ath79-enable-qca-usb-quirks.patch |  8 
 .../601-MIPS-ath79-add-more-register-defines.patch |  4 ++--
 .../ar71xx/patches-4.4/609-MIPS-ath79-ap136-fixes.patch| 14 +++---
 .../patches-4.4/540-crypto-xz-decompression-support.patch  |  2 +-
 ...43-armv8-aarch32-Execute-32-bit-Linux-for-ls1046a.patch |  5 -
 ...-Make-the-netdev-watchdog-aware-of-hardware-multi.patch |  2 +-
 .../patches-4.4/8129-clk-qoriq-add-ls1046a-support.patch   |  2 +-
 ...pci-layerscape-add-LUT-DBG-reigster-offset-member.patch |  2 +-
 .../8138-pci-layerscape-add-MSI-interrupt-support.patch|  2 +-
 ...142-drivers-mmc-Add-compatible-string-for-LS1046A.patch |  7 +--
 .../102-add-dlink-dwr158-in-usb-serial-option.patch|  6 +++---
 12 files changed, 24 insertions(+), 34 deletions(-)

diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index eeb8195..db018a3 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -4,11 +4,11 @@ LINUX_RELEASE?=1
 
 LINUX_VERSION-3.18 = .43
 LINUX_VERSION-4.1 = .34
-LINUX_VERSION-4.4 = .38
+LINUX_VERSION-4.4 = .39
 
 LINUX_KERNEL_MD5SUM-3.18.43 = b1faeb4a2e1e70ffe061bdbb3452840a
 LINUX_KERNEL_MD5SUM-4.1.34 = fba99f0f4765ebf01033e69518740a3c
-LINUX_KERNEL_MD5SUM-4.4.38 = 
77ed9e650b65788a1f9f371ba87c2e50b5ba7624bc834ae38b036f7f592816a6
+LINUX_KERNEL_MD5SUM-4.4.39 = 8ce5f2cbdc8a197632bc2bda596c8d68
 
 ifdef KERNEL_PATCHVER
   LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
diff --git 
a/target/linux/ar71xx/patches-4.4/525-MIPS-ath79-enable-qca-usb-quirks.patch 
b/target/linux/ar71xx/patches-4.4/525-MIPS-ath79-enable-qca-usb-quirks.patch
index 61b6b4e..0e33674 100644
--- a/target/linux/ar71xx/patches-4.4/525-MIPS-ath79-enable-qca-usb-quirks.patch
+++ b/target/linux/ar71xx/patches-4.4/525-MIPS-ath79-enable-qca-usb-quirks.patch
@@ -29,9 +29,7 @@
 -  u32 bootstrap;
 +  void __iomem *phy_reg;
 +  u32 t;
- 
--  bootstrap = ath79_reset_rr(AR934X_RESET_REG_BOOTSTRAP);
--  if (bootstrap & AR934X_BOOTSTRAP_USB_MODE_DEVICE)
++
 +  phy_reg = ioremap(base, 4);
 +  if (!phy_reg)
 +  return;
@@ -43,7 +41,9 @@
 +
 +  iounmap(phy_reg);
 +}
-+
+ 
+-  bootstrap = ath79_reset_rr(AR934X_RESET_REG_BOOTSTRAP);
+-  if (bootstrap & AR934X_BOOTSTRAP_USB_MODE_DEVICE)
 +static void ar934x_usb_reset_notifier(struct platform_device *pdev)
 +{
 +  if (pdev->id != -1)
diff --git 
a/target/linux/ar71xx/patches-4.4/601-MIPS-ath79-add-more-register-defines.patch
 
b/target/linux/ar71xx/patches-4.4/601-MIPS-ath79-add-more-register-defines.patch
index c503577..0126f6a 100644
--- 
a/target/linux/ar71xx/patches-4.4/601-MIPS-ath79-add-more-register-defines.patch
+++ 
b/target/linux/ar71xx/patches-4.4/601-MIPS-ath79-add-more-register-defines.patch
@@ -155,7 +155,7 @@
 +#define AR934X_RESET_LUT  BIT(2)
 +#define AR934X_RESET_MBOX BIT(1)
 +#define AR934X_RESET_I2S  BIT(0)
- 
++
 +#define QCA955X_RESET_HOSTBIT(31)
 +#define QCA955X_RESET_SLICBIT(30)
 +#define QCA955X_RESET_HDMABIT(29)
@@ -188,7 +188,7 @@
 +#define QCA955X_RESET_LUT BIT(2)
 +#define QCA955X_RESET_MBOXBIT(1)
 +#define QCA955X_RESET_I2S BIT(0)
-+
+ 
 +#define AR933X_BOOTSTRAP_MDIO_GPIO_EN BIT(18)
 +#define AR933X_BOOTSTRAP_EEPBUSY  BIT(4)
  #define AR933X_BOOTSTRAP_REF_CLK_40   BIT(0)
diff --git a/target/linux/ar71xx/patches-4.4/609-MIPS-ath79-ap136-fixes.patch 
b/target/linux/ar71xx/patches-4.4/609-MIPS-ath79-ap136-fixes.patch
index 5d9d802..4d7902e 100644
--- a/target/linux/ar71xx/patches-4.4/609-MIPS-ath79-ap136-fixes.patch
+++ b/target/linux/ar71xx/patches-4.4/609-MIPS-ath79-ap136-fixes.patch
@@ -135,8 +135,7 @@
 +static void __init ap136_common_setup(void)
 +{
 +  u8 *art = (u8 *) KSEG1ADDR(0x1fff);
- 
--static int ap136_pci_plat_dev_init(struct pci_dev *dev)
++
 +  ath79_register_m25p80(NULL);
 +
 +  ath79_register_leds_gpio(-1, ARRAY_SIZE(ap136_leds_gpio),
@@ -151,7 +150,8 @@
 +  ath79_register_wmac(art + AP136_WMAC_CALDATA_OFFSET, NULL);
 +
 +  ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-+
+ 
+-static int ap136_pci_plat_dev_init(struct pci_dev *dev)
 +  ath79_register_mdio(0, 0x0);
 +  ath79_init_mac(ath79_eth0_data.mac_addr, art + AP136_MAC0_OFFSET, 0);
 +
@@ -211,16 +211,16 @@
 +  /* GMAC0 of the AR8327 switch is connected to GMAC1 via SGMII */
 +  ap136_ar8327_pad0_cfg.mode = AR8327_PAD_MAC_SGMII;
 +  ap136_ar8327_pad0_cfg.sgmii_delay_en = true;
- 
--  ath79_pci_set_plat_dev_init(ap136_pci_plat_dev_init);
--  ath79_register_pci();
++
 +  /* GMAC6 of the AR8327 switch is connected to GMAC0 via RGMII */
 +  ap136_ar8327_pa

Re: [LEDE-DEV] [PATCH] libubox: replace strtok with strsep

2016-12-16 Thread John Crispin


On 16/12/2016 11:10, Felix Fietkau wrote:
> On 2016-12-16 10:58, John Crispin wrote:
>>
>>
>> On 14/12/2016 06:43, Rosen Penev wrote:
>>> strsep is re-entrant whereas strtok not necessarily so.
>>>
>>> Signed-off by: Rosen Penev 
>>> ---
>>>  ulog.c | 4 ++--
>>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/ulog.c b/ulog.c
>>> index 296605d..985d366 100644
>>> --- a/ulog.c
>>> +++ b/ulog.c
>>> @@ -39,8 +39,8 @@ static const char *ulog_default_ident(void)
>>> if ((self = fopen("/proc/self/status", "r")) != NULL) {
>>> while (fgets(line, sizeof(line), self)) {
>>> if (!strncmp(line, "Name:", 5)) {
>>> -   strtok(line, "\t\n");
>>> -   p = strtok(NULL, "\t\n");
>>> +   strsep(&line, "\t\n");
>>> +   p = strsep(&line, "\t\n");
>>
>> Hi,
>>
>> i agree that using strsep() is a nice api however i fail to see why the
>> original code would fail. according to the man page it is re-entrant,
>> specially if called as done here. can you elaborate a bit why you think
>> it is not re-entrant ?
> If the caller of ulog() is using strtok between ulog calls, internal use
> of strtok can break it. I think this change is worth merging.
> 
> - Felix
> 

ah of course, i did not thing of the caller using it, i'll merge it in
that case



___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev


Re: [LEDE-DEV] [PATCH] kernel: bump to 4.4.39

2016-12-16 Thread Koen Vandeputte

Hi Stijn,

In following of the discussion on properly updating the kernel some time 
ago,

could you check this one please? (should you have some time)

This patch is generated using the script and proper GIT config.
Source used was this commit: a2798cff0f67349d7c1fe26f339439431188ec15

Thanks,

Koen

On 2016-12-16 11:12, Koen Vandeputte wrote:

Refresh patches for all targets running 4.4

Compile & run tested on:
- cns3xxx
- imx6

Signed-off-by: Koen Vandeputte 
---
  include/kernel-version.mk  |  4 ++--
  .../patches-4.4/525-MIPS-ath79-enable-qca-usb-quirks.patch |  8 
  .../601-MIPS-ath79-add-more-register-defines.patch |  4 ++--
  .../ar71xx/patches-4.4/609-MIPS-ath79-ap136-fixes.patch| 14 +++---
  .../patches-4.4/540-crypto-xz-decompression-support.patch  |  2 +-
  ...43-armv8-aarch32-Execute-32-bit-Linux-for-ls1046a.patch |  5 -
  ...-Make-the-netdev-watchdog-aware-of-hardware-multi.patch |  2 +-
  .../patches-4.4/8129-clk-qoriq-add-ls1046a-support.patch   |  2 +-
  ...pci-layerscape-add-LUT-DBG-reigster-offset-member.patch |  2 +-
  .../8138-pci-layerscape-add-MSI-interrupt-support.patch|  2 +-
  ...142-drivers-mmc-Add-compatible-string-for-LS1046A.patch |  7 +--
  .../102-add-dlink-dwr158-in-usb-serial-option.patch|  6 +++---
  12 files changed, 24 insertions(+), 34 deletions(-)

diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index eeb8195..db018a3 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -4,11 +4,11 @@ LINUX_RELEASE?=1
  
  LINUX_VERSION-3.18 = .43

  LINUX_VERSION-4.1 = .34
-LINUX_VERSION-4.4 = .38
+LINUX_VERSION-4.4 = .39
  
  LINUX_KERNEL_MD5SUM-3.18.43 = b1faeb4a2e1e70ffe061bdbb3452840a

  LINUX_KERNEL_MD5SUM-4.1.34 = fba99f0f4765ebf01033e69518740a3c
-LINUX_KERNEL_MD5SUM-4.4.38 = 
77ed9e650b65788a1f9f371ba87c2e50b5ba7624bc834ae38b036f7f592816a6
+LINUX_KERNEL_MD5SUM-4.4.39 = 8ce5f2cbdc8a197632bc2bda596c8d68
  
  ifdef KERNEL_PATCHVER

LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip 
$(LINUX_VERSION-$(KERNEL_PATCHVER)))
diff --git 
a/target/linux/ar71xx/patches-4.4/525-MIPS-ath79-enable-qca-usb-quirks.patch 
b/target/linux/ar71xx/patches-4.4/525-MIPS-ath79-enable-qca-usb-quirks.patch
index 61b6b4e..0e33674 100644
--- a/target/linux/ar71xx/patches-4.4/525-MIPS-ath79-enable-qca-usb-quirks.patch
+++ b/target/linux/ar71xx/patches-4.4/525-MIPS-ath79-enable-qca-usb-quirks.patch
@@ -29,9 +29,7 @@
  - u32 bootstrap;
  + void __iomem *phy_reg;
  + u32 t;
-
--  bootstrap = ath79_reset_rr(AR934X_RESET_REG_BOOTSTRAP);
--  if (bootstrap & AR934X_BOOTSTRAP_USB_MODE_DEVICE)
++
  + phy_reg = ioremap(base, 4);
  + if (!phy_reg)
  + return;
@@ -43,7 +41,9 @@
  +
  + iounmap(phy_reg);
  +}
-+
+
+-  bootstrap = ath79_reset_rr(AR934X_RESET_REG_BOOTSTRAP);
+-  if (bootstrap & AR934X_BOOTSTRAP_USB_MODE_DEVICE)
  +static void ar934x_usb_reset_notifier(struct platform_device *pdev)
  +{
  + if (pdev->id != -1)
diff --git 
a/target/linux/ar71xx/patches-4.4/601-MIPS-ath79-add-more-register-defines.patch
 
b/target/linux/ar71xx/patches-4.4/601-MIPS-ath79-add-more-register-defines.patch
index c503577..0126f6a 100644
--- 
a/target/linux/ar71xx/patches-4.4/601-MIPS-ath79-add-more-register-defines.patch
+++ 
b/target/linux/ar71xx/patches-4.4/601-MIPS-ath79-add-more-register-defines.patch
@@ -155,7 +155,7 @@
  +#define AR934X_RESET_LUT BIT(2)
  +#define AR934X_RESET_MBOXBIT(1)
  +#define AR934X_RESET_I2S BIT(0)
-
++
  +#define QCA955X_RESET_HOST   BIT(31)
  +#define QCA955X_RESET_SLIC   BIT(30)
  +#define QCA955X_RESET_HDMA   BIT(29)
@@ -188,7 +188,7 @@
  +#define QCA955X_RESET_LUTBIT(2)
  +#define QCA955X_RESET_MBOX   BIT(1)
  +#define QCA955X_RESET_I2SBIT(0)
-+
+
  +#define AR933X_BOOTSTRAP_MDIO_GPIO_ENBIT(18)
  +#define AR933X_BOOTSTRAP_EEPBUSY BIT(4)
   #define AR933X_BOOTSTRAP_REF_CLK_40  BIT(0)
diff --git a/target/linux/ar71xx/patches-4.4/609-MIPS-ath79-ap136-fixes.patch 
b/target/linux/ar71xx/patches-4.4/609-MIPS-ath79-ap136-fixes.patch
index 5d9d802..4d7902e 100644
--- a/target/linux/ar71xx/patches-4.4/609-MIPS-ath79-ap136-fixes.patch
+++ b/target/linux/ar71xx/patches-4.4/609-MIPS-ath79-ap136-fixes.patch
@@ -135,8 +135,7 @@
  +static void __init ap136_common_setup(void)
  +{
  + u8 *art = (u8 *) KSEG1ADDR(0x1fff);
-
--static int ap136_pci_plat_dev_init(struct pci_dev *dev)
++
  + ath79_register_m25p80(NULL);
  +
  + ath79_register_leds_gpio(-1, ARRAY_SIZE(ap136_leds_gpio),
@@ -151,7 +150,8 @@
  + ath79_register_wmac(art + AP136_WMAC_CALDATA_OFFSET, NULL);
  +
  + ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-+
+
+-static int ap136_pci_plat_dev_init(struct pci_dev *dev)
  + ath79_register_mdio(0, 0x0);
  + ath79_init_mac(ath79_eth0_data.mac_addr, art + AP136_MAC0_OFFSET, 0);
  +
@@ -211,16 +211

Re: [LEDE-DEV] [PATCH] kernel: bump to 4.4.39

2016-12-16 Thread Rafał Miłecki

On 12/16/2016 11:12 AM, Koen Vandeputte wrote:

@@ -4,11 +4,11 @@ LINUX_RELEASE?=1

 LINUX_VERSION-3.18 = .43
 LINUX_VERSION-4.1 = .34
-LINUX_VERSION-4.4 = .38
+LINUX_VERSION-4.4 = .39

 LINUX_KERNEL_MD5SUM-3.18.43 = b1faeb4a2e1e70ffe061bdbb3452840a
 LINUX_KERNEL_MD5SUM-4.1.34 = fba99f0f4765ebf01033e69518740a3c
-LINUX_KERNEL_MD5SUM-4.4.38 = 
77ed9e650b65788a1f9f371ba87c2e50b5ba7624bc834ae38b036f7f592816a6
+LINUX_KERNEL_MD5SUM-4.4.39 = 8ce5f2cbdc8a197632bc2bda596c8d68


Could you stick to sha256, please?

I'm aware this _MD5SUM is a bit misleading, but Felix is already working on 
this.

___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev


[LEDE-DEV] [PATCH v2] kernel: bump to 4.4.39

2016-12-16 Thread Koen Vandeputte
Refresh patches for all targets running 4.4

Compile & run tested on:
- cns3xxx
- imx6

Signed-off-by: Koen Vandeputte 
---
 include/kernel-version.mk  |  4 ++--
 .../patches-4.4/525-MIPS-ath79-enable-qca-usb-quirks.patch |  8 
 .../601-MIPS-ath79-add-more-register-defines.patch |  4 ++--
 .../ar71xx/patches-4.4/609-MIPS-ath79-ap136-fixes.patch| 14 +++---
 .../patches-4.4/540-crypto-xz-decompression-support.patch  |  2 +-
 ...43-armv8-aarch32-Execute-32-bit-Linux-for-ls1046a.patch |  5 -
 ...-Make-the-netdev-watchdog-aware-of-hardware-multi.patch |  2 +-
 .../patches-4.4/8129-clk-qoriq-add-ls1046a-support.patch   |  2 +-
 ...pci-layerscape-add-LUT-DBG-reigster-offset-member.patch |  2 +-
 .../8138-pci-layerscape-add-MSI-interrupt-support.patch|  2 +-
 ...142-drivers-mmc-Add-compatible-string-for-LS1046A.patch |  7 +--
 .../102-add-dlink-dwr158-in-usb-serial-option.patch|  6 +++---
 12 files changed, 24 insertions(+), 34 deletions(-)

diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index eeb8195..6d1ff77 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -4,11 +4,11 @@ LINUX_RELEASE?=1
 
 LINUX_VERSION-3.18 = .43
 LINUX_VERSION-4.1 = .34
-LINUX_VERSION-4.4 = .38
+LINUX_VERSION-4.4 = .39
 
 LINUX_KERNEL_MD5SUM-3.18.43 = b1faeb4a2e1e70ffe061bdbb3452840a
 LINUX_KERNEL_MD5SUM-4.1.34 = fba99f0f4765ebf01033e69518740a3c
-LINUX_KERNEL_MD5SUM-4.4.38 = 
77ed9e650b65788a1f9f371ba87c2e50b5ba7624bc834ae38b036f7f592816a6
+LINUX_KERNEL_MD5SUM-4.4.39 = 
864bc186b02bf62974676efa282eda775fe12e5729a3416cfe4b17f0c59111a1
 
 ifdef KERNEL_PATCHVER
   LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
diff --git 
a/target/linux/ar71xx/patches-4.4/525-MIPS-ath79-enable-qca-usb-quirks.patch 
b/target/linux/ar71xx/patches-4.4/525-MIPS-ath79-enable-qca-usb-quirks.patch
index 61b6b4e..0e33674 100644
--- a/target/linux/ar71xx/patches-4.4/525-MIPS-ath79-enable-qca-usb-quirks.patch
+++ b/target/linux/ar71xx/patches-4.4/525-MIPS-ath79-enable-qca-usb-quirks.patch
@@ -29,9 +29,7 @@
 -  u32 bootstrap;
 +  void __iomem *phy_reg;
 +  u32 t;
- 
--  bootstrap = ath79_reset_rr(AR934X_RESET_REG_BOOTSTRAP);
--  if (bootstrap & AR934X_BOOTSTRAP_USB_MODE_DEVICE)
++
 +  phy_reg = ioremap(base, 4);
 +  if (!phy_reg)
 +  return;
@@ -43,7 +41,9 @@
 +
 +  iounmap(phy_reg);
 +}
-+
+ 
+-  bootstrap = ath79_reset_rr(AR934X_RESET_REG_BOOTSTRAP);
+-  if (bootstrap & AR934X_BOOTSTRAP_USB_MODE_DEVICE)
 +static void ar934x_usb_reset_notifier(struct platform_device *pdev)
 +{
 +  if (pdev->id != -1)
diff --git 
a/target/linux/ar71xx/patches-4.4/601-MIPS-ath79-add-more-register-defines.patch
 
b/target/linux/ar71xx/patches-4.4/601-MIPS-ath79-add-more-register-defines.patch
index c503577..0126f6a 100644
--- 
a/target/linux/ar71xx/patches-4.4/601-MIPS-ath79-add-more-register-defines.patch
+++ 
b/target/linux/ar71xx/patches-4.4/601-MIPS-ath79-add-more-register-defines.patch
@@ -155,7 +155,7 @@
 +#define AR934X_RESET_LUT  BIT(2)
 +#define AR934X_RESET_MBOX BIT(1)
 +#define AR934X_RESET_I2S  BIT(0)
- 
++
 +#define QCA955X_RESET_HOSTBIT(31)
 +#define QCA955X_RESET_SLICBIT(30)
 +#define QCA955X_RESET_HDMABIT(29)
@@ -188,7 +188,7 @@
 +#define QCA955X_RESET_LUT BIT(2)
 +#define QCA955X_RESET_MBOXBIT(1)
 +#define QCA955X_RESET_I2S BIT(0)
-+
+ 
 +#define AR933X_BOOTSTRAP_MDIO_GPIO_EN BIT(18)
 +#define AR933X_BOOTSTRAP_EEPBUSY  BIT(4)
  #define AR933X_BOOTSTRAP_REF_CLK_40   BIT(0)
diff --git a/target/linux/ar71xx/patches-4.4/609-MIPS-ath79-ap136-fixes.patch 
b/target/linux/ar71xx/patches-4.4/609-MIPS-ath79-ap136-fixes.patch
index 5d9d802..4d7902e 100644
--- a/target/linux/ar71xx/patches-4.4/609-MIPS-ath79-ap136-fixes.patch
+++ b/target/linux/ar71xx/patches-4.4/609-MIPS-ath79-ap136-fixes.patch
@@ -135,8 +135,7 @@
 +static void __init ap136_common_setup(void)
 +{
 +  u8 *art = (u8 *) KSEG1ADDR(0x1fff);
- 
--static int ap136_pci_plat_dev_init(struct pci_dev *dev)
++
 +  ath79_register_m25p80(NULL);
 +
 +  ath79_register_leds_gpio(-1, ARRAY_SIZE(ap136_leds_gpio),
@@ -151,7 +150,8 @@
 +  ath79_register_wmac(art + AP136_WMAC_CALDATA_OFFSET, NULL);
 +
 +  ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-+
+ 
+-static int ap136_pci_plat_dev_init(struct pci_dev *dev)
 +  ath79_register_mdio(0, 0x0);
 +  ath79_init_mac(ath79_eth0_data.mac_addr, art + AP136_MAC0_OFFSET, 0);
 +
@@ -211,16 +211,16 @@
 +  /* GMAC0 of the AR8327 switch is connected to GMAC1 via SGMII */
 +  ap136_ar8327_pad0_cfg.mode = AR8327_PAD_MAC_SGMII;
 +  ap136_ar8327_pad0_cfg.sgmii_delay_en = true;
- 
--  ath79_pci_set_plat_dev_init(ap136_pci_plat_dev_init);
--  ath79_register_pci();
++
 +  /* GMAC6 of the AR8327 switch is connected to GMAC0 via

[LEDE-DEV] [LEDE-DEV v3] Add support of using device symlinks.

2016-12-16 Thread Nickolay Ledovskikh
It's useful when using multiple usb devices that should be bound to
certain usb ports. Symlinks are created by hotplug handlers.

Signed-off-by: Nickolay Ledovskikh 
---
 package/network/utils/comgt/files/3g.sh  | 2 ++
 package/network/utils/comgt/files/directip.sh| 1 +
 package/network/utils/comgt/files/ncm.sh | 2 ++
 package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh | 2 ++
 4 files changed, 7 insertions(+)

diff --git a/package/network/utils/comgt/files/3g.sh 
b/package/network/utils/comgt/files/3g.sh
index b0cdae2..d438cb7 100644
--- a/package/network/utils/comgt/files/3g.sh
+++ b/package/network/utils/comgt/files/3g.sh
@@ -31,6 +31,8 @@ proto_3g_setup() {
json_get_var dialnumber dialnumber
 
[ -n "$dat_device" ] && device=$dat_device
+
+   device="$(readlink -f $device)"
[ -e "$device" ] || {
proto_set_available "$interface" 0
return 1
diff --git a/package/network/utils/comgt/files/directip.sh 
b/package/network/utils/comgt/files/directip.sh
index 79b8c32..381bfb0 100644
--- a/package/network/utils/comgt/files/directip.sh
+++ b/package/network/utils/comgt/files/directip.sh
@@ -27,6 +27,7 @@ proto_directip_setup() {
 
[ -n "$ctl_device" ] && device=$ctl_device
 
+   device="$(readlink -f $device)"
[ -e "$device" ] || {
proto_notify_error "$interface" NO_DEVICE
proto_set_available "$interface" 0
diff --git a/package/network/utils/comgt/files/ncm.sh 
b/package/network/utils/comgt/files/ncm.sh
index 09c2c18..cf3cef6 100644
--- a/package/network/utils/comgt/files/ncm.sh
+++ b/package/network/utils/comgt/files/ncm.sh
@@ -45,6 +45,8 @@ proto_ncm_setup() {
proto_set_available "$interface" 0
return 1
}
+
+   device="$(readlink -f $device)"
[ -e "$device" ] || {
echo "Control device not valid"
proto_set_available "$interface" 0
diff --git a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh 
b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
index 05b9242..cab9cb9 100755
--- a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
+++ b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
@@ -42,6 +42,8 @@ proto_qmi_setup() {
proto_set_available "$interface" 0
return 1
}
+
+   device="$(readlink -f $device)"
[ -c "$device" ] || {
echo "The specified control device does not exist"
proto_notify_error "$interface" NO_DEVICE
-- 
2.7.3


___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev


[LEDE-DEV] uqmi: Change returned value to QMI_CMD_REQUEST for 'sync' command.

2016-12-16 Thread Nickolay Ledovskikh
QMI_CMD_DONE is not working properly with 'sync' command.
We must use QMI_CMD_REQUEST.

Signed-off-by: Nickolay Ledovskikh 
---
 commands.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/commands.c b/commands.c
index ff9d3ac..f9545a9 100644
--- a/commands.c
+++ b/commands.c
@@ -69,7 +69,7 @@ static enum qmi_cmd_result
 cmd_sync_prepare(struct qmi_dev *qmi, struct qmi_request *req, struct qmi_msg 
*msg, char *arg)
 {
qmi_set_ctl_sync_request(msg);
-   return QMI_CMD_DONE;
+   return QMI_CMD_REQUEST;
 }
 
 #define cmd_get_client_id_cb no_cb
-- 
2.7.3


___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev


[LEDE-DEV] [LEDE-DEV, v3] uqmi: Prevent 'POLICY MISMATH' error.

2016-12-16 Thread Nickolay Ledovskikh
Add uqmi 'sync' command call to release stalled cid when preparing to
setup new connection. As a result it prevents 'POLICY MISMATCH' errors.

Signed-off-by: Nickolay Ledovskikh 
---
 package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh | 1 +
 1 file changed, 1 insertion(+)

diff --git a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh 
b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
index cab9cb9..1f260ae 100755
--- a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
+++ b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
@@ -78,6 +78,7 @@ proto_qmi_setup() {
 
uqmi -s -d "$device" --set-data-format 802.3
uqmi -s -d "$device" --wda-set-data-format 802.3
+   uqmi -s -d "$device" --sync
 
echo "Waiting for network registration"
while uqmi -s -d "$device" --get-serving-system | grep '"searching"' > 
/dev/null; do
-- 
2.7.3


___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev


Re: [LEDE-DEV] [LEDE-DEV, v3] uqmi: Prevent 'POLICY MISMATH' error.

2016-12-16 Thread Nikolay Ledovskikh
2016-12-16 15:41 GMT+03:00 Nickolay Ledovskikh :
> Add uqmi 'sync' command call to release stalled cid when preparing to
> setup new connection. As a result it prevents 'POLICY MISMATCH' errors.

There was an awful error in uqmi 'sync' command return value. So it
should be applied first of all.
Then this patch. And next update uqmi package version.

___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev


Re: [LEDE-DEV] [PATCH] libubox: Fix cppcheck warnings

2016-12-16 Thread Felix Fietkau
On 2016-12-15 05:11, Rosen Penev wrote:
> Two formats and a memory leak.
> 
> Signed-off by: Rosen Penev 
> ---
>  ulog.c  | 2 +-
>  usock.c | 2 +-
>  utils.c | 4 +++-
>  3 files changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/ulog.c b/ulog.c
> index 985d366..e7fb081 100644
> --- a/ulog.c
> +++ b/ulog.c
> @@ -91,7 +91,7 @@ static void ulog_kmsg(int priority, const char *fmt, 
> va_list ap)
>   FILE *kmsg;
>  
>   if ((kmsg = fopen("/dev/kmsg", "r+")) != NULL) {
> - fprintf(kmsg, "<%u>", priority);
> + fprintf(kmsg, "<%d>", priority);
>  
>   if (_ulog_ident)
>   fprintf(kmsg, "%s: ", _ulog_ident);
> diff --git a/usock.c b/usock.c
> index 0ce5390..0983806 100644
> --- a/usock.c
> +++ b/usock.c
> @@ -247,7 +247,7 @@ const char *usock_port(int port)
>   if (port < 0 || port > 65535)
>   return NULL;
>  
> - snprintf(buffer, sizeof(buffer), "%u", port);
> + snprintf(buffer, sizeof(buffer), "%d", port);
>  
>   return buffer;
>  }
I think these changes are wrong. The variables should be made unsigned
instead, since they're not meant to ever hold contain negative values.

- Felix

___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev


[LEDE-DEV] [PATCH] Allow sending a fd along a ubus_request

2016-12-16 Thread amine.ahd
Signed-off-by: amine.ahd 
---
 libubus-internal.h |  4 +++-
 libubus-obj.c  | 24 
 libubus-req.c  | 50 +++---
 libubus.c  |  2 +-
 libubus.h  | 19 +++
 ubusd_proto.c  |  6 +-
 6 files changed, 91 insertions(+), 14 deletions(-)

diff --git a/libubus-internal.h b/libubus-internal.h
index f62edc3..c4067d3 100644
--- a/libubus-internal.h
+++ b/libubus-internal.h
@@ -24,7 +24,9 @@ int ubus_send_msg(struct ubus_context *ctx, uint32_t seq,
 void ubus_process_msg(struct ubus_context *ctx, struct ubus_msghdr_buf *buf, 
int fd);
 int __hidden ubus_start_request(struct ubus_context *ctx, struct ubus_request 
*req,
struct blob_attr *msg, int cmd, uint32_t peer);
-void ubus_process_obj_msg(struct ubus_context *ctx, struct ubus_msghdr_buf 
*buf);
+int __hidden __ubus_start_request(struct ubus_context *ctx, struct 
ubus_request *req,
+   struct blob_attr *msg, int cmd, uint32_t peer);
+void ubus_process_obj_msg(struct ubus_context *ctx, struct ubus_msghdr_buf 
*buf, int fd);
 void ubus_process_req_msg(struct ubus_context *ctx, struct ubus_msghdr_buf 
*buf, int fd);
 void __hidden ubus_poll_data(struct ubus_context *ctx, int timeout);
 
diff --git a/libubus-obj.c b/libubus-obj.c
index 990d04b..a9972c5 100644
--- a/libubus-obj.c
+++ b/libubus-obj.c
@@ -11,12 +11,13 @@
  * GNU General Public License for more details.
  */
 
+#include 
 #include "libubus.h"
 #include "libubus-internal.h"
 
 static void
 ubus_process_unsubscribe(struct ubus_context *ctx, struct ubus_msghdr *hdr,
-struct ubus_object *obj, struct blob_attr **attrbuf)
+struct ubus_object *obj, struct blob_attr **attrbuf, 
int fd)
 {
struct ubus_subscriber *s;
 
@@ -29,11 +30,13 @@ ubus_process_unsubscribe(struct ubus_context *ctx, struct 
ubus_msghdr *hdr,
s = container_of(obj, struct ubus_subscriber, obj);
if (s->remove_cb)
s->remove_cb(ctx, s, blob_get_u32(attrbuf[UBUS_ATTR_TARGET]));
+
+   close(fd);
 }
 
 static void
 ubus_process_notify(struct ubus_context *ctx, struct ubus_msghdr *hdr,
-   struct ubus_object *obj, struct blob_attr **attrbuf)
+   struct ubus_object *obj, struct blob_attr **attrbuf, int fd)
 {
if (!obj || !attrbuf[UBUS_ATTR_ACTIVE])
return;
@@ -41,14 +44,18 @@ ubus_process_notify(struct ubus_context *ctx, struct 
ubus_msghdr *hdr,
obj->has_subscribers = blob_get_u8(attrbuf[UBUS_ATTR_ACTIVE]);
if (obj->subscribe_cb)
obj->subscribe_cb(ctx, obj);
+
+   close(fd);
 }
 static void
 ubus_process_invoke(struct ubus_context *ctx, struct ubus_msghdr *hdr,
-   struct ubus_object *obj, struct blob_attr **attrbuf)
+   struct ubus_object *obj, struct blob_attr **attrbuf, int fd)
 {
struct ubus_request_data req = {
.fd = -1,
+   .req_fd = fd,
};
+
int method;
int ret;
bool no_reply = false;
@@ -65,7 +72,7 @@ ubus_process_invoke(struct ubus_context *ctx, struct 
ubus_msghdr *hdr,
 
if (attrbuf[UBUS_ATTR_NO_REPLY])
no_reply = blob_get_int8(attrbuf[UBUS_ATTR_NO_REPLY]);
-
+   
req.peer = hdr->peer;
req.seq = hdr->seq;
req.object = obj->id;
@@ -88,6 +95,7 @@ found:
ret = obj->methods[method].handler(ctx, obj, &req,
   blob_data(attrbuf[UBUS_ATTR_METHOD]),
   attrbuf[UBUS_ATTR_DATA]);
+   close(req.req_fd);
if (req.deferred || no_reply)
return;
 
@@ -95,16 +103,16 @@ send:
ubus_complete_deferred_request(ctx, &req, ret);
 }
 
-void __hidden ubus_process_obj_msg(struct ubus_context *ctx, struct 
ubus_msghdr_buf *buf)
+
+void __hidden ubus_process_obj_msg(struct ubus_context *ctx, struct 
ubus_msghdr_buf *buf, int fd)
 {
void (*cb)(struct ubus_context *, struct ubus_msghdr *,
-  struct ubus_object *, struct blob_attr **);
+  struct ubus_object *, struct blob_attr **, int fd);
struct ubus_msghdr *hdr = &buf->hdr;
struct blob_attr **attrbuf;
struct ubus_object *obj;
uint32_t objid;
void *prev_data = NULL;
-
attrbuf = ubus_parse_msg(buf->data);
if (!attrbuf[UBUS_ATTR_OBJID])
return;
@@ -131,7 +139,7 @@ void __hidden ubus_process_obj_msg(struct ubus_context 
*ctx, struct ubus_msghdr_
buf->data = NULL;
}
 
-   cb(ctx, hdr, obj, attrbuf);
+   cb(ctx, hdr, obj, attrbuf, fd);
 
if (prev_data) {
if (buf->data)
diff --git a/libubus-req.c b/libubus-req.c
index 416adab..5180a6f 100644
--- a/libubus-req.c
+++ b/libubus-req.c
@@ -49,10 +49,9 @@ static void __ubus_process_req_data(

Re: [LEDE-DEV] [PATCH v2] kernel: bump to 4.4.39

2016-12-16 Thread Stijn Segers

Hi Koen,

I pulled your patch (not sure if you were talking about Stijn Tintel or 
me), I am getting whitespace errors:


$ git apply --whitespace=fix 
../patches/main/0001-Kernel-bump-to-4.4.39.patch
../patches/main/0001-Kernel-bump-to-4.4.39.patch:39: trailing 
whitespace.


../patches/main/0001-Kernel-bump-to-4.4.39.patch:63: trailing 
whitespace.


../patches/main/0001-Kernel-bump-to-4.4.39.patch:86: trailing 
whitespace.


../patches/main/0001-Kernel-bump-to-4.4.39.patch:106: trailing 
whitespace.


../patches/main/0001-Kernel-bump-to-4.4.39.patch:140: space before tab 
in indent.


I think you'll need to fix before the patch gets accepted.

Other than that:
* Compile-tested on ar71xx / ramips/mt7621 / x86/64.
* Run-tested on ar71xx / ramips/mt7621.

Tested-by: Stijn Segers 

Cheers

Stijn


___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev


[LEDE-DEV] resolv.conf not localhost anymore?

2016-12-16 Thread Weedy
So I just ran into this updating master from 2ish weeks ago.

root@OpenWrt:~# cat /tmp/resolv.conf
# Interface wan
nameserver 206.248.154.170
nameserver 206.248.154.22
root@OpenWrt:~# cat /tmp/resolv.conf.ppp
nameserver 206.248.154.170
nameserver 206.248.154.22

root@OpenWrt:~# /usr/sbin/ntpd -n -d -q -p ntp-server.lan -p
ntp1.torix.ca -p tick.usask.ca
ntpd: bad address 'ntp-server.lan'
ntpd: bad address 'ntp-server.lan'
< repeated forever >

A: wasn't the system resolv.conf just 127.0.0.1?
B: this host is in /etc/hosts, so why isn't that being picked up?
C: is there a config option somewhere I can't set to specify what I
want in the systems resolv.conf?

note: I script my builds, but the script boils down to running
./scripts/env to switch to the board I'm building and then
echo 'CONFIG_TARGET_ar71xx=y
CONFIG_TARGET_ar71xx_generic=y
CONFIG_TARGET_ar71xx_generic_DEVICE_wndr3700=y
CONFIG_PACKAGE_wpad=y
CONFIG_PACKAGE_wpad-mini=n
' > .confg && make defconfig
Or whatever the CONFIG_TARGET do jour is. I did a fresh distclean
before sending this email, still broken.

___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev


Re: [LEDE-DEV] [PATCH v2] kernel: bump to 4.4.39

2016-12-16 Thread Felix Fietkau
On 2016-12-16 20:02, Stijn Segers wrote:
> Hi Koen,
> 
> I pulled your patch (not sure if you were talking about Stijn Tintel or 
> me), I am getting whitespace errors:
> 
> $ git apply --whitespace=fix 
> ../patches/main/0001-Kernel-bump-to-4.4.39.patch
> ../patches/main/0001-Kernel-bump-to-4.4.39.patch:39: trailing 
> whitespace.
> 
> ../patches/main/0001-Kernel-bump-to-4.4.39.patch:63: trailing 
> whitespace.
> 
> ../patches/main/0001-Kernel-bump-to-4.4.39.patch:86: trailing 
> whitespace.
> 
> ../patches/main/0001-Kernel-bump-to-4.4.39.patch:106: trailing 
> whitespace.
> 
> ../patches/main/0001-Kernel-bump-to-4.4.39.patch:140: space before tab 
> in indent.
> 
> I think you'll need to fix before the patch gets accepted.
git apply doesn't know about patch files, so it doesn't know that these
trailing whitespaces are legitimate (and necessary).

- Felix

___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev


[LEDE-DEV] [PATCH RFC 2/2] openvpn: fix disabling DES support in mbedtls

2016-12-16 Thread Magnus Kroken
From: Felix Fietkau 

Signed-off-by: Felix Fietkau 
Signed-off-by: Magnus Kroken 
---
Felix added this to his staging tree along with my 2.4_rc1 patch,
it needed updates after rc2 due to a style reformatting of the OpenVPN
codebase. Not sure if I got the rebasing right, let me know of any problems.

 .../services/openvpn/patches/220-disable_des.patch | 81 ++
 1 file changed, 81 insertions(+)
 create mode 100644 
package/network/services/openvpn/patches/220-disable_des.patch

diff --git a/package/network/services/openvpn/patches/220-disable_des.patch 
b/package/network/services/openvpn/patches/220-disable_des.patch
new file mode 100644
index 000..cd93070
--- /dev/null
+++ b/package/network/services/openvpn/patches/220-disable_des.patch
@@ -0,0 +1,81 @@
+--- a/src/openvpn/syshead.h
 b/src/openvpn/syshead.h
+@@ -594,11 +594,11 @@ socket_defined(const socket_descriptor_t
+ /*
+  * Should we include NTLM proxy functionality
+  */
+-#if defined(ENABLE_CRYPTO)
+-#define NTLM 1
+-#else
++//#if defined(ENABLE_CRYPTO)
++//#define NTLM 1
++//#else
+ #define NTLM 0
+-#endif
++//#endif
+ 
+ /*
+  * Should we include proxy digest auth functionality
+--- a/src/openvpn/crypto_mbedtls.c
 b/src/openvpn/crypto_mbedtls.c
+@@ -320,6 +320,7 @@ int
+ key_des_num_cblocks(const mbedtls_cipher_info_t *kt)
+ {
+ int ret = 0;
++#ifdef MBEDTLS_DES_C
+ if (kt->type == MBEDTLS_CIPHER_DES_CBC)
+ {
+ ret = 1;
+@@ -332,6 +333,7 @@ key_des_num_cblocks(const mbedtls_cipher
+ {
+ ret = 3;
+ }
++#endif
+ 
+ dmsg(D_CRYPTO_DEBUG, "CRYPTO INFO: n_DES_cblocks=%d", ret);
+ return ret;
+@@ -340,6 +342,7 @@ key_des_num_cblocks(const mbedtls_cipher
+ bool
+ key_des_check(uint8_t *key, int key_len, int ndc)
+ {
++#ifdef MBEDTLS_DES_C
+ int i;
+ struct buffer b;
+ 
+@@ -368,11 +371,15 @@ key_des_check(uint8_t *key, int key_len,
+ 
+ err:
+ return false;
++#else
++return true;
++#endif
+ }
+ 
+ void
+ key_des_fixup(uint8_t *key, int key_len, int ndc)
+ {
++#ifdef MBEDTLS_DES_C
+ int i;
+ struct buffer b;
+ 
+@@ -387,6 +394,7 @@ key_des_fixup(uint8_t *key, int key_len,
+ }
+ mbedtls_des_key_set_parity(key);
+ }
++#endif
+ }
+ 
+ /*
+@@ -698,10 +706,12 @@ cipher_des_encrypt_ecb(const unsigned ch
+unsigned char *src,
+unsigned char *dst)
+ {
++#ifdef MBEDTLS_DES_C
+ mbedtls_des_context ctx;
+ 
+ ASSERT(mbed_ok(mbedtls_des_setkey_enc(&ctx, key)));
+ ASSERT(mbed_ok(mbedtls_des_crypt_ecb(&ctx, src, dst)));
++#endif
+ }
+ 
+ 
-- 
2.1.4


___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev


[LEDE-DEV] [PATCH RFC 1/2] openvpn: update to 2.4_rc2

2016-12-16 Thread Magnus Kroken
OpenVPN 2.4 builds with mbedTLS 2.x, rename openvpn-polarssl
variant to openvpn-mbedtls.

Some feature highlights:
* Data channel cipher negotiation
* AEAD cipher support for data channel encryption (currently only AES-GCM)
* ECDH key exchange for control channel
* LZ4 compression support

See https://github.com/OpenVPN/openvpn/blob/master/Changes.rst
for additional change notes.

Signed-off-by: Magnus Kroken 
---
 package/network/services/openvpn/Config-mbedtls.in | 70 ++
 package/network/services/openvpn/Config-nossl.in   |  4 ++
 package/network/services/openvpn/Config-openssl.in |  4 ++
 .../network/services/openvpn/Config-polarssl.in| 66 
 package/network/services/openvpn/Makefile  | 17 +++---
 .../network/services/openvpn/files/openvpn.config  | 11 +++-
 .../patches/001-reproducible-remove_DATE.patch |  8 +--
 ...100-mbedtls-disable-runtime-version-check.patch | 11 
 ...00-polarssl-disable-runtime-version-check.patch | 11 
 ...101-backport_upstream_polarssl_debug_call.patch | 33 --
 .../patches/200-small_build_enable_occ.patch   |  2 +-
 .../210-build_always_use_internal_lz4.patch| 41 +
 12 files changed, 153 insertions(+), 125 deletions(-)
 create mode 100644 package/network/services/openvpn/Config-mbedtls.in
 delete mode 100644 package/network/services/openvpn/Config-polarssl.in
 create mode 100644 
package/network/services/openvpn/patches/100-mbedtls-disable-runtime-version-check.patch
 delete mode 100644 
package/network/services/openvpn/patches/100-polarssl-disable-runtime-version-check.patch
 delete mode 100644 
package/network/services/openvpn/patches/101-backport_upstream_polarssl_debug_call.patch
 create mode 100644 
package/network/services/openvpn/patches/210-build_always_use_internal_lz4.patch

diff --git a/package/network/services/openvpn/Config-mbedtls.in 
b/package/network/services/openvpn/Config-mbedtls.in
new file mode 100644
index 000..c1c8c7a
--- /dev/null
+++ b/package/network/services/openvpn/Config-mbedtls.in
@@ -0,0 +1,70 @@
+if PACKAGE_openvpn-mbedtls
+
+config OPENVPN_mbedtls_ENABLE_LZO
+   bool "Enable LZO compression support"
+   default y
+
+config OPENVPN_mbedtls_ENABLE_LZ4
+   bool "Enable LZ4 compression support"
+   default y
+
+config OPENVPN_mbedtls_ENABLE_X509_ALT_USERNAME
+   bool "Enable the --x509-username-field feature"
+   default n
+
+config OPENVPN_mbedtls_ENABLE_SERVER
+   bool "Enable server support (otherwise only client mode is support)"
+   default y
+
+#config OPENVPN_mbedtls_ENABLE_EUREPHIA
+#  bool "Enable support for the eurephia plug-in"
+#  default n
+
+config OPENVPN_mbedtls_ENABLE_MANAGEMENT
+   bool "Enable management server support"
+   default n
+
+#config OPENVPN_mbedtls_ENABLE_PKCS11
+#  bool "Enable pkcs11 support"
+#  default n
+
+config OPENVPN_mbedtls_ENABLE_HTTP
+   bool "Enable HTTP proxy support"
+   default y
+
+config OPENVPN_mbedtls_ENABLE_SOCKS
+   bool "Enable SOCKS proxy support"
+   default y
+
+config OPENVPN_mbedtls_ENABLE_FRAGMENT
+   bool "Enable internal fragmentation support (--fragment)"
+   default y
+
+config OPENVPN_mbedtls_ENABLE_MULTIHOME
+   bool "Enable multi-homed UDP server support (--multihome)"
+   default y
+
+config OPENVPN_mbedtls_ENABLE_PORT_SHARE
+   bool "Enable TCP server port-share support (--port-share)"
+   default y
+
+config OPENVPN_mbedtls_ENABLE_DEF_AUTH
+   bool "Enable deferred authentication"
+   default y
+
+config OPENVPN_mbedtls_ENABLE_PF
+   bool "Enable internal packet filter"
+   default y
+
+config OPENVPN_mbedtls_ENABLE_IPROUTE2
+   bool "Enable support for iproute2"
+   default n
+
+config OPENVPN_mbedtls_ENABLE_SMALL
+   bool "Enable size optimization"
+   default y
+   help
+ enable smaller executable size (disable OCC, usage
+ message, and verb 4 parm list)
+
+endif
diff --git a/package/network/services/openvpn/Config-nossl.in 
b/package/network/services/openvpn/Config-nossl.in
index 3eaa228..199cda0 100644
--- a/package/network/services/openvpn/Config-nossl.in
+++ b/package/network/services/openvpn/Config-nossl.in
@@ -4,6 +4,10 @@ config OPENVPN_nossl_ENABLE_LZO
bool "Enable LZO compression support"
default y
 
+config OPENVPN_nossl_ENABLE_LZ4
+   bool "Enable LZ4 compression support"
+   default y
+
 config OPENVPN_nossl_ENABLE_SERVER
bool "Enable server support (otherwise only client mode is support)"
default y
diff --git a/package/network/services/openvpn/Config-openssl.in 
b/package/network/services/openvpn/Config-openssl.in
index ac4c774..a2bc3de 100644
--- a/package/network/services/openvpn/Config-openssl.in
+++ b/package/network/services/openvpn/Config-openssl.in
@@ -4,6 +4,10 @@ config OPENVPN_openssl_ENABLE_LZO
bool "Enable LZO compression support"
default y
 
+config OPENV

[LEDE-DEV] [PATCH RFC v2 2/2] openvpn: fix disabling DES support in mbedtls

2016-12-16 Thread Magnus Kroken
From: Felix Fietkau 

Signed-off-by: Felix Fietkau 
Signed-off-by: Magnus Kroken 
---
v2: Fix whitespace issues, sorry for the noise.

 .../services/openvpn/patches/220-disable_des.patch | 81 ++
 1 file changed, 81 insertions(+)
 create mode 100644 
package/network/services/openvpn/patches/220-disable_des.patch

diff --git a/package/network/services/openvpn/patches/220-disable_des.patch 
b/package/network/services/openvpn/patches/220-disable_des.patch
new file mode 100644
index 000..cd93070
--- /dev/null
+++ b/package/network/services/openvpn/patches/220-disable_des.patch
@@ -0,0 +1,81 @@
+--- a/src/openvpn/syshead.h
 b/src/openvpn/syshead.h
+@@ -594,11 +594,11 @@ socket_defined(const socket_descriptor_t
+ /*
+  * Should we include NTLM proxy functionality
+  */
+-#if defined(ENABLE_CRYPTO)
+-#define NTLM 1
+-#else
++//#if defined(ENABLE_CRYPTO)
++//#define NTLM 1
++//#else
+ #define NTLM 0
+-#endif
++//#endif
+ 
+ /*
+  * Should we include proxy digest auth functionality
+--- a/src/openvpn/crypto_mbedtls.c
 b/src/openvpn/crypto_mbedtls.c
+@@ -320,6 +320,7 @@ int
+ key_des_num_cblocks(const mbedtls_cipher_info_t *kt)
+ {
+ int ret = 0;
++#ifdef MBEDTLS_DES_C
+ if (kt->type == MBEDTLS_CIPHER_DES_CBC)
+ {
+ ret = 1;
+@@ -332,6 +333,7 @@ key_des_num_cblocks(const mbedtls_cipher
+ {
+ ret = 3;
+ }
++#endif
+ 
+ dmsg(D_CRYPTO_DEBUG, "CRYPTO INFO: n_DES_cblocks=%d", ret);
+ return ret;
+@@ -340,6 +342,7 @@ key_des_num_cblocks(const mbedtls_cipher
+ bool
+ key_des_check(uint8_t *key, int key_len, int ndc)
+ {
++#ifdef MBEDTLS_DES_C
+ int i;
+ struct buffer b;
+ 
+@@ -368,11 +371,15 @@ key_des_check(uint8_t *key, int key_len,
+ 
+ err:
+ return false;
++#else
++return true;
++#endif
+ }
+ 
+ void
+ key_des_fixup(uint8_t *key, int key_len, int ndc)
+ {
++#ifdef MBEDTLS_DES_C
+ int i;
+ struct buffer b;
+ 
+@@ -387,6 +394,7 @@ key_des_fixup(uint8_t *key, int key_len,
+ }
+ mbedtls_des_key_set_parity(key);
+ }
++#endif
+ }
+ 
+ /*
+@@ -698,10 +706,12 @@ cipher_des_encrypt_ecb(const unsigned ch
+unsigned char *src,
+unsigned char *dst)
+ {
++#ifdef MBEDTLS_DES_C
+ mbedtls_des_context ctx;
+ 
+ ASSERT(mbed_ok(mbedtls_des_setkey_enc(&ctx, key)));
+ ASSERT(mbed_ok(mbedtls_des_crypt_ecb(&ctx, src, dst)));
++#endif
+ }
+ 
+ 
-- 
2.1.4


___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev


[LEDE-DEV] [PATCH] ramips: WNDR3700v5 fix mtd partitions and radios

2016-12-16 Thread L. D. Pinney
Fix the mtd partition layout and enable both radios in the dts

Signed-off-by: L. D. Pinney 
Tested-by Andrius ??tikonas 

---

diff --git a/target/linux/ramips/dts/WNDR3700V5.dts 
b/target/linux/ramips/dts/WNDR3700V5.dts
index b9ca613..bb879a1 100644
--- a/target/linux/ramips/dts/WNDR3700V5.dts
+++ b/target/linux/ramips/dts/WNDR3700V5.dts
@@ -81,6 +81,7 @@
partition@0 {
label = "u-boot";
reg = <0x0 0x3>;
+   read-only;
};
 
partition@3 {
@@ -97,7 +98,7 @@
 
partition@5 {
label = "firmware";
-   reg = <0x5 0xfb>;
+   reg = <0x5 0xee>;
};
};
 };
@@ -109,16 +110,16 @@
mt76@0,0 {
reg = <0x 0 0 0 0>;
device_type = "pci";
-   mediatek,mtd-eeprom = <&factory 0x0004>;
+   mediatek,mtd-eeprom = <&factory 0x8000>;
mediatek,2ghz = <0>;
};
};
 
-   pcie2 {
-   mt76@2,0 {
-   reg = <0x1000 0 0 0 0>;
+   pcie1 {
+   mt76@1,0 {
+   reg = <0x 0 0 0 0>;
device_type = "pci";
-   mediatek,mtd-eeprom = <&factory 0x8004>;
+   mediatek,mtd-eeprom = <&factory 0x>;
mediatek,5ghz = <0>;
};
};

___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev