aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/files
Commit message (Collapse)AuthorAgeFilesLines
...
* generic: ar8216: move sleep out of the loopGabor Juhos2013-02-091-1/+2
| | | | | | | | | | It is enough to sleep once after ANEG is enabled on all PHYs. This reduces boot time on boards with AR8316 switch. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35532 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: ar8216: simplify phy features setupGabor Juhos2013-02-081-11/+6
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35518 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: ar8216: don't use mdio bus specific functions in ar8216_id_chipGabor Juhos2013-02-081-8/+9
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35517 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: ar8216: use inline function to convert swdev to ar8216Gabor Juhos2013-02-071-15/+19
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35514 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: ar8216: add mii_bus field to struct ar8216_privGabor Juhos2013-02-071-11/+12
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35513 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: mvswitch: add detach callbackGabor Juhos2013-02-071-1/+12
| | | | | | | | | | | Use the detach callback to disable packet mangling to avoid possible NULL pointer dereference. Compile tested only. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35512 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: ar8216: add detach callbackGabor Juhos2013-02-071-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current code uses the 'remove' callback to disable packet mangle on the underlying ethernet device. However the attached_dev is always NULL when the 'remove' callback is called by phylib, and this causes NULL pointer dereference, like this: [ 475.300000] CPU 0 Unable to handle kernel paging request at virtual address 000000f0, epc == 801cdcf0, ra == 801c7eac [ 475.310000] Oops[#1]: [ 475.310000] Cpu 0 [ 475.310000] $ 0 : 00000000 00000000 00000000 00000001 [ 475.310000] $ 4 : 828dde00 00000005 828dde08 ffffffff [ 475.310000] $ 8 : 00380081 00380081 82902a40 00000001 [ 475.310000] $12 : 00000037 00370081 00000001 00000000 [ 475.310000] $16 : 82865000 828dde08 828dde00 00000001 [ 475.310000] $20 : 00000080 00460000 00000002 77151448 [ 475.310000] $24 : 00000000 801abfd4 [ 475.310000] $28 : 82cc2000 82cc3d58 0053c3c4 801c7eac [ 475.310000] Hi : 00000007 [ 475.310000] Lo : 00000004 [ 475.310000] epc : 801cdcf0 ar8216_remove+0x1c/0x94 [ 475.310000] Tainted: G O [ 475.310000] ra : 801c7eac phy_remove+0x4c/0x6c [ 475.310000] Status: 1000cc03 KERNEL EXL IE [ 475.310000] Cause : 00800008 [ 475.310000] BadVA : 000000f0 [ 475.310000] PrId : 00019750 (MIPS 74Kc) [ 475.310000] Modules linked in: ath79_wdt ledtrig_usbdev ledtrig_netdev ag71xx(-) nf_nat_irc nf_nat_ftp nf_conntrack_irc nf_conntrack_ft p ipt_MASQUERADE iptable_nat xt_nat nf_nat_ipv4 nf_nat pppoext_conntrack xt_CT iptable_raw xt_state nf_conntrack_ipv4 nf_defrag_ipv4 nf_co nntrack ehci_hcd pppox ipt_REJECT xt_TCPMSS xt_LOG xt_comment xt_multiport xt_mac xt_limit iptable_mangle iptable_filter ip_tables xt_tcpu dp x_tables ppp_async ppp_generic slhc ath9k(O) ath9k_common(O) ath9k_hw(O) ath(O) mac80211(O) usbcore usb_common nls_base crc_ccitt cfg80 211(O) compat(O) arc4 crypto_blkcipher aead ledtrig_timer ledtrig_default_on leds_gpio gpio_button_hotplug(O) [ 475.310000] Process rmmod (pid: 1160, threadinfo=82cc2000, task=83969920, tls=7747c440) [ 475.310000] Stack : 828dde08 802f5004 802f4680 00000001 828ddf70 801c7eac 802f4680 801ad6d8 82902940 00000000 828dde08 802f5004 802f4680 801ad770 00000002 80269d94 00000000 00000001 00000080 828dde08 828dde3c 801ad7fc 82902940 00000000 83859100 00000000 8384dd2c 8384dd2c 828dde08 801ad230 82902800 00000000 00000000 001a0041 828dde08 828dde08 802e80e8 801aac44 00000080 00460000 ... [ 475.310000] Call Trace: [ 475.310000] [<801cdcf0>] ar8216_remove+0x1c/0x94 [ 475.310000] [<801c7eac>] phy_remove+0x4c/0x6c [ 475.310000] [<801ad770>] __device_release_driver+0x6c/0xd0 [ 475.310000] [<801ad7fc>] device_release_driver+0x28/0x40 [ 475.310000] [<801ad230>] bus_remove_device+0xd8/0x10c [ 475.310000] [<801aac44>] device_del+0x110/0x170 [ 475.310000] [<801aacb8>] device_unregister+0x14/0x28 [ 475.310000] [<801c92b0>] mdiobus_unregister+0x4c/0x70 [ 475.310000] [<82913060>] ag71xx_remove_ar8216_header+0xdc/0x5a8 [ag71xx] [ 475.310000] [ 475.310000] Code: 1200001c 8c82017c ac800128 <8c4500f0> 3c03ffdf 3463ffff 00a31824 ac4300f0 ac4000e0 Add a detach callback and disable packet mangling in that to fix the problem. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35511 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: ar8216: clear driver specific data pointer in phy_deviceGabor Juhos2013-02-051-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is needed to avoid a NULL pointer dereference: [ 19.525270] Unable to handle kernel paging request for data at address 0x00000018 [ 19.532750] Faulting instruction address: 0xc016e104 [ 19.537714] Oops: Kernel access of bad area, sig: 11 [#1] [ 19.543102] P1010 RDB [ 19.545365] Modules linked in: booke_wdt nf_nat_irc nf_nat_ftp nf_conntrack_irc nf_conntrack_ftp ipt_MASQUERADE iptable_nat xt_nat d [ 19.590725] NIP: c016e104 LR: c0171490 CTR: 00000000 [ 19.595681] REGS: c4bc3c10 TRAP: 0300 Tainted: G W O (3.7.6) [ 19.602284] MSR: 00029000 <CE,EE,ME> CR: 82002022 XER: 20000000 [ 19.608381] DEAR: 00000018, ESR: 00000000 [ 19.612382] TASK = c4cd9c80[2070] 'ifconfig' THREAD: c4bc2000 GPR00: 00000001 c4bc3cc0 c4cd9c80 00000000 c7811000 00000000 00000000 0000e8ec GPR08: 0000e8eb 00000000 00029000 00000001 00000000 100801f8 1005c51c 1005c514 GPR16: 1005c468 1005c54c 1005c258 1005c530 10060000 00000000 c7811000 ffff8914 GPR24: c7815030 c793e400 10063adb 00000000 c7811000 c045594c c78ca600 c7815000 [ 19.646352] NIP [c016e104] register_switch+0x98/0x2d0 [ 19.651397] LR [c0171490] ar8216_config_init+0x2d8/0x3f4 [ 19.656697] Call Trace: [ 19.659138] [c4bc3cc0] [c0170490] ar8216_mii_read+0x64/0xc4 (unreliable) [ 19.665835] [c4bc3d00] [c0171490] ar8216_config_init+0x2d8/0x3f4 [ 19.671835] [c4bc3d20] [c016cf8c] phy_init_hw+0x50/0x6c [ 19.677053] [c4bc3d30] [c016d078] phy_attach_direct+0xd0/0xf8 [ 19.682793] [c4bc3d50] [c016d154] phy_connect_direct+0x24/0x68 [ 19.688621] [c4bc3d70] [c0183b70] of_phy_connect+0x48/0x6c [ 19.694102] [c4bc3d90] [c0175aac] gfar_enet_open+0x254/0x3d8 [ 19.699755] [c4bc3db0] [c019acc4] __dev_open+0xc0/0x120 [ 19.704975] [c4bc3dd0] [c019af98] __dev_change_flags+0xd4/0x15c [ 19.710888] [c4bc3df0] [c019b0d4] dev_change_flags+0x1c/0x60 [ 19.716544] [c4bc3e10] [c01ebb94] devinet_ioctl+0x290/0x690 [ 19.722111] [c4bc3e70] [c01ec8d4] inet_ioctl+0x88/0xbc [ 19.727245] [c4bc3e80] [c0186b98] sock_ioctl+0x258/0x294 [ 19.732551] [c4bc3ea0] [c009c00c] do_vfs_ioctl+0x6a4/0x728 [ 19.738031] [c4bc3f10] [c009c0d4] sys_ioctl+0x44/0x70 [ 19.743077] [c4bc3f40] [c000c74c] ret_from_syscall+0x0/0x3c [ 19.748646] --- Exception: c01 at 0x48091b34 [ 19.748646] LR = 0x480e4b64 [ 19.756033] Instruction dump: [ 19.758991] 2f830000 907f0050 3860fff4 419e021c 837f0000 38000000 901f0038 901f0040 [ 19.766744] 901f003c 7f600034 5400d97e 0f000000 <801b0018> 2f800000 40be0010 801b001c Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35497 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: ar8216: unregister switch on error pathGabor Juhos2013-02-051-4/+6
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35496 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: convert crypto-ocf from kernel_thread to kthreadGabor Juhos2013-02-021-11/+8
| | | | | | | | | | | | | recent kernels have finally stopped exporting kernel_thread, since a deprecation circa 2006. This patch attempts to convert to the newer kernel kthread API, particularly in random.c [juhosg: remove randomproc variable, it is not required after the patch] Signed-off-by: Russell Senior <russell@personaltelco.net> Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35456 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: b53: the b53 spi driver depends on spiHauke Mehrtens2013-01-271-1/+1
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35340 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: remove __devinit, __devexit and __devexit_p for kernel 3.8Hauke Mehrtens2013-01-279-32/+32
| | | | | | | These attributes where removed with kernel 3.8 and are now causing compile errors. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35328 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: add b53 swconfig switch driverJonas Gorski2013-01-2310-0/+2979
| | | | | | | | | | | | | Add swconfig switch driver for Broadcom BCM53XX switch chips. Supports switches connected through MDIO, SPI or memory mapped registers, and supports BCM5325, BCM539x, BCM531x5 and the BCM63XX internal switch chips. Tested are BCM5325 trough MDIO, BCM53115 through SPI, and BCM6328. Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35305 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: rtl8366_smi: only assign pvid if no pvid was set yetJonas Gorski2013-01-181-1/+7
| | | | | | | | | | | | | | Only assign a pvid if the current pvid is 0. Fixes using mixed tagged and untagged traffic on a port and the untagged vlan isn't the last one of which the port is a member. Tested on RTL8366S and RTL8367R. Fixes #8501. Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35227 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: add support for 3.8-rc2Florian Fainelli2013-01-082-1/+10
| | | | | | Signed-off-by: Florian Fainelli <florian@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35055 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: ar8216: add sgmii_delay_en field to ar8327_platform_dataGabor Juhos2012-12-253-0/+5
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34881 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: ar8216: don't use 0 as default VID on AR8327Gabor Juhos2012-12-221-1/+3
| | | | | | | | VID0 is reserved for priority-tagged packets. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34862 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: ar8316: allow to configure port 6 via platform data on AR8327Gabor Juhos2012-12-222-17/+19
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34847 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: ar8216: rename cpuport_cfg to port0_cfg in ar8327_platform_dataGabor Juhos2012-12-222-2/+2
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34846 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [kernel] make to rtl8366_smi of binding use gpio_is_validJohn Crispin2012-12-211-1/+1
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34816 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: rtl836x: fix compiler warningsGabor Juhos2012-12-174-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CC drivers/net/phy/rtl8366rb.o In file included from drivers/net/phy/rtl8366s.c:16:0: include/linux/of_platform.h:106:13: warning: 'struct device' declared inside parameter list [enabled by default] include/linux/of_platform.h:106:13: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default] drivers/net/phy/rtl8366s.c: In function 'rtl8366s_probe': drivers/net/phy/rtl8366s.c:1094:2: warning: label 'err_out' defined but not used [-Wunused-label] drivers/net/phy/rtl8366s.c:1055:32: warning: unused variable 'pdata'[-Wunused-variable] CC drivers/net/phy/rtl8366rb.o In file included from drivers/net/phy/rtl8366rb.c:17:0: include/linux/of_platform.h:106:13: warning: 'struct device' declared inside parameter list [enabled by default] include/linux/of_platform.h:106:13: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default] drivers/net/phy/rtl8366rb.c: In function 'rtl8366rb_probe': drivers/net/phy/rtl8366rb.c:1214:2: warning: label 'err_out' defined but not used [-Wunused-label] drivers/net/phy/rtl8366rb.c:1175:32: warning: unused variable 'pdata'[-Wunused-variable] CC drivers/net/phy/rtl8367.o In file included from drivers/net/phy/rtl8367.c:15:0: include/linux/of_platform.h:106:13: warning: 'struct device' declared inside parameter list [enabled by default] include/linux/of_platform.h:106:13: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default] drivers/net/phy/rtl8367.c: In function 'rtl8367_probe': drivers/net/phy/rtl8367.c:1712:2: warning: label 'err_out' defined but not used [-Wunused-label] drivers/net/phy/rtl8367.c:1677:32: warning: unused variable 'pdata' [-Wunused-variable] CC drivers/net/phy/rtl8367b.o In file included from drivers/net/phy/rtl8367b.c:15:0: include/linux/of_platform.h:106:13: warning: 'struct device' declared inside parameter list [enabled by default] include/linux/of_platform.h:106:13: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default] drivers/net/phy/rtl8367b.c: In function 'rtl8367b_probe': drivers/net/phy/rtl8367b.c:1494:2: warning: label 'err_out' defined but not used [-Wunused-label] drivers/net/phy/rtl8367b.c:1459:32: warning: unused variable 'pdata' [-Wunused-variable] Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34731 3c298f89-4303-0410-b956-a3cf2f4a3e73
* linux: generic: rtl836*: fix compilation with !CONFIG_OFJonas Gorski2012-12-156-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixes the following errors caused by r34682: CC [M] drivers/net/phy/rtl8366_smi.o In file included from drivers/net/phy/rtl8366_smi.c:26:0: drivers/net/phy/rtl8366_smi.h:149:46: warning: 'struct platform_device' declared inside parameter list [enabled by default] drivers/net/phy/rtl8366_smi.h:149:46: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default] drivers/net/phy/rtl8366_smi.c:1398:65: warning: 'struct platform_device' declared inside parameter list [enabled by default] drivers/net/phy/rtl8366_smi.c: In function 'rtl8366_smi_probe_plat': drivers/net/phy/rtl8366_smi.c:1400:44: error: dereferencing pointer to incomplete type drivers/net/phy/rtl8366_smi.c:1402:11: error: dereferencing pointer to incomplete type drivers/net/phy/rtl8366_smi.c:1403:16: error: dereferencing pointer to incomplete type drivers/net/phy/rtl8366_smi.c: At top level: drivers/net/phy/rtl8366_smi.c:1415:46: warning: 'struct platform_device' declared inside parameter list [enabled by default] drivers/net/phy/rtl8366_smi.c:1415:21: error: conflicting types for 'rtl8366_smi_probe' drivers/net/phy/rtl8366_smi.h:149:21: note: previous declaration of 'rtl8366_smi_probe' was here drivers/net/phy/rtl8366_smi.c: In function 'rtl8366_smi_probe': drivers/net/phy/rtl8366_smi.c:1420:31: error: dereferencing pointer to incomplete type drivers/net/phy/rtl8366_smi.c:1424:10: error: dereferencing pointer to incomplete type drivers/net/phy/rtl8366_smi.c:1425:3: warning: passing argument 1 of 'rtl8366_smi_probe_of' from incompatible pointer type [enabled by default] drivers/net/phy/rtl8366_smi.c:1392:19: note: expected 'struct device_node *' but argument is of type 'struct platform_device *' drivers/net/phy/rtl8366_smi.c:1427:3: warning: passing argument 1 of 'rtl8366_smi_probe_plat' from incompatible pointer type [enabled by default] drivers/net/phy/rtl8366_smi.c:1398:5: note: expected 'struct platform_device *' but argument is of type 'struct platform_device *' drivers/net/phy/rtl8366_smi.c: At top level: drivers/net/phy/rtl8366_smi.c:1438:1: error: conflicting types for 'rtl8366_smi_probe' drivers/net/phy/rtl8366_smi.h:149:21: note: previous declaration of 'rtl8366_smi_probe' was here make[7]: *** [drivers/net/phy/rtl8366_smi.o] Error 1 make[6]: *** [drivers/net/phy] Error 2 make[5]: *** [drivers/net] Error 2 make[4]: *** [drivers] Error 2 Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34703 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [kernel] make rtl8366 driver OF capableJohn Crispin2012-12-156-66/+121
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34682 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: disintegrate UAPI from include/linux/switch.hGabor Juhos2012-12-142-81/+98
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34677 3c298f89-4303-0410-b956-a3cf2f4a3e73
* mac80211: ath9k: allow to load EEPROM data via firmware APIGabor Juhos2012-12-101-0/+2
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34606 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: ar8216: set delay values for SGMII mode on AR8327Gabor Juhos2012-11-231-0/+14
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34315 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: ar8216: introduce ar8216_mib_op helperGabor Juhos2012-11-221-26/+9
| | | | | | | | | | | | | The ar8216_mib_{capture,flush} functions are similar. Move the common code into a helper and use that from the original functions. This change also fixes a lockdep warning in ar8216_mib_flush. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34297 3c298f89-4303-0410-b956-a3cf2f4a3e73
* swconfig: make it compatible with 3.7Gabor Juhos2012-11-211-3/+3
| | | | | | | | | | | | | | | | | | | swconfig does not compile with 3.7 because struct netlink_notify->pid has been renamed to struct netlink_notify->portid and struct genl_info->snd_pid has been renamed to struct genl_info->snd_portid Use the new names and add compatibility patches to 3.3 and 3.6. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34288 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: ar8216: fix port number check in 'ar8xxx_mib_work_func'Gabor Juhos2012-11-201-1/+3
| | | | | | | | Also add a WARN_ON to 'ar8216_mib_fetch_port_stat' Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34283 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: ar8216: remove an unblanced mutex_unlock callGabor Juhos2012-11-201-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes the following warning: [ 94.080000] [ 94.080000] ===================================== [ 94.080000] [ BUG: bad unlock balance detected! ] [ 94.080000] 3.3.8 #2 Tainted: G O [ 94.080000] ------------------------------------- [ 94.080000] swconfig/1220 is trying to release lock (&priv->mib_lock) at: [ 94.080000] [<801df8f4>] ar8216_sw_get_port_mib+0x138/0x16c [ 94.080000] but there are no more locks to release! [ 94.080000] [ 94.080000] other info that might help us debug this: [ 94.080000] 2 locks held by swconfig/1220: [ 94.080000] #0: (genl_mutex){+.+...}, at: [<80222430>] genl_rcv+0x14/0x34 [ 94.080000] #1: (&dev->sw_mutex){+.+...}, at: [<801da018>] swconfig_get_dev+0x88/0xb4 [ 94.080000] [ 94.080000] stack backtrace: [ 94.080000] Call Trace: [ 94.080000] [<8028dc58>] dump_stack+0x8/0x34 [ 94.080000] [<800a5128>] print_unlock_inbalance_bug+0xe0/0xfc [ 94.080000] [<800a82c0>] lock_release+0x18c/0x1c8 [ 94.080000] [<80292074>] __mutex_unlock_slowpath+0xd8/0x17c [ 94.080000] [<801df8f4>] ar8216_sw_get_port_mib+0x138/0x16c [ 94.080000] [<801db688>] swconfig_get_attr+0xbc/0x394 [ 94.080000] [<8022261c>] genl_rcv_msg+0x1cc/0x214 [ 94.080000] [<80221a18>] netlink_rcv_skb+0x6c/0xe8 [ 94.080000] [<80222440>] genl_rcv+0x24/0x34 [ 94.080000] [<80221370>] netlink_unicast+0x15c/0x22c [ 94.080000] [<8022175c>] netlink_sendmsg+0x240/0x2d0 [ 94.080000] [<801ef544>] sock_sendmsg+0x84/0x9c [ 94.080000] [<801f0648>] __sys_sendmsg+0x1cc/0x270 [ 94.080000] [<801f207c>] sys_sendmsg+0x48/0x7c [ 94.080000] [<8006ad78>] stack_done+0x20/0x40 [ 94.080000] Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34282 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: ar8216: add missing locking callsGabor Juhos2012-11-201-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes the following lockdep warning: [ 19.160000] ------------[ cut here ]------------ [ 19.160000] WARNING: at drivers/net/phy/ar8216.c:322 ar8216_rmw+0x54/0xa4() [ 19.170000] Modules linked in: nf_defrag_ipv4 nf_conntrack ehci_hcd sd_mod pppox ipt_REJECT xt_TCPMSS ipt_LOG xt_comment xt_multip ort xt_mac xt_limit iptable_mangle iptable_filter ip_tables xt_tcpudp x_tables ppp_async ppp_generic slhc ath9k(O) ath9k_common(O) at h9k_hw(O) ath(O) mac80211(O) usbcore usb_common scsi_mod nls_base crc7 crc_itu_t crc_ccitt cfg80211(O) compat(O) arc4 aes_generic cry pto_blkcipher cryptomgr aead crypto_hash crypto_algapi ledtrig_timer ledtrig_default_on leds_gpio gpio_button_hotplug(O) [ 19.210000] Call Trace: [ 19.220000] [<8028dc38>] dump_stack+0x8/0x34 [ 19.220000] [<80072da0>] warn_slowpath_common+0x78/0xa4 [ 19.230000] [<80072de4>] warn_slowpath_null+0x18/0x24 [ 19.230000] [<801de820>] ar8216_rmw+0x54/0xa4 [ 19.240000] [<801df460>] ar8216_mib_capture+0x70/0xd0 [ 19.240000] [<801df944>] ar8xxx_mib_work_func+0x34/0x98 [ 19.250000] [<80089a7c>] process_one_work+0x28c/0x460 [ 19.250000] [<8008a630>] worker_thread+0x22c/0x334 [ 19.260000] [<8008e544>] kthread+0x88/0x90 [ 19.260000] [<80065020>] kernel_thread_helper+0x10/0x18 [ 19.270000] [ 19.270000] ---[ end trace 22e9d696adfa6a08 ]--- Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34281 3c298f89-4303-0410-b956-a3cf2f4a3e73
* mac80211/rt2x00: add rf_vals for Rt3352 with Xtal=20MHzGabor Juhos2012-11-201-0/+1
| | | | | | | | | [juhosg: move ramips specific stuff into a followup patch] Signed-off-by: Daniel Golle <dgolle@allnet.de> Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34269 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: ar8216: add MIB counter support for the AR8216 switch as wellGabor Juhos2012-11-182-1/+89
| | | | | | | | Thanks to Jonas Gorski for the reference URL. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34245 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: ar8216: rename AR8216_*_STATS_* definesGabor Juhos2012-11-182-82/+82
| | | | | | | | | | | The names are misleading, those are only valid from AR8236. The AR8216 chip uses different offsets. Thanks to Jonas Gorski for the report. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34244 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic ar8216: allow to read/reset MIB counters via swconfigGabor Juhos2012-11-182-7/+492
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34243 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: ar8216: use dynamically allocated private data in ar8216_probeGabor Juhos2012-11-181-3/+12
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34242 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: fold yaffs_git_2010_10_20 patch to generic/filesGabor Juhos2012-10-3051-8915/+11464
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34013 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: fold yaffs_cvs_2009_04_24 patch to generic/filesGabor Juhos2012-10-3033-2824/+3152
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34012 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: allow to disable [25]GHz support in ath9k via platform dataGabor Juhos2012-10-271-0/+3
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33954 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: use mtd_read in myloader parserGabor Juhos2012-10-271-2/+2
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33952 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: swconfig: use led_set_brightness in LED control codeGabor Juhos2012-10-261-2/+2
| | | | | | | | | | | The 'led_brightness_set' function has been renamed to 'led_set_brightness' in recent ernels. Use the new name and add a compatibility patch for 3.3. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33946 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [kernel] swconfig: get rid of the NLA_PUT_* macrosFlorian Fainelli2012-10-241-17/+33
| | | | | | | Upstream kernel 3.6 has removed this usage, use the plain functions directly as intended. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33906 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: add driver for the the RTL8367R{B,-VB} switchesGabor Juhos2012-10-182-0/+1547
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33839 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [kernel] gpiodev/gpioctl RIPJohn Crispin2012-10-112-223/+0
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33725 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic add WLAN calibration data ID to routerboot.hGabor Juhos2012-09-091-0/+1
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33346 3c298f89-4303-0410-b956-a3cf2f4a3e73
* adm5120: move common routerboot definitions into a separate header fileGabor Juhos2012-09-091-0/+104
| | | | | | Those will be used on the ar71xx platform as well. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33341 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [kernel] fixes gpio_dev un/reload balancingJohn Crispin2012-08-141-0/+2
| | | | | | Signed-off-by: SHI Bin <shibin@ctsing.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33183 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: rtl8366_smi: increase delay after switch hw resetGabor Juhos2012-08-101-3/+6
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33077 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: rtl836x: add hw_reset field to struct rtl8366_smiGabor Juhos2012-08-027-2/+35
| | | | | | | 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
* generic: rtl8366_smi: use __rtl8366_smi_cleanup instead of gpio_free callsGabor Juhos2012-08-021-2/+1
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32942 3c298f89-4303-0410-b956-a3cf2f4a3e73