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>
SVN-Revision: 29762
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.
SVN-Revision: 29734
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.
SVN-Revision: 29679
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>
SVN-Revision: 29675
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).
SVN-Revision: 29674
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.
SVN-Revision: 29662
This patch adds support for the TP-Link device TL-MR3020 which is very
similiar to the TL-WR703N.
The TL-MR3020 uses 5 LEDs, 1 push button and a switch with 3 positions.
Only four LEDs can be controlled via GPIO. The power LED is connected to
the power supply.
The WPS push button has been mapped to KEY_WPS_BUTTON. The two GPIO signals
of the sliding switch have been mapped to BTN_0 and BTN_1.
I have also setup a wiki page with details here:
http://wiki.openwrt.org/toh/tp-link/tl-mr3020
USB is working and has been tested with USB mass storage and USB UMTS
stick.
Wifi also seems to work.
Ethernet is working too.
Signed-off-by: Christian Cier-Zniewski <c.cier@gmx.de>
SVN-Revision: 29651
This add support for the Sitecom WL-351 v1 002.
In principle the Engenius ESR9850 should also work with this, but I
don't have the hardware to test it.
Since an external gigabit switch (RTL8366RB) is used,
I had to modify the ramips_esw driver to add a 'bypass' mode, which
just configures it to not filter the vlan tags.
Also two initialization words (FCT2 and FPA2) are set to different
values by u-boot than what the driver is using and it only seems to
work correctly when they not overridden by the driver, so I
added them to the platform specific data as reg_initval_fct2 and
reg_initval_fpa2.
With this wired lan works as expected, however I'm still having some
trouble with the wireless lan:
It only works after I rmmod & re-insmod rt2800pci and then
reconfigure it in the webinterface, but not directly after
rebooting.
The symptom of this is wpad saying:
Dec 20 15:45:09 OpenWrt daemon.info hostapd: wlan1: STA <notebookmac> IEEE 802.11: associated (aid 1)
Dec 20 15:45:09 OpenWrt daemon.info hostapd: wlan1: STA <notebookmac> WPA: pairwise key handshake completed (RSN)
Dec 20 15:45:22 OpenWrt daemon.info hostapd: wlan1: STA <notebookmac> IEEE 802.11: authenticated
But wpa_supplicant on the client saying:
Authentication with <wl351mac> timed out.
Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de>
SVN-Revision: 29604
Because the external switch has no driver yet, connect GMAC0
to the PHY4 of the internal switch for now. This allows to
use the DB120 board as a router with 4LAN+1WAN ports.
SVN-Revision: 29557
This patch adds support for the Omnima MiniEMBWiFi
Ralink RT3050F based board.
Based on a patch by Ivan Ignjatic <ivan at omnima.co.uk>
SVN-Revision: 29533
The WNDRMAC is a WNDR3700v2 (64MB RAM, 16MB flash) in a white case. The
WNDRMACv2 is a WNDR3800 (128MB RAM, 16MB flash) in a WNDRMAC case.
The WNDRMAC case doesn't have "holes" or labels for the 2.4GHz LED or
switch ports 2-4. The stock firmware uses a single LED (in the 5GHz
position) to indicate the status of both radios, and a single LED (in the
switch port 1 position) to indicate the status of all LAN ports. The
"missing" LEDs are present on the board, and easily shine through the
case. Unlike the stock firmware, OpenWrt will use these "hidden" LEDs.
I've tested the WNDRMACv2 image. I don't have a v1 WNDRMAC, but assume
that this is sufficient to build a fully-functional image.
Signed-off-by: Mark Mentovai <mark@moxienet.com>
SVN-Revision: 29513
Factory images for WNDR3700v2 and WNDR3800 should contain these model IDs
for the device: field in their DNI tags, not WNDR3700.
This regressed in r29434, which redid WNDR3x00 model detection. The sixth
parameter to Image/Build/Netgear is only used as the -B argument to
mkdniimg, which is used to set the device: field. In r29434, this was
erroneously changed to be WNDR3700 for all models. The tools to flash
factory images (U-Boot's TFTP server and the factory software's upgrade
utility) may refuse to honor images with incorrect device: fields in their
DNI tags.
Signed-off-by: Mark Mentovai <mark@moxienet.com>
SVN-Revision: 29473
Detect the model name for /tmp/sysinfo/model based on 10 bytes at offset
56 in the art (caldata) mtd partition.
r29434 redid WNDR3x00 model detection, attempting to distinguish between
WNDR3700v2 and WNDR3800 by checking MemTotal in /proc/meminfo. However, it
contained a bug: it put the awk inside a $(...), with the result that all
WNDR3700v2 and WNDR3800 models would be reported as WNDR3800. This patch
checks the model name stored in the art partition, as is done by U-Boot
shipping on the WNDR3800. It has the likely advantage of working with
future models based on the WNDR3700 board. It also will not mis-detect
units on which people install more memory.
I have tested this patch on WNDR3700 (v1), WNDR3700v2, and WNDR3800.
Signed-off-by: Mark Mentovai <mark@moxienet.com>
SVN-Revision: 29472
With the default OpenWrt configuration, this increases the size
of the rootfs_data partition by 384KB/128KB on the older/newer
TP-Link models.
SVN-Revision: 29447