Linaro GCC 4.6-2013.05 incorrectly pads the arpt_arp structure on
at least the ar71xx target, resulting in a two bytes shorter struct
in the kernel compared to what arptables userspace expects.
When comparing sizeof(struct arpt_arp) in kernel and userspace, the
former yields 162 byte, while the latter is 164 byte.
As a consequence, the subsequent target_offset and next_offset
members of the parent arpt_entry structure contain invalid values
when processed by the arptables binary, leading to bad memory
accesses in the populate_cache() procedure, subsequently causing a
segfault.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 38999
This patch is needed to use the switch inside the Sitecom WLR-8100;
it was unusable and detected as Generic-Phy before.
since ar8337 is behaving like ar8327
generally do the same thing
see: https://forum.openwrt.org/viewtopic.php?pid=214218#p214218
forward-ported to trunk
Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>
Patchwork: http://patchwork.openwrt.org/patch/4469/
[juhosg: merge chip_is_ar83[23]7 statements in ar8xxx_phy_config_init]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38952
get_cycles() is used in some places as one part of the seed for the
kernel PRNG.
This backports the following commit from mainline linux kernel:
9c9b415c50bc298ac61412dff856eae2f54889ee
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 38834
The BCM5365 needs a shift of 7 bits and not 6 bits like the BCM5325 for
the untagged ports.
Thank you Russell for reporting this and testing the patch.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 38793
This adds some more code for bgmac core rev 4 and it now restarts all
cores when initializing the first one on BCM4708. I am just able to
send under 100 packages and then DMA TX does not work any more.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 38714
This pci ID is used by sprom less BCM4313 devices.
This is a backport from the mainline kernel.
This is part of #13551.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 38713
This patch makes it possible to use adm6996.c on first generation
BCM47XX devices with ADM switches.
The GPIO bit banging protocol implementation was copied from the old
switch driver and adapted to this driver and changed to the mainline
kernel GPIO interface.
The ADM6996L is different from the ADM6996M which is supported, for
both specs are available in the Internet.
This was tested on a WRT54GS version 1.0, thank you Dirk Neukirchen for
the device.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 38698
The current code only allows to automatically set
root device on MTD partitions. Move the code to MTD
core to allow to use it with all MTD devices.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38643
Upstream commit c655bc6896b94ee0223393f26155c6daf1e2d148 changed number of
arguments in nf_ct_iterate_cleanup() function.
Signed-off-by: Luka Perkov <luka@openwrt.org>
SVN-Revision: 38547
Upstream commit 9ddebc46 ("MIPS: OCTEON: Rename Kconfig
CAVIUM_OCTEON_REFERENCE_BOARD to CAVIUM_OCTEON_SOC") renamed a Kconfig
symbol, thus making all MIPS builds ask for this specific Kconfig
symbol, add it.
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 38535
Based on 'kernel: update x86 generic to 3.10.13' patch
from http://patchwork.openwrt.org/patch/4129/
Signed-off-by: Ulrich Weber <uw@xyne.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38498
Commit r37470 did not add a default conig for the ARM_ERRATA symbols for kernel 3.3.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 38352
The bgmac driver will be used on the brcm47xx and the bcm53xx target.
These are only the patches already applied in current net-next/master
branch.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 38288
Add a new kernel config option for generic firmware partition
split support and change the uImage split support to depend on
the new option. Aslo rename the MTD_UIMAGE_SPLIT_NAME option to
MTD_SPLIT_FIRMWARE_NAME to make it more generic.
The patch is in preparation for multiple firmware format
support.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38002
Separate OpenWrt specific MTD options from the mainline
option by moving those into a new submenu in the kernel
configuration interface.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 37997
The revision is stored in a different register than it is in other
Broadcom switches.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 37995
These switches are integrated in some recent BCM53XX and BCM47XX SoCs
like the BCM53572.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 37994
The Linksys wrt310n v1 does not have a robo_reset config variable in
nvram, but GPIO Pin 8 is the pin needed for resetting the external
switch, Linksys hard coded it into their source code.
Thank you Devastator for testing.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 37988
- change patch numbers to group the related stuff together,
- add mtd prefix where it is missing,
- use hyphens in the patch names
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 37974
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>
SVN-Revision: 37948
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>
SVN-Revision: 37931
BCM5365 (and probably other older variants) use a different phy id, so
the phy driver never attached for them.
Fix this by adding the appropriate phy id to the fixup and the phy
driver.
Reported-by: Russell Senior <russell@personaltelco.net>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 37906
b53_no_ops has no elements and b53_port_ops has one element, this makes
the code access some random memory when trying to access the mib
counter functions.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 37895
The myloader partition parser code uses ifdef wrappers
to make the code usable on kernels below version 3.2.
All targets are using kernel 3.3 at least so the wraper
is not needed. Remove that.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 37880
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>
SVN-Revision: 37848
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>
SVN-Revision: 37846
Fixes the following build error on ramips/rt3883:
arch/mips/pci/pci-rt3883.c:488:3: error: implicit declaration of function \
'of_pci_get_devfn' [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
Although the function is only used by the PCI driver
of the RT3883 SoC but at the moment but it might be
useful for other targets as well.
Signed-off-by: Michael Lee <igvtee@gmail.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 37826
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>
SVN-Revision: 37820
The patch in question has been accepted upstream in commit:
55bf75b7dd8ec875d048824f3cdecf8254e292e5
Signed-off-by: Luka Perkov <luka@openwrt.org>
SVN-Revision: 37807
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>
SVN-Revision: 37709
brcm47xx does not use CONFIG_B53_SPI_DRIVER, but it could be selected if spi is build as a module
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 37656
OCF_CRYPTOSOFT uses both symbols form crypto_hash and crypto_blkcipher,
so let it select these through kernel config.
Fixes the following build error:
ERROR: "crypto_alloc_ahash" [crypto/ocf/cryptosoft.ko] undefined!
ERROR: "crypto_ahash_digest" [crypto/ocf/cryptosoft.ko] undefined!
ERROR: "crypto_ahash_setkey" [crypto/ocf/cryptosoft.ko] undefined!
make[6]: *** [__modpost] Error 1
make[5]: *** [modules] Error 2
Reported-by: Russell Senior <russell@personaltelco.net>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 37652
This is needed for some switches used on bcm47xx SoCs like the one on the Asus RT-N66U.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 37645
Get rid of some ifdefs, and make sure that the microMIPS
specific code is disabled as well.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 37506
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>
SVN-Revision: 37490
This allows the compiler to remove the emulate_load_store_microMIPS
function if cpu_has_mmips is defined as zero.
Backport of commit 74338805ec6869594d583535f941cb478c94dd73
from 3.11-rc1.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 37478
It hasn't been buildable for a long time, and there are no users of it
anymore left as all of them have been switched to the upstream accepted
version.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 37436
This makes it possible to use swconfig to controll the switch.
This was tested with devices using b43 and bgmac.
This was not tested on devices using tg3.
This does not support the adm switch used in some very old devices.
SVN-Revision: 37304
many boards have a disconnected TTL level serial which can generate
some garbage that can lead to spurious false sysrq detects.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 37210
This patch adds swlib attributes to the RTL8366RB switch/PHY found in the
TL-WR1043ND router that allow to mirror ethernet packets to a monitor port.
Signed-off-by: Colin Leitner <colin.leitner@googlemail.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 36847
This patch is a device tree enhancement that IMHO is worthy of mainline.
It allows the bootloader's commandline to be preserved even when the
device tree specifies one.
Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
SVN-Revision: 36780
Tested on Buffalo WZR-600DHP with ar8316 switch. Commands used to mirror both
RX and TX traffic from LAN port 1 to LAN port 4:
$ swconfig dev switch0 set enable_mirror_rx 1
$ swconfig dev switch0 set enable_mirror_tx 1
$ swconfig dev switch0 set mirror_monitor_port 4
$ swconfig dev switch0 set mirror_source_port 1
Signed-off-by: Colin Leitner <colin.leitner@googlemail.com>
Tested-by: Luka Perkov <luka@openwrt.org>
SVN-Revision: 36713
zsmalloc was changed to a bool because of missing exports in the kernel,
but we already export the required symbol, so change it back to tristate.
Closes#13481.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 36587
drivers/net/phy/rtl8366_smi.c: In function 'rtl8366_sw_set_vlan_ports':
drivers/net/phy/rtl8366_smi.c:1125:6: warning: 'pvid' may be used uninitialized in this function [-Wuninitialized]
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 36442
Fixes the following warning:
CC [M] net/ipv6/addrconf.o
net/ipv6/addrconf.c: In function 'addrconf_init':
net/ipv6/addrconf.c:4944:2: warning: assignment from incompatible pointer type [enabled by default]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 36364
Add support for PMC PM25LQ032 (4MB) SPI Flash used in Hame MPR-A1 and clones.
Signed-off-by: Michel Stempin <michel.stempin@wanadoo.fr>
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 36296
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>
SVN-Revision: 36295
* disable external interface if its property is not present
* show an error message if the extif property is not valid
* use proper error values intead of -1
* fix memory leak
* wrap long lines
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 36229
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.
SVN-Revision: 36101
The AR8327 switch gets its configuration from platform
data or from the device-tree. This allows to start it
from the probe routine. Doing so makes it usable with
ethernet drivers which only connects to the PHY device
when the ethernet interface is opened.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 36050
Move switch starting code into a separate function.
This makes it usable from other places.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 36049
Move platform_data specific configuration code
into a separate routine. Do it in preparation
for the upcoming OF support.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 36046
Fetch the PORT_STATUS values in ar8327_hw_init and
store those in a private data stucture for later use.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 36045
Return with the PORT_STATUS register value instead of
writing that directly into the corresponding register.
Also rename the function to ar8327_get_port_init_status.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 36043
The presence of the platform data is already verified in
ar8327_hw_init, and the driver does not start without that
anyway.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 36042
Setting this bit stops BCM53125 (bgmac actually) from receiving any
packets. This bit is cleared conditionally in b53_switch_reset and it
seems the same is done in bcmrobo.c which never sets that bit again.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 35723
This contains the following new bigger changes:
* new partition parser which still could lake some features or have bugs
* new nand flash driver
* using physmap-flash flash driver for parallel flash
* some changes to the serial flash driver
With these changes OpenWrt starts using more of the mainline flash drivers.
SVN-Revision: 35632
r35336 exposed PTP, which has additional drivers on ixp4xx, causing it to
not build with PTP enabled.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 35611
Currently the switch gets registered when an ethernet
driver connects to a PHY of the switch. This method does
not work with the ethernet drivers which are connecting
to the PHY from their ndo_open callback. With those
ethernet drivers, the driver tries to register the switch
each time when the etherned device is opened and this causes
a deadlock.
Move the switch registration into the probe routine to fix
this problem.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35602
The switches are accessed via an MDIO bus. Set the alias
to the name of the MDIO bus, and show that in the message
along with the name of the switch switch device.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35560
The private data of the switch is already
allocated in ar8216_priv, assign that to
each PHY on the same MDIO bus. Also remove
the redundant code from ar8216_config_init.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35559