aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ar71xx: add support for Wallys DR342Piotr Dymacz2017-11-1413-45/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Wallys DR342 is a 5 GHz, 2T2R AP/CPE board based on Atheros AR9342. Short specification: - 560/450/225 MHz (CPU/DDR/AHB) - 1x Gbps Ethernet (AR8035) with passive PoE support (24-56 V) - 64 MB of RAM (DDR2) - 16 MB of FLASH - 2T2R 5 GHz with external FEM (SKY85728-11), up to 30 dBm - 2x MMCX connectors - miniPCIe connector with PCIe and USB 2.0 buses - optional miniSIM slot - 7x LED, 1x button - UART, (E)JTAG and LED headers - 1x DC jack for main power (12-56 V) Flash instruction (do it under U-Boot, using UART): 1. tftp 0x82000000 lede-ar71xx-generic-dr342-squashfs-sysupgrade.bin 2. erase 0x9f050000 +$filesize 3. cp.b $fileaddr 0x9f050000 $filesize 4. setenv bootcmd "bootm 0x9f050000" 5. saveenv && reset Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ramips: add support for UniElec U7628-01Piotr Dymacz2017-11-148-0/+240
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UniElec U7628-01 is a router platform board based on MediaTek MT7628AN. The device has the following specifications: - MT7628AN (580MHz) - 64/128/256 MB of RAM (DDR2) - 8/16 MB of flash (SPI NOR) - 5x 10/100 Mbps Ethernet (MT7628 built-in switch) - 1x 2T2R 2.4 GHz Wi-Fi (MT7628) - 1x miniPCIe slot (with PCIe and USB 2.0 buses) - 1x miniSIM slot - 1x microSD slot - 1x USB 2.0 port - 7x single-color LEDs (GPIO-controlled) - 1x bi-color LED (green GPIO-controlled, red -> LED_WLAN# in miniPCIe) - 1x reset button - 1x UART header (4-pins) - 1x SDXC/GPIO header (10-pins, connected with microSD slot) - 1x DC jack for main power (12 V) The following has been tested and is working: - Ethernet switch - miniPCIe slot (tested with modem and Wi-Fi card) - miniSIM slot - sysupgrade - reset button - USB 2.0 port* Due to a missing driver (MMC over GPIO) this is not supported: - microSD card reader * Warning: USB buses in miniPCIe and regular A-type socket are connected together, without any proper analog switch or USB HUB. Installation: This board might come with a different firmware versions (MediaTek SDK, PandoraBox, Padavan, etc.). If your board comes with PandoraBox, you can install LEDE using sysupgrade. Just SSH to the router and perform forced sysupgrade (due to a board name mismatch). The default IP of this board should be: 192.168.1.1 and username/password: root/admin. In case of a different firmware, you can use web based recovery described below. Use the following command to perform the sysupgrade (for the 128MB RAM/16MB flash version): sysupgrade -n -F lede-ramips-mt76x8-u7628-01-128M-16M-squashfs-sysupgrade.bin Recovery: This board contains a Chinese, closed-source bootloader called Breed (Boot and Recovery Environment for Embedded Devices). Breed supports web recovery and to enter it, you keep the reset button pressed for around 5 seconds during boot. Your machine will be assigned an IP through DHCP and the router will use IP address 192.168.1.1. The recovery website is in Chinese, but is easy to use. Click on the second item in the list to access the recovery page, then the second item on the next page is where you select the firmware. In order to start the recovery, you click the button at the bottom. SDXC/GPIO header (J3): 1. SDXC_D3 / I2C_SCLK 2. SDXC_D2 / I2C_SD 3. SDXC_D1 / I2S_DI 4. SDXC_D0 / I2S_WS 5. SDXC_CMD / I2S_CLK 6. SDXC_CLK / GPIO0 7. SDXC_CD / UART_RXD1 8. UART_TXD1 9. 3V3 10. GND Other notes: 1. The board is available with different amounts of RAM and flash. We have only added support for the 128/16 MB configuration, as that seems to be the default. However, all the required infrastructure is in place for making support for the other configurations easy. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com> Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
* ramips: add support for UniElec U7621-06Piotr Dymacz2017-11-147-0/+219
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UniElec U7621-06 is a router platform board based on MediaTek MT7621AT. The device has the following specifications: - MT7621AT (880 MHz) - 256/512 MB of RAM (DDR3) - 8/16/32/64 MB of FLASH (SPI NOR) - 5x 1 Gbps Ethernet (MT7621 built-in switch) - 1x ASMedia ASM1061 (for mSATA and SATA) - 2x miniPCIe slots (PCIe bus only) - 1x mSATA slot (with USB 2.0 bus for modem) - 1x SATA - 1x miniSIM slot - 1x microSD slot - 1x USB 3.0 - 12x LEDs (3 GPIO-controlled) - 1x reset button - 1x UART header (4-pins) - 1x GPIO header (30-pins) - 1x FPC connector for LEDs (20-pin, 0.5 mm pitch) - 1x DC jack for main power (12 V) The following has been tested and is working: - Ethernet switch - miniPCIe slots (tested with Wi-Fi cards) - mSATA slot (tested with modem and mSATA drive) - miniSIM slot - sysupgrade - reset button - microSD slot Installation: This board might come with a different firmware versions (MediaTek SDK, PandoraBox, Padavan, etc.). If your board comes with PandoraBox, you can install LEDE using sysupgrade. Just SSH to the router and perform forced sysupgrade (due to a board name mismatch). The default IP of this board should be: 192.168.1.1 and username/password: root/admin. In case of a different firmware, you can use web based recovery described below. Use the following command to perform the sysupgrade (for the 256MB RAM/16MB flash version): sysupgrade -n -F lede-ramips-mt7621-u7621-06-256M-16M-squashfs-sysupgrade.bin Recovery: This board contains a Chinese, closed-source bootloader called Breed (Boot and Recovery Environment for Embedded Devices). Breed supports web recovery and to enter it, you keep the reset button pressed for around 5 seconds during boot. Your machine will be assigned an IP through DHCP and the router will use IP address 192.168.1.1. The recovery website is in Chinese, but is easy to use. Click on the second item in the list to access the recovery page, then the second item on the next page is where you select the firmware. In order to start the recovery, you click the button at the bottom. LEDs list (top row, left to right): - LED_WWAN# (connected with pin 42 in LTE/mSATA slot) - Power (connected directly to 3V3) - CTS2_N (GPIO10, configured as "status" LED) - TXD2 (GPIO11, configured as "led4", without default trigger) - RXD2 (GPIO12, configured as "led5", without default trigger) - LED_WLAN# (connected with pin 44 in wifi0 slot) LEDs list (bottom row, left to right): - ESW_P0_LED_0 - ESW_P1_LED_0 - ESW_P2_LED_0 - ESW_P3_LED_0 - ESW_P4_LED_0 - LED_WLAN# (connected with pin 44 in wifi1 slot) Other notes: 1. The board is available with different amounts of RAM and flash. We have only added support for the 256/16 MB configuration, as that seems to be the default. However, all the required infrastructure is in place for making support for the other configurations easy. 2. The manufacturer offers five different wireless cards with MediaTek chipsets, based on MT76x2, MT7603 and MT7615. Images of the board all show that the miniPCIe slots are dedicated to specific Wi-Fi cards. However, the slots are generic. 3. All boards we got access to had the same EEPROM content. The default firmware reads the Ethernet MAC from offset 0xe000 in factory partition. This offset only contains 0xffs, so a random MAC will be generated on every boot of the router. There is a valid MAC stored at offset 0xe006 and this MAC is shown as the WAN MAC in the bootloader. However, it is the same on all boards we have checked. Based on information provided by the vendor, all boards sold in small quantities are considered more as samples for development purposes. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com> Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
* ar71xx: increase kernel partition size for TP-Link RE450 v1Piotr Dymacz2017-11-142-3/+3
| | | | | | | | | | | This increases kernel partition size and fixes rootfs (file-system) partition size on TP-Link RE450 v1. Also, while we are at it, switch from statically defined kernel and rootfs partitions in kernel cmdline to "tplink-fw" mtd splitter. Fixes: FS#1072. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: fix typo in Kconfig.openwrtPiotr Dymacz2017-11-141-1/+1
| | | | Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: image: fix typo in tp-link.mkPiotr Dymacz2017-11-141-3/+3
| | | | Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: increase kernel partition size for some TP-Link boardsHenryk Heisig2017-11-142-13/+14
| | | | | | | | | | | | | | This patch increases kernel partition size and re-enables image generation for below TP-Link boards: - archer-c58-v1 - archer-c60-v1 - tl-wr902ac-v1 - tl-wr942n-v1 Signed-off-by: Henryk Heisig <hyniu@o2.pl> [commit message and title reworded] Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* otrx: add support for -A (append) and -a (align) optionsRafał Miłecki2017-11-141-1/+24
| | | | | | They are inspired and compatible with the original and mjn3's trx tool. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* otrx: optimize memory usage when creating TRX imageRafał Miłecki2017-11-141-14/+7
| | | | | | | | There is no need to allocate buffer as big as the whole image in order to calculate CRC32. It's enough to use small buffer and just read file content block by block. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* otrx: use helper function when checking image's CRC32Rafał Miłecki2017-11-141-7/+3
| | | | | | | | This requires changing this helper to accept initial/current CRC32 value as argument but it allows dropping duplicated (complex?) code calculating the CRC32. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* igmpproxy: remove firewall rules when service is stoppedHans Dedecker2017-11-142-1/+5
| | | | | | | | | Remove multicast routing firewall rules when the igmpproxy is stopped by triggering a firewall config change. Keeping the firewall open from the wan for igmp and udp multicast is not desired when the igmpproxy service is inactive. Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* layerscape: enable CONFIG_CRYPTO_ARC4 in kernel 4.9Yangbo Lu2017-11-142-2/+0
| | | | | | | This patch is to enable CONFIG_CRYPTO_ARC4 in kernel 4.9 which is a dependency for mac80211 package. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* dnsmasq: fix swapped ubus args mac and ipJaroslav Safka2017-11-131-2/+2
| | | | | | | Fix swapped arguments "mac" and "ip" when calling function "ubus_event_bcast". Signed-off-by: Jaroslav Safka <devel@safka.org>
* openvpn: add support to start/stop single instancesMartin Schiller2017-11-132-18/+37
| | | | | Signed-off-by: Martin Schiller <ms@dev.tdt.de> Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> (PKG_RELEASE increase)
* rpcd: fix packagelist memory leakDaniel Golle2017-11-131-2/+2
| | | | | | a0231be8fbc61 sys: fix memory leak in packagelist Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* package/elfutils: add CFLAG -Wno-format-nonliteralAlexander Couzens2017-11-131-1/+1
| | | | | | | When a library is using fortify-packages GCC will complain about "error: format not a string literal, argument types not checked". Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* openssl: update to 1.0.2mPeter Wagner2017-11-122-5/+5
| | | | | | | | | | don't set no-ssl3-method when CONFIG_OPENSSL_WITH_SSL3 di disabled otherwise the compile breaks with this error: ../libssl.so: undefined reference to `SSLv3_client_method' Fixes CVE: CVE-2017-3735, CVE-2017-3736 Signed-off-by: Peter Wagner <tripolar@gmx.at>
* rpcd: update to the latest version from 2017-11-12Daniel Golle2017-11-121-3/+3
| | | | | | 4e483312b0216 sys: add packagelist method Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* wireguard: fix portability issueFelix Fietkau2017-11-111-0/+18
| | | | | | | Check if the compiler defines __linux__, instead of assuming that the host OS is the same as the target OS. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* wireguard: move to kernel build directoryFelix Fietkau2017-11-111-1/+1
| | | | | | It builds a kernel module, so its build dir should be target specific Signed-off-by: Felix Fietkau <nbd@nbd.name>
* procd: update to latest git HEADJohn Crispin2017-11-101-3/+3
| | | | | | | 7c9aa7c service: add data within the service itself e2b819a service: fix calls to blobmsg_parse() Signed-off-by: John Crispin <john@phrozen.org>
* procd: service_data: Support data within the service itselfPierre Lebleu2017-11-102-0/+19
| | | | | | Use the same approach than the service_triggers for the service_data. Signed-off-by: Pierre Lebleu <pme.lebleu@gmail.com>
* layerscape: fix pfe module autoload issueYangbo Lu2017-11-102-5/+1
| | | | | | | | There was a typo in module.mk for pfe module autoload. This patch is to fix this and remove useless rc.local which was for loading pfe module. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: add a README for build and deploymentYangbo Lu2017-11-101-0/+151
| | | | | | Added a README for layerscape targets build and deployment. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: add ls1012afrdm device supportYangbo Lu2017-11-106-5/+88
| | | | | | | | The QorIQ FRDM-LS1012A Board is an ultra-low-cost development platform for QorIQ LS1012A Series Network Processors built on ARM Cortex-A53 processor. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: enlarge ext4 rootfs size to 30MBYangbo Lu2017-11-105-8/+8
| | | | | | This patch is to enlarge ext4 rootfs size to 30MB. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: add ppa firmware packageYangbo Lu2017-11-102-10/+128
| | | | | | | | | | | | | | This patch is to add PPA (The Primary Protected Application) package and also enable it for all layerscape devices. LSDK github provides ppa source code git tree, but it only could be compiled with 64-bit toolchain. For 32-bit devices, there was no method to use it. https://github.com/qoriq-open-source/ppa-generic This patch is to directly use a private ppa binary tree for both 32-bit and 64-bit devices. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: support LSDK ppfeYangbo Lu2017-11-103-64/+36
| | | | | | | | This patch is to use ppfe git tree on LSDK github instead of private git tree, and support the latest ppfe on ls1012ardb. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: fix ls1046ardb 32-bit call traceYangbo Lu2017-11-102-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enabled CONFIG_ARCH_DMA_ADDR_T_64BIT in kernel to resolve below call trace when ls1046ardb 32-bit started up kernel. [ 0.142141] Bman ver:0a02,02,01 [ 0.145326] ------------[ cut here ]------------ [ 0.149969] WARNING: CPU: 0 PID: 1 at arch/arm/mm/ioremap.c:303 __arm_ioremap_pfn_caller+0x1ac/0x1d8 [ 0.159152] Modules linked in: [ 0.162216] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.9.51-g9c76e024 #2 [ 0.169036] Hardware name: Generic DT based system [ 0.173853] [<c02236a4>] (unwind_backtrace) from [<c021ed94>] (show_stack+0x10/0x14) [ 0.181638] [<c021ed94>] (show_stack) from [<c04d2d38>] (dump_stack+0x98/0xac) [ 0.188899] [<c04d2d38>] (dump_stack) from [<c0245bcc>] (__warn+0xe4/0x100) [ 0.195896] [<c0245bcc>] (__warn) from [<c0245c98>] (warn_slowpath_null+0x20/0x28) [ 0.203504] [<c0245c98>] (warn_slowpath_null) from [<c0229e24>] (__arm_ioremap_pfn_caller+0x1ac/0x1d8) [ 0.212861] [<c0229e24>] (__arm_ioremap_pfn_caller) from [<c0229f0c>] (ioremap_cache+0x20/0x28) [ 0.221608] [<c0229f0c>] (ioremap_cache) from [<c105e390>] (parse_mem_property.part.3+0x18/0x50) [ 0.230441] [<c105e390>] (parse_mem_property.part.3) from [<c105e6dc>] (qman_init_early+0x314/0x334) [ 0.239623] [<c105e6dc>] (qman_init_early) from [<c0201a24>] (do_one_initcall+0xb4/0x168) [ 0.247844] [<c0201a24>] (do_one_initcall) from [<c1000e84>] (kernel_init_freeable+0x1d8/0x280) [ 0.256590] [<c1000e84>] (kernel_init_freeable) from [<c0adbcfc>] (kernel_init+0x8/0x114) [ 0.264812] [<c0adbcfc>] (kernel_init) from [<c021bb28>] (ret_from_fork+0x14/0x2c) [ 0.272423] ---[ end trace 39aaeef329e2a0a2 ]--- [ 0.277058] qman-fqd addr 0xfb000000 size 0x800000 Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: update config-4.9Yangbo Lu2017-11-102-4/+12
| | | | | | | | Some new options were introduced by kernel patches. And some options should be removed/added. The config-4.9 should be updated accordingly. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: update kernel patchesYangbo Lu2017-11-1013-1411/+14969
| | | | | | | Updated kernel patches to align layerscape kernel with latest LSDK linux (LSDK-17.09-update-103017-V4.9 tag). Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: stop pfe before starting up kernelYangbo Lu2017-11-102-3/+3
| | | | | | | For ls1012ardb, pfe should be stopped before starting up kernel. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: update u-boot to LSDK-1709-update-103017 tagYangbo Lu2017-11-102-4/+4
| | | | | | Updated u-boot to LSDK-1709-update-103017 tag. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: use 1GHz CPU fequency for ls1012ardbYangbo Lu2017-11-101-1/+1
| | | | | | Used 1GHz CPU fequency for ls1012ardb instead of 800MHz. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: update rcw to LSDK-17.09-update-103017 tagYangbo Lu2017-11-101-2/+2
| | | | | | Updated rcw to LSDK-17.09-update-103017 tag. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: support LEDE boot for ls1088ardb/ls2088ardbYangbo Lu2017-11-102-0/+112
| | | | | | | Added u-boot patches to support LEDE boot for ls1088ardb and ls2088ardb. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: support all-in-one firmware for ls1088ardb/ls2088ardbYangbo Lu2017-11-103-10/+58
| | | | | | | Suppport all-in-one firmware for ls1088ardb/ls2088ardb by integrating u-boot/rcw/mc/dpl/restool. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: remove default profileYangbo Lu2017-11-102-36/+0
| | | | | | | | | | Default profile had to enable many packages for all devices support. This made these packages still enabled when built for single device. This patch is to remove default profile. For multiple devices build, it's proper to build with multiple devices profile. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: add restool packageYangbo Lu2017-11-1013-0/+794
| | | | | | | | restool is a user space application providing the ability to dynamically create and manage Layerscape DPAA2 containers and objects from Linux. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: add dpl firmware packageYangbo Lu2017-11-101-0/+58
| | | | | | | This patch is to add data path layout files for the second generation Data Path Acceleration Architecture. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: add mc firmware packageYangbo Lu2017-11-101-0/+57
| | | | | | | | This patch is to add package support for Management Complex Firmware for the second generation Data Path Acceleration Architecture. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: move fman/rcw/ppfe packages to layerscape/Yangbo Lu2017-11-104-0/+0
| | | | | | | This patch is to create a layerscape directory for all firmware packages of layerscape. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: clean up kernel patchesYangbo Lu2017-11-108-538/+538
| | | | | | | | | | | | | | | A previous patch disaggregated kernel patch 601 intending to reverse the ndo_get_stats64 change, but it also dropped many other changes without a reason. This caused build issue for layerscape. This patch is to fix that with below steps. 1. Reversed patch "1c4415a layerscape: reverse changes to ndo_get_stats64", but kept kernel patch 701 which was a proper fix. 2. Reversed the ndo_get_stats64 change in kernel patch 601. 3. Renamed patch 601 (net patch) to 202 (core-linux patch). Maybe it's more proper. Fixes: 1c4415a679f9 ("layerscape: reverse changes to ndo_get_stats64") Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* brcm47xx: fix switch port mapping on Asus RT-N16Tim Thorpe2017-11-101-1/+1
| | | | | | | On the Asus RT-N16, the ports are not mapped the in the same way as the RT-N12. It is, however, the same as the Linksys E3000v1. Signed-off-by: Tim Thorpe <timfthorpe@gmail.com>
* ar71xx: fix regression in 74x164 initialization with 4.9Felix Fietkau2017-11-101-10/+12
| | | | | | | | | The memcpy of the init data relies on chip->registers to be initialized, which only happens later in the code. Move this initialization further down to make it work. This was breaking PCIe/USB on some MikroTik RouterBoard devices. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* rpcd: update to the latest version from 2017-11-09Rafał Miłecki2017-11-091-3/+3
| | | | | | 9a8640183c031 plugin: use RTLD_LOCAL instead of RTLD_GLOBAL when loading library Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* build: fix generating dtb with / in DEVICE_DTSFelix Fietkau2017-11-091-3/+4
| | | | | | Fixes layerscape build error Signed-off-by: Felix Fietkau <nbd@nbd.name>
* toolchain/musl: update to version 1.1.18Felix Fietkau2017-11-092-6/+6
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* tools/coreutils: install readlinkFelix Fietkau2017-11-091-2/+2
| | | | | | Parts of the build system use non-portable invocation of readlink Signed-off-by: Felix Fietkau <nbd@nbd.name>
* base-files: fix getting gid from group_add_nextYousong Zhou2017-11-092-8/+7
| | | | | | | | | | | | Shell function return code only has range [0, 255]. Other values will be truncated, e.g. return 65536 will have the same effect as return 0 While at it, drop other "return $rc" where rc will almost always take value 0 and whose value current callers actually do not check Fixes FS#988 Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>