Previously the tx housekeeping was done in a spin_lock_irqsave critical
section which causes irqs to be disabled during that time. Since the
housekeeping is already prepared to be scheduled as a tasklet process
the housekeeping only in softirq context and revise the locking between
the tx path and the housekeeping tasklet by using a normal spin_lock
which in most situations will be a NOP anyway.
This makes sure that interrupts are only disabled for a short time
since in the worst case the housekeeping might have to free up to 256
skbs.
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29762 3c298f89-4303-0410-b956-a3cf2f4a3e73
Add workarround for BCM5357 and BCM4749.
This patch contains the following fixes from George Kashperko:
* separate subroutines for controller initialization workarounds -
following CodingStyle recommendations;
* __devinit __devexit __devinitconst annotations for CONFIG_HOTPLUG;
* fix leak in ssb_hcd_create_pdev/bcma_hcd_create_pdev - as hci_res being
kmalloc'ed is never freed anywhere while platform_device_add_resources
will kmemdup resources right away;
* fix compilation error in ssb_hcd_resume - it will fail as soon as
CONFIG_PM is selected.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29734 3c298f89-4303-0410-b956-a3cf2f4a3e73
Should fix whiteout issues and missing files when using extroot.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29727 3c298f89-4303-0410-b956-a3cf2f4a3e73
Reading from the flash chip on the TL-WR2543ND seems buggy.
If the SPI flash driver tries to read too much data in one
SPI transfer, the flash chip returns bogus values. This can
be caused by a buggy flash chip on my board, or it can
be a bug in our SPI driver.
Add a workaround to the m25p80 driver until I find out the
root cause of the problem. The patch allows to specify the
maximum numner of bytes which can be read safely withint
one SPI transfer.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29679 3c298f89-4303-0410-b956-a3cf2f4a3e73
* make clock delay configurable
* make read,write commands configurable
* use u16 for member and untag fields
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29677 3c298f89-4303-0410-b956-a3cf2f4a3e73
The wndr3700 at least has no eth0 mac address and usually leverages
the first wireless device's mac when in a bridged scenario. If,
however, you want to route, and not bridge the interfaces, you
need a unique mac address for it.
This patch sets the local bit on the mac address pulled from the
wireless chip and uses the resulting address for eth0.
Patch-by: Dave Taht <dave.taht@gmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29675 3c298f89-4303-0410-b956-a3cf2f4a3e73
It is based on patches from the linux-longsoon-community git tree:
http://dev.lemote.com/cgit/linux-loongson-community.git/
Now the kernel can use the command line parameter from kexec-tools.
Runtime tested on ar71xx with 2.6.39.4 (the wathdog must be stopped
before executing the new kernel). Compile tested with lantiq (3.1.4)
and brcm47xx (3.0.12).
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29674 3c298f89-4303-0410-b956-a3cf2f4a3e73
The microSD slot and the Real Time Clock is not working yet.
The miniPCIe interface is not tested due to the lack of a
suitable card.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29662 3c298f89-4303-0410-b956-a3cf2f4a3e73
These models are based on the AP99 reference board,
and uses the AR7241 SoC.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29658 3c298f89-4303-0410-b956-a3cf2f4a3e73