The following patch corrects a hard reset that occurs on alix and
soekris net5501 hardware. Specifically, this is an issue with the via
rhine NIC driver. Under periods of extreme load, the via rhine driver
can cause a reset of the entire system. When this happens no output is
seen on the console, the device simply reboots. This was reported in the
following ticket:
Consistent crash on Soekris NET5501
https://dev.openwrt.org/ticket/11882
I was able to reproduce the problem locally with numerous alix 2d13
platforms. Under heavy 64 byte frame size load from a Smartbits traffic
generator, the alix hardware will hard reset in under 5 minutes. The
same hardware, under the same load, on FreeBSD 9.0 does not reset.
The patch below backports most of the via rhine changes from kernel 3.5.
With OpenWrt trunk being on kernel 3.3.8, it seemed prudent to bring
these changes in to avoid this serious issue.
I've tested this heavily in my test environment and was able to keep the
device stable under load for extended periods of time without any resets.
Also, a nice side effect of this change is that it significantly raises
the performance the platform. Without this patch the alix 2d13 can move
approximately 29,000 packets per second at 64 byte frame sizes. After
this patch the alix can move 52,000 packets per second at 64 byte frame
sizes.
I put this patch under the x86 patches as those are the only platforms
with via rhine hardware that I'm aware of. If it needs to go some place
else please let me know.
Thanks,
Adam
Signed-off-by: Adam Gensler <openwrt@kristenandadam.net>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33072 3c298f89-4303-0410-b956-a3cf2f4a3e73
The kernel has to be rounded up to the nearest 1MB, then we append
the root filesystem at its end.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33066 3c298f89-4303-0410-b956-a3cf2f4a3e73
This patch fixes the GPIO ALTSEL settings for some of the GPIOs used by the PCI subsystem in Lantiq Danube. These changes are required for more than one PCI device to work. Tested with an ARV7510PW having two PCI-devices; a VIA USB controller and a Ralink WLAN mini-PCI card.
Signed-off-by: Matti Laakso <malaakso@elisanet.fi>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33054 3c298f89-4303-0410-b956-a3cf2f4a3e73
The structs defined in these header files should be the same as the
structes used by the platform code otherwise it will cause strange
runtime errors. By removing them from compat-wireless we will get a
compile error instead of a runtime error if they are out of sync.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33006 3c298f89-4303-0410-b956-a3cf2f4a3e73
* remove use_et, all supported drivers are using mii ioctls
* remove robo.phy_addr, phy_addr was always set to ROBO_PHY_ADDR.
* remove support for old kernel versions
* do_ioctl is allways called with buff == NULL
* use if_mii
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33002 3c298f89-4303-0410-b956-a3cf2f4a3e73
The ARV4525 board init is passing the wrong offset to
arv_register_ath5k() resulting in a bogus mac.
Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32993 3c298f89-4303-0410-b956-a3cf2f4a3e73
One condition before codel_Newton_step() was not good if
we never left the dropping state for a flow. As a result
rec_inv_sqrt was 0, instead of the ~0 initial value.
codel control law was then set to a very aggressive mode, dropping
many packets before reaching 'target' and recovering from this problem.
Brought over from 3.5-stable
Signed-off-by: Dave Taht <dave.taht@bufferbloat.net>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32950 3c298f89-4303-0410-b956-a3cf2f4a3e73
It will be used to start/stop the switch if that is
supported by the given board.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32943 3c298f89-4303-0410-b956-a3cf2f4a3e73