This commit implements a new netfilter match "xt_id" which can be used to
attach unsigned 32bit IDs to iptables rules.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41945 3c298f89-4303-0410-b956-a3cf2f4a3e73
This is a backport of bcma from wireless-tesing/master tag master-2014-07-29-1.
For kernel < 3.10 this only adds the header changes needed by more
recent b43 versions.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41899 3c298f89-4303-0410-b956-a3cf2f4a3e73
This fixes error erasing partial mtd partition which does not start on
eraseblock boundary and allows using fconfig to configure redboot on
devices such as the Gateworks Cambria.
Signed-off-by: Maciej Skrzypek <maciej.skrzypek@flytronic.pl>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41733 3c298f89-4303-0410-b956-a3cf2f4a3e73
With gcc-4.8 I get a compile error with kernel 3.3.
This patch fixes this problem by backporting a patch from a more recent kernel version.
CC arch/mips/mm/page.o
arch/mips/mm/page.c:89:6: error: 'clear_page' alias in between function and variable is not supported
void clear_page(void *page) __attribute__((alias("clear_page_array")));
^
arch/mips/mm/page.c:84:12: error: 'clear_page_array' aliased declaration [-Werror]
static u32 clear_page_array[0x120 / 4];
^
arch/mips/mm/page.c:108:6: error: 'copy_page' alias in between function and variable is not supported
void copy_page(void *to, void *from) __attribute__((alias("copy_page_array")));
^
arch/mips/mm/page.c:102:12: error: 'copy_page_array' aliased declaration [-Werror]
static u32 copy_page_array[0x540 / 4];
^
arch/mips/mm/page.c:108:6: error: 'copy_page' alias in between function and variable is not supported
void copy_page(void *to, void *from) __attribute__((alias("copy_page_array")));
^
arch/mips/mm/page.c:102:12: error: 'copy_page_array' aliased declaration [-Werror]
static u32 copy_page_array[0x540 / 4];
^
arch/mips/mm/page.c:89:6: error: 'clear_page' alias in between function and variable is not supported
void clear_page(void *page) __attribute__((alias("clear_page_array")));
^
arch/mips/mm/page.c:84:12: error: 'clear_page_array' aliased declaration [-Werror]
static u32 clear_page_array[0x120 / 4];
^
cc1: all warnings being treated as errors
make[7]: *** [arch/mips/mm/page.o] Error 1
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40619 3c298f89-4303-0410-b956-a3cf2f4a3e73
Now that GCC 4.8 is the default, make sure that we have the relevant
memset fixes to avoid nasty kernel crashes.
Signed-off-by: Florian Fainelli <florian@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39902 3c298f89-4303-0410-b956-a3cf2f4a3e73
It is not used by any platform.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39081 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
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 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
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 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
Newer kernels were already fixed by upstream.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36607 3c298f89-4303-0410-b956-a3cf2f4a3e73
Fixes building kmod-lib-zlib and kmod-lib-lzo if nothing depends on them.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36592 3c298f89-4303-0410-b956-a3cf2f4a3e73
Fixes build failure when having kmod-mmc and brcmfmac selected.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36468 3c298f89-4303-0410-b956-a3cf2f4a3e73
3.3 and 3.6 kernels do not make use of the UAPI headers, still they need
to provide an up-to-date switch.h copy for swconfig to build.
Signed-off-by: Florian Fainelli <florian@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36295 3c298f89-4303-0410-b956-a3cf2f4a3e73
This was turned from a silent confg option without a text to a normal
config option which could be selected without any other option
depending on this. This could cause the situation where REGMAP_SPI was
selected without SPI_MASTER being selected.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36101 3c298f89-4303-0410-b956-a3cf2f4a3e73
Fix it for older kernels as well.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35366 3c298f89-4303-0410-b956-a3cf2f4a3e73
Same patches that I just merged for 3.6 and 3.7, except with one
additional fix that went into v3.4 that needed to be included.
Submitted more for the benefit of the AA branch than for trunk.
[juhosg: refresh the patch with quilt]
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34813 3c298f89-4303-0410-b956-a3cf2f4a3e73