Linaro GCC 4.6-2013.05 incorrectly pads the arpt_arp structure on
at least the ar71xx target, resulting in a two bytes shorter struct
in the kernel compared to what arptables userspace expects.
When comparing sizeof(struct arpt_arp) in kernel and userspace, the
former yields 162 byte, while the latter is 164 byte.
As a consequence, the subsequent target_offset and next_offset
members of the parent arpt_entry structure contain invalid values
when processed by the arptables binary, leading to bad memory
accesses in the populate_cache() procedure, subsequently causing a
segfault.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38999 3c298f89-4303-0410-b956-a3cf2f4a3e73
get_cycles() is used in some places as one part of the seed for the
kernel PRNG.
This backports the following commit from mainline linux kernel:
9c9b415c50bc298ac61412dff856eae2f54889ee
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38834 3c298f89-4303-0410-b956-a3cf2f4a3e73
This adds some more code for bgmac core rev 4 and it now restarts all
cores when initializing the first one on BCM4708. I am just able to
send under 100 packages and then DMA TX does not work any more.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38714 3c298f89-4303-0410-b956-a3cf2f4a3e73
This pci ID is used by sprom less BCM4313 devices.
This is a backport from the mainline kernel.
This is part of #13551.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38713 3c298f89-4303-0410-b956-a3cf2f4a3e73
The current code only allows to automatically set
root device on MTD partitions. Move the code to MTD
core to allow to use it with all MTD devices.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38643 3c298f89-4303-0410-b956-a3cf2f4a3e73
This adds some more bgmac patches from mainline kernel.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38637 3c298f89-4303-0410-b956-a3cf2f4a3e73
The bool logic was the wrong way around.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38292 3c298f89-4303-0410-b956-a3cf2f4a3e73
The bgmac driver will be used on the brcm47xx and the bcm53xx target.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38289 3c298f89-4303-0410-b956-a3cf2f4a3e73
The bgmac driver will be used on the brcm47xx and the bcm53xx target.
These are only the patches already applied in current net-next/master
branch.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38288 3c298f89-4303-0410-b956-a3cf2f4a3e73
This is used on Huawei E970 (brcm47xx).
Signed-off-by: Mathias Adam <m.adam--openwrt@adamis.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38010 3c298f89-4303-0410-b956-a3cf2f4a3e73
Add a new kernel config option for generic firmware partition
split support and change the uImage split support to depend on
the new option. Aslo rename the MTD_UIMAGE_SPLIT_NAME option to
MTD_SPLIT_FIRMWARE_NAME to make it more generic.
The patch is in preparation for multiple firmware format
support.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38002 3c298f89-4303-0410-b956-a3cf2f4a3e73
Separate OpenWrt specific MTD options from the mainline
option by moving those into a new submenu in the kernel
configuration interface.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37997 3c298f89-4303-0410-b956-a3cf2f4a3e73
Use the config_enabled() macro where it is possible.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37980 3c298f89-4303-0410-b956-a3cf2f4a3e73
- change patch numbers to group the related stuff together,
- add mtd prefix where it is missing,
- use hyphens in the patch names
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37974 3c298f89-4303-0410-b956-a3cf2f4a3e73
The skb is usually started by a padding which allows the protocols in the
network stack to add their headers in front of the payload. The skb can be
reallocated in case the preallocated padding is not large enough. This can for
example happen in the function __skb_cow which will check the requested extra
headroom and allocate more buffer when the requested headroom is bigger than
the available one. The extra buffer is aligned again to the multiple of the
NET_SKB_PAD of the target architecture.
The macro used to create the multiple of the NET_SKB_PAD is written in a way
which allows only values power two as alignment parameter. The currently used
value of 48 bytes can not be written as n ** 2 but as 2 ** 4 + 2 ** 5. The
extra buffer is therefore not always the multiple of 48 but can be 16, 64, 80,
128, 144 and so on. The generated values are also not monotonic (48 requested
bytes are mapped to 80 allocated bytes and 49 requested bytes are mapped to 64
allocated bytes).
These unexpected small values result in more reallocations of the buffer. This
was noticed prominently during tests between two QCA9558 720 MHz devices which
were connected via ethernet to PCs and had a HT40 802.11n 3x3 link between each
other. The throughput PC-to-PC during iperf TCP runs increased reliable from
186 Mibit/s to 214 Mibit/s in one direction and from 195 Mibit/s to 220 Mibit/s
in the other direction. This is a performance increase of ~14% just by reducing
the amount of reallocations.
Signed-off-by: Sven Eckelmann <sven@open-mesh.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37948 3c298f89-4303-0410-b956-a3cf2f4a3e73
- enable using hwmon GSC driver on all targets
- add a kmod package for it
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37933 3c298f89-4303-0410-b956-a3cf2f4a3e73
Currently, the module causes an oops at least on rt5350. These patches
have been accepted upstream at:
git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git
Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37931 3c298f89-4303-0410-b956-a3cf2f4a3e73
The 'Warning: unable to open an initial console' message
indicates an error in the rootfs. Remove the patch which
hides the warning.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37848 3c298f89-4303-0410-b956-a3cf2f4a3e73
Linux expects that the /dev/console node is present
in the rootfs image. Create the node in initramfs,
in order to make std{in,out,err} usable even in early
init process.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37846 3c298f89-4303-0410-b956-a3cf2f4a3e73
Fixes the following build error on ramips/rt3883:
arch/mips/pci/pci-rt3883.c:488:3: error: implicit declaration of function \
'of_pci_get_devfn' [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
Although the function is only used by the PCI driver
of the RT3883 SoC but at the moment but it might be
useful for other targets as well.
Signed-off-by: Michael Lee <igvtee@gmail.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37826 3c298f89-4303-0410-b956-a3cf2f4a3e73
vsnprintf returns the number of chars that would have been written, not
the actual number of chars written. This can lead to crashlog_buf->len
being too big which in turn can lead to get_maxlen() returning negative
numbers. The length argument of kmsg_dump_get_buffer will be casted to
a size_t which makes a negative input a big positive number allowing
kmsg_dump_get_buffer to write out of bounds.
Fix this by using vscnprintf which returns the actually written number
of chars.
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37820 3c298f89-4303-0410-b956-a3cf2f4a3e73
The code is not used since the s3c24xx target was removed.
Signed-off-by: Luka Perkov <luka@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37809 3c298f89-4303-0410-b956-a3cf2f4a3e73
The patch in question has been accepted upstream in commit:
55bf75b7dd8ec875d048824f3cdecf8254e292e5
Signed-off-by: Luka Perkov <luka@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37807 3c298f89-4303-0410-b956-a3cf2f4a3e73
Kernel builds just fine without this patch so we can just remove it.
Signed-off-by: Luka Perkov <luka@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37805 3c298f89-4303-0410-b956-a3cf2f4a3e73
The BCM4331 supports a PCIe max request size of 512 bytes and uses
that, but the PCIe controller in the BCM4706 just supports 128 Bytes
and that causes a DMA error for packages bigger than 126 bytes. This
fixes the problem by setting the BCM4331 also to 128 Bytes.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37709 3c298f89-4303-0410-b956-a3cf2f4a3e73
based on http://patchwork.openwrt.org/patch/3827/
Signed-off-by: John Crispin <blogic@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37562 3c298f89-4303-0410-b956-a3cf2f4a3e73
Get rid of some ifdefs, and make sure that the microMIPS
specific code is disabled as well.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37506 3c298f89-4303-0410-b956-a3cf2f4a3e73
There is no platform using the gpio-pwm driver, yet these patches break the
generic PWM framework that is in upstream. So just remove them.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37490 3c298f89-4303-0410-b956-a3cf2f4a3e73
This allows the compiler to remove the emulate_load_store_microMIPS
function if cpu_has_mmips is defined as zero.
Backport of commit 74338805ec6869594d583535f941cb478c94dd73
from 3.11-rc1.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37478 3c298f89-4303-0410-b956-a3cf2f4a3e73
This should fix some build problems in b43 with kernel 3.3.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37432 3c298f89-4303-0410-b956-a3cf2f4a3e73
many boards have a disconnected TTL level serial which can generate
some garbage that can lead to spurious false sysrq detects.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37210 3c298f89-4303-0410-b956-a3cf2f4a3e73
3.10 final is out, so refresh patches and add md5sum.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37116 3c298f89-4303-0410-b956-a3cf2f4a3e73
This patch is a device tree enhancement that IMHO is worthy of mainline.
It allows the bootloader's commandline to be preserved even when the
device tree specifies one.
Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36780 3c298f89-4303-0410-b956-a3cf2f4a3e73