Replace the global "vlan_tagged" variable with an array storing the
tagging state per vlan.
The code was taken from #12181, tested and cleaned up by Saverio Proto
with additional bug fixes supplied by Álvaro Fernández.
Tested-by: Jo-Philipp Wich <jow@openwrt.org>
Signed-off-by: Saverio Proto <zioproto@gmail.com>
Signed-off-by: Álvaro Fernández <noltari@gmail.com>
SVN-Revision: 40777
Function register_mtd_parser always returned 0 (at least since v3.3)
before being changed to return void in v3.14-rc1~65^2~93 (mtd: make
register_mtd_parser return void), so it's not needed to check the
return value of this function. Also add __init flag to caller.
This fix compile errors in 3.14 kernel like:
drivers/mtd/mtdsplit_seama.c: In function 'mtdsplit_seama_init':
drivers/mtd/mtdsplit_seama.c:99:2: error: void value not ignored as it ought to be
return register_mtd_parser(&mtdsplit_seama_parser);
^
Signed-off-by: Zhao, Gang <gamerh2o@gmail.com>
SVN-Revision: 40731
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>
SVN-Revision: 40619
r40587 added some kernel config options, on which these two ones depend.
This fixes the build of the buildbots.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 40588
This patch adds port status information and MIB counters to the ADM6996
switch driver.
The driver supports also the older ADM6996L-variant, but I'm not able to
test this patch on that chip. According to the datasheet the same
registers exist there as well, so I think it should work, but any
feedback is appreciated.
Signed-off-by: Matti Laakso <malaakso at elisanet.fi>
SVN-Revision: 40542
This bgmac patch was an attempt to fix/workaround bug reported in
https://dev.openwrt.org/ticket/7198 noticed on WNR3500L.
Patch assumed length reported by the hardware was 0 and was trying to
read it until getting a different value. This was actually the opposite.
Lenghts were some invalid & huge values that resulted in skb_over_panic.
For example:
skbuff: skb_over_panic: text:83b21074 len:57222 (...)
skbuff: skb_over_panic: text:87af1024 len:43226 (...)
skbuff: skb_over_panic: text:87af5024 len:8739 (...)
So instead of that not-working patch checking for 0, write a new one
checking for huge values. In case something like that happens, dump
hardware state and drop the packet.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 40424
Export the ubi_num and vol_id into the sysfs record of the gluebi-
emulated mtd device. Previously userspace didn't have a way to
map gluebi-emulated devices back to their corresponding ubi volumes.
SVN-Revision: 40306
If the CPU port is not forced up, the link, at least on this board, is lost after
changes are applied. This makes sure that the link is restored. Regression tests
should confirm it doesn't break other boards.
Signed-off-by: Antonios Vamporakis <ant@area128.com>
SVN-Revision: 40305
- hide port pvid - vlan index relation
- switch initialises with vlans disabled so port isolation is not used
- remove special treatment of cpu port
Signed-off-by: Antonios Vamporakis <ant@area128.com>
SVN-Revision: 40304
Changes to:
- show the correct "enable_vlan" value under "Global attributes"
- show tagged ports under "Vlan: ports"
- use get_port_link method to report link status
Signed-off-by: Antonios Vamporakis <ant@area128.com>
SVN-Revision: 40303
Patch 642-bridge_port_isolate.patch needs to be updated
for kernels 3.12, 3.13 and 3.14 as the define for BR_ISOLATE_MODE
conflicts with BR_LEARNING
Signed-off-by: Jonas Eymann <j.eymann@gmx.net>
SVN-Revision: 39955
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>
SVN-Revision: 39902
This is a backport of code to improve the quality of fq_codel
hashing for 3.10 for some encapsulated protocols.
Not needed in 3.11 and later.
Patch-by: Dave Taht <dave.taht@bufferbloat.net>
Patchwork: http://patchwork.openwrt.org/patch/4902/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39640
This adds empty definitions for the PCI quirks functions when they
should not be included in the kernel.
This is based on a patch by Daniel <daniel@makrotopia.org>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 39534
The int brnf_call_ebtables in the header should be extern, otherwise
every object file gets its own int and they will conflict when linking
the binary.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 39533
Since the yaffs code update (r39084), it is not
possible to install OpenWrt on RouterBoards with
small-page NAND chips. Fix the yaffs code to make
it work again.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39409
Use the 'swconfig_trig_set_brightness' function to set
the brightness value of the LED when the link goes down.
This ensures that the last brighness value is saved into
a local variable which is used to track the actual LED
status.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39402
This reverts r38197.
The automatically created firmware partition includes
the partition_table partition. Apart from the partition
table, this partition contains sensitive data on some
Compex devices which data can be destroyed when the
firmware partition gets modified. Revert the change to
prevent that.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39382
The HIFN driver is a PCI driver, thus requires PCI support to be enabled
to compile. Therefore let it depend on PCI..
Should fix mvebu builds.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 39357
The PHY always says there is no link
Instead of doing this dma sync a mdelay does the same trick and it is as unreliable.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 39202
This updates the bgmac backport patch to the current upstream version
and adds some more patches mostly for BCM4707.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 39165
Without it in some occasions oops is shown on network restart. Problem was
noticed on imx6 targed.
Signed-off-by: Luka Perkov <luka@openwrt.org>
SVN-Revision: 39134
Use the latest version of the yaffs code. Fetched from the
yaffs2 git tree and it is based on the following commit:
commit bc76682d93955cfb33051beb503ad9f8a5450578
Merge: 3a8580e ffa781d
Author: Charles Manning <cdhmanning@gmail.com>
Date: Thu Jul 11 17:46:25 2013 +1200
Merge branch 'master' of ssh://www.aleph1.co.uk/home/aleph1/git/yaffs2
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39084