kernel lock debugging unveiled that we should not call
of_reset_control_get inside a clock's enable operation (see below)
move of_reset_control_* previously used in pllb_clk_enable to new
pllb_clk_prepare and pllb_clk_unprepare functions.
use a container to carry runtime information.
------------[ cut here ]------------
WARNING: CPU: 0 PID: 1 at kernel/locking/lockdep.c:2742 lockdep_trace_alloc+0xb8/0xfc()
DEBUG_LOCKS_WARN_ON(irqs_disabled_flags(flags))
Modules linked in:
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.14.26 #6
[<c001a6ac>] (unwind_backtrace) from [<c0016dec>] (show_stack+0x10/0x14)
[<c0016dec>] (show_stack) from [<c0194f68>] (dump_stack+0x7c/0x94)
[<c0194f68>] (dump_stack) from [<c0021b50>] (warn_slowpath_common+0x68/0x8c)
[<c0021b50>] (warn_slowpath_common) from [<c0021ba4>] (warn_slowpath_fmt+0x30/0x40)
[<c0021ba4>] (warn_slowpath_fmt) from [<c0061b30>] (lockdep_trace_alloc+0xb8/0xfc)
[<c0061b30>] (lockdep_trace_alloc) from [<c00cb740>] (kmem_cache_alloc+0x1c/0xf8)
[<c00cb740>] (kmem_cache_alloc) from [<c01d33c8>] (of_reset_control_get+0xe8/0x12c)
[<c01d33c8>] (of_reset_control_get) from [<c0269228>] (pllb_clk_enable+0x14/0xbc)
[<c0269228>] (pllb_clk_enable) from [<c0265738>] (__clk_enable+0x54/0xa0)
[<c0265738>] (__clk_enable) from [<c0265acc>] (clk_enable+0x18/0x2c)
[<c0265acc>] (clk_enable) from [<c04325f8>] (oxnas_pcie_probe+0x3b8/0x6a0)
[<c04325f8>] (oxnas_pcie_probe) from [<c01f2510>] (platform_drv_probe+0x18/0x48)
[<c01f2510>] (platform_drv_probe) from [<c01f1070>] (driver_probe_device+0xd8/0x24c)
[<c01f1070>] (driver_probe_device) from [<c01f1298>] (__driver_attach+0x70/0x94)
[<c01f1298>] (__driver_attach) from [<c01ef728>] (bus_for_each_dev+0x4c/0x98)
[<c01ef728>] (bus_for_each_dev) from [<c01f0818>] (bus_add_driver+0xcc/0x1e8)
[<c01f0818>] (bus_add_driver) from [<c01f169c>] (driver_register+0xa0/0xe8)
[<c01f169c>] (driver_register) from [<c01f2568>] (platform_driver_probe+0x20/0xa4)
[<c01f2568>] (platform_driver_probe) from [<c0013a3c>] (do_one_initcall+0x90/0x140)
[<c0013a3c>] (do_one_initcall) from [<c0421d38>] (kernel_init_freeable+0x1e4/0x2c0)
[<c0421d38>] (kernel_init_freeable) from [<c000c214>] (kernel_init+0x8/0x104)
[<c000c214>] (kernel_init) from [<c0008768>] (ret_from_fork+0x14/0x2c)
---[ end trace 5f17ed2f61e0683f ]---
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43787 3c298f89-4303-0410-b956-a3cf2f4a3e73
accidentally #if was used instead of #ifdef, thus gcc warned
about CONFIG_ATA_LEDS being undefined...
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43786 3c298f89-4303-0410-b956-a3cf2f4a3e73
This is a 3.14.x backport of:
"mvneta: Fix TSO and checksum for non-acceleration vlan traffic"
Upstream commits:
817dbfa5d1bc276a72c1a577310382008e8aca0a
2d39d120781a5770573dc6ed672a5a562f541aea
Fixes vlan tagging on SoC interfaces for the WRT1900AC. Useful
when using mvsw6171 driver.
Signed-off-by: Mark Milburn <mark.a.milburn@gmail.com>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43781 3c298f89-4303-0410-b956-a3cf2f4a3e73
final images, so store them in KDIR instead.
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43778 3c298f89-4303-0410-b956-a3cf2f4a3e73
safed one level of indention by using 'continue' instead of a
lengthy if-clause.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
v2: use logic-AND instead of '?' operator when checking for hw bug 6320
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43768 3c298f89-4303-0410-b956-a3cf2f4a3e73
- replaced // comments by /* comments */
- added line-breaks where needed
- fixed white-space according to kernel style
- fixed some obvious spelling mistakes in comments and printks
- removed some unneeded left-overs imported from vendor code-base
- replaced printk(...) by libata macros where possible
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43767 3c298f89-4303-0410-b956-a3cf2f4a3e73
locking for 2nd port and hwraid was added from vendor's GPL code which
doesn't comply with current kernel coding style.
- moved all global variables into host_priv
- renamed locks
- sanetized acquire() and release() parameter list
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43766 3c298f89-4303-0410-b956-a3cf2f4a3e73
and no longer compile-in ext4 filesystem now that sata_oxnas is
also built as a module.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43765 3c298f89-4303-0410-b956-a3cf2f4a3e73
The '6171 and '6172 are similar enough to work
without any changes to the code.
Signed-off-by: Claudio Leite <leitec@staticky.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43753 3c298f89-4303-0410-b956-a3cf2f4a3e73
Set defaults health led to a timer heartbeet (200/800)
and populate network for:
- GuruplugServerPlus
- SheevaPlug
- SheevaPlug with eSATA
Signed-off-by: Gerald Kerma <dreagle@doukki.net>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43752 3c298f89-4303-0410-b956-a3cf2f4a3e73
This maps the LAN ports to eth0 and WAN port to eth1.
Since there are two interfaces the 802.1q VLAN mode
is unnecessary and left disabled. Port-based VLANs
are used instead.
Signed-off-by: Claudio Leite <leitec@staticky.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43750 3c298f89-4303-0410-b956-a3cf2f4a3e73
There are some problems in the napi usage that are fixed now.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43749 3c298f89-4303-0410-b956-a3cf2f4a3e73
When there is no device connected to the controller we should not start
the controller. This also changes between PCIe 1.0 and PCIe 2.0 speed
based on the device. This code is based on code from the new Broadcom
PCIe controller driver.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43748 3c298f89-4303-0410-b956-a3cf2f4a3e73
This patch adds soc support for QCA9561 and TP9343.
TP9343 is a reduced version of QCA9561, which can be found in TP-LINK routers in China.
The qca956x_wmac has not yet been supported by ath9k.
tested on TL-WDR6500 and TL-WR882N v1 (Chinese version)
Signed-off-by: Weijie Gao <hackpascal@gmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43744 3c298f89-4303-0410-b956-a3cf2f4a3e73
Remove read/write/rmw member functions from ar8xxx_priv
There seems to be no real benefit of the ar8xxx_priv member functions
read/write/rmw as one implementation exists for each of them only.
Especially ar8xxx_mii_rmw is assigned to priv->rmw first and then
mapped to ar8xxx_rmw.
Rename the ar8xxx_mii_.. functions to ar8xxx_.. and use them directly.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43742 3c298f89-4303-0410-b956-a3cf2f4a3e73
Create helpers mii_read32 / mii_write32 for 32 bit MII ops.
Rename r3 variable to page in ar8xxx_mii_write to make it consistent
with the other ar8xxx_mii_xxxx functions.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43741 3c298f89-4303-0410-b956-a3cf2f4a3e73
Factor out chip-specific parameters from ar8xxx_probe_switch.
Move the ar8xxx_chip definitions after the swops definitions.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43740 3c298f89-4303-0410-b956-a3cf2f4a3e73
This new argument is used right after starting regular preinit (which
happens if failsafe wasn't triggered). The main purpose of "preinit"
argument is to indicate that failsafe can be triggered, however we were
missing a way to inform user that we don't wait for a trigger anymore.
With this change it's clear when failsafe mode can be triggered.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43715 3c298f89-4303-0410-b956-a3cf2f4a3e73
This will allow us to drop it in the future. This patch doesn't change
the final mtdpart.c, it remains the same.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43696 3c298f89-4303-0410-b956-a3cf2f4a3e73