Commit Graph

969 Commits (617076c6130d5eb1be1741f7f1265e89fe3187ab)

Author SHA1 Message Date
Gabor Juhos 617076c613 generic: ar8216: add ar8xxx_probe_switch helper
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35547
2013-02-10 19:02:01 +00:00
Gabor Juhos 98b13e39ac generic: ar8216: rename ar8xxx_mib_cleanup to ar8xxx_mib_stop
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35546
2013-02-10 18:42:08 +00:00
Gabor Juhos f97170a720 generic: ar8216: free mib counters from ar8xxx_free
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35545
2013-02-10 18:42:07 +00:00
Gabor Juhos 7924e517af generic: ar8216: add ar8xxx_free helper
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35544
2013-02-10 18:42:05 +00:00
Gabor Juhos 77b3c551c4 generic: ar8216: add ar8xxx_create{,mii} helpers
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35543
2013-02-10 18:42:04 +00:00
Gabor Juhos 5f70b1db2a generic: ar8216: remove redundant phy address check
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35542
2013-02-10 18:38:12 +00:00
Gabor Juhos 14fd37258b generic: ar8216: only set phy_ptr if packet mangling is used
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35541
2013-02-10 18:38:10 +00:00
Gabor Juhos 393163b098 generic: ar8216: add defines for the AR8316 POSTRIP register
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35539
2013-02-10 13:18:48 +00:00
Gabor Juhos 5ed480598d generic: ar8216: don't probe the chip multiple times
It is only needed when the private data is allocated.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35538
2013-02-10 13:05:15 +00:00
Gabor Juhos 774da6c7a4 generic: ar8216: add sanity check to ar8216_probe
Verify that the mdio bus has PHY devices with
a supported PHY ID at address 0-4.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35537
2013-02-10 13:05:14 +00:00
Gabor Juhos 4720c75cf7 generic: ar8216: skip probe on unused PHY addresses
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35536
2013-02-10 13:05:12 +00:00
Jonas Gorski eedc3554fe generic: b53: fix reverted error check in probe
b53_switch_detect returns value returned by b53_read8, which is 0 for
success. So fail (and return error) only if b53_switch_detect returned
something else than 0. This fixes supported and advertising being zeros
for MDIO access.

Cc: Jonas Gorski <jogo@openwrt.org>
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 35534
2013-02-10 12:31:36 +00:00
Gabor Juhos de123c4409 generic: ar8216: move sleep out of the loop
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>

SVN-Revision: 35532
2013-02-09 13:26:04 +00:00
Gabor Juhos aa04441904 generic: ar8216: simplify phy features setup
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35518
2013-02-08 09:13:18 +00:00
Gabor Juhos 9c1f95a416 generic: ar8216: don't use mdio bus specific functions in ar8216_id_chip
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35517
2013-02-08 09:13:14 +00:00
Gabor Juhos 5393efc0c7 generic: ar8216: use inline function to convert swdev to ar8216
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35514
2013-02-07 15:18:36 +00:00
Gabor Juhos b87a1c757d generic: ar8216: add mii_bus field to struct ar8216_priv
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35513
2013-02-07 15:18:35 +00:00
Gabor Juhos c130a3feac generic: mvswitch: add detach callback
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>

SVN-Revision: 35512
2013-02-07 15:18:34 +00:00
Gabor Juhos 4be8c22e74 generic: ar8216: add detach callback
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>

SVN-Revision: 35511
2013-02-07 15:18:32 +00:00
Gabor Juhos fe61fc2d7d generic: add detach callback to struct phy_driver
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35510
2013-02-07 15:18:24 +00:00
Gabor Juhos 395d0bdc1f generic: ar8216: clear driver specific data pointer in phy_device
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>

SVN-Revision: 35497
2013-02-05 08:39:26 +00:00
Gabor Juhos 2e7f38c243 generic: ar8216: unregister switch on error path
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35496
2013-02-05 08:39:24 +00:00
Jonas Gorski 0e9365b346 kernel: generic: update the ehci overcurrent patch to upstream submission
Adds support for setting this in the generic platform driver's platform_data.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 35480
2013-02-04 10:19:37 +00:00
Jonas Gorski e0fe5596f8 kernel: generic: add back the patch exporting bcm63xx tag header
It went missing when adding linux 3.7 support.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 35479
2013-02-04 10:19:35 +00:00
Jonas Gorski 34ad8f4e75 kernel: generic: update to 3.8-rc6
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 35478
2013-02-04 10:19:28 +00:00
Gabor Juhos 08ff976720 kernel: update linux 3.7 to 3.7.6
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35476
2013-02-04 10:02:56 +00:00
Gabor Juhos 4c223d7d4f generic: convert crypto-ocf from kernel_thread to kthread
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>

SVN-Revision: 35456
2013-02-02 15:31:44 +00:00
Gabor Juhos bbfd8cbf94 linux/3.7: add missing config symbols
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35450
2013-02-02 10:05:08 +00:00
Gabor Juhos 668e529220 generic: fix gc_sections patch
Due to the patch, essential '.data..*' sections are merged
into the '.data' section:

  --- vmlinux.good.sect   2013-02-01 23:49:16.000000000 +0100
  +++ vmlinux.bad.sect    2013-02-01 23:49:02.000000000 +0100
  @@ -1,5 +1,5 @@

  -vmlinux.good:     file format elf32-powerpc
  +vmlinux.bad:     file format elf32-powerpc

   Sections:
   Idx Name          Size      VMA       LMA       File off  Algn
  @@ -53,43 +53,35 @@
                     CONTENTS, ALLOC, LOAD, READONLY, DATA
    24 .machine.desc 00000460  c04e1000  004e1000  004f1000  2**2
                     CONTENTS, ALLOC, LOAD, DATA
  - 25 .data         0000f6a0  c04e2000  004e2000  004f2000  2**12
  + 25 .data         0001635c  c04e2000  004e2000  004f2000  2**12
                     CONTENTS, ALLOC, LOAD, DATA
  - 26 .data..init_task 00002000  c04f2000  004f2000  00502000  2**3
  -                  CONTENTS, ALLOC, LOAD, DATA
  - 27 .data..page_aligned 00002000  c04f4000  004f4000  00504000  2**12
  -                  CONTENTS, ALLOC, LOAD, DATA
  - 28 .data..cacheline_aligned 00000c00  c04f6000  004f6000  00506000
    2**5
  -                  CONTENTS, ALLOC, LOAD, DATA
  - 29 .data..read_mostly 000015e0  c04f6c00  004f6c00  00506c00  2**3
  -                  CONTENTS, ALLOC, LOAD, DATA
  - 30 .sbss         000002e0  c04f9000  004f9000  005081e0  2**3
  + 26 .sbss         000002e0  c04fa000  004fa000  0050835c  2**3
  <...>

This causes boot hang on powerpc. Modify the patch to
ensure that the kernel specific '.data..*' sections
remain separate.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35447
2013-02-02 09:30:47 +00:00
Gabor Juhos a2529eab2b linux/3.6: add missing config symbols
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35441
2013-02-01 17:30:18 +00:00
Gabor Juhos fb936218a1 linux/3.6: refresh patches
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35440
2013-02-01 17:30:15 +00:00
Gabor Juhos d158dfc607 linux/3.3: disable crashlog on PPC
It causes NULL pointer dereference:

[    0.638235] __ioremap(): phys addr 0x7f00000 is RAM lr c025d61c
[    0.644090] Unable to handle kernel paging request for data at address 0x00000000
[    0.651533] Faulting instruction address: 0xc025d620
[    0.656483] Oops: Kernel access of bad area, sig: 11 [#1]
[    0.661856] P1010 RDB
[    0.664113] Modules linked in:
[    0.667152] NIP: c025d620 LR: c025d61c CTR: c000dc38
[    0.672101] REGS: c7831ef0 TRAP: 0300   Not tainted  (3.3.8)
[    0.677740] MSR: 00029000 <CE,EE,ME>  CR: 42022082  XER: 20000000
[    0.683817] DEAR: 00000000, ESR: 00000000
[    0.687811] TASK = c782c000[1] 'swapper' THREAD: c7830000
[    0.693017] GPR00: a1ee0000 c7831fa0 c782c000 00000000 0000214c ffffffff c7831ea6 0001ffff
[    0.701350] GPR08: c03697cc c035fba0 c03697cc c0360000 42022022 00000000 00000000 00000000
[    0.709682] GPR16: c0000a00 00000014 3fffffff 00ffa000 00000015 07fc42bc c0360000 00000000
[    0.718015] GPR24: 00000000 00000000 00001680 c0360000 00000000 c025d5e8 c0390000 c038b824
[    0.726535] NIP [c025d620] crashlog_init_fs+0x38/0xd8
[    0.731560] LR [c025d61c] crashlog_init_fs+0x34/0xd8
[    0.736503] Call Trace:
[    0.738939] [c7831fa0] [c025d61c] crashlog_init_fs+0x34/0xd8 (unreliable)
[    0.745712] [c7831fb0] [c0001e98] do_one_initcall+0xd4/0x198
[    0.751357] [c7831fe0] [c02537f4] kernel_init+0x9c/0x120
[    0.756647] [c7831ff0] [c000c2dc] kernel_thread+0x4c/0x68
[    0.762022] Instruction dump:
[    0.764975] 3860fff4 bfc10008 3fc0c039 90010014 3bfeb824 801f0004 2f800000 41be00a0
[    0.772699] 7c030378 38804000 4bdb38cd 3c00a1ee <81630000> 6000dead 7c691b78 907eb824

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35435
2013-02-01 17:28:44 +00:00
Gabor Juhos 5a2aa8f184 generic: fix default compression selection in ubifs
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35398
2013-01-29 21:32:22 +00:00
Gabor Juhos 562ba537fc kernel: update linux 3.7 to 3.7.5
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35390
2013-01-29 18:29:45 +00:00
John Crispin c6744513a3 fix mtd_mp25p80_add_gd25q32_gd25q64.patch
SVN-Revision: 35378
2013-01-29 11:06:57 +00:00
Florian Fainelli 714b2cfef3 Fix GigaDevice GD25Q32/GD25Q64 SPI Flash bad commit
Fix GigaDevice GD25Q32/GD25Q64 SPI Flash bad commit.

The patch was added to "linux/generic/patches-3.6" instead of
"target/linux/generic/patches-3.6".
I also fixed a missing patch space and refreshed generic patches.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 35367
2013-01-29 09:46:11 +00:00
Gabor Juhos e252a1492c generic: fix build failure in MIPS kexec code if SMP is enabled
Fix it for older kernels as well.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35366
2013-01-29 09:44:58 +00:00
Gabor Juhos 1b3c6ad1fb generic: fix build failure in MIPS kexec code if SMP is enabled
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35364
2013-01-29 09:40:23 +00:00
John Crispin 0de0955931 refresh patches
SVN-Revision: 35355
2013-01-28 17:44:20 +00:00
Felix Fietkau 1dc9c8ef69 kernel: disable CONFIG_CRYPTO_MANAGER2, it is not needed
SVN-Revision: 35342
2013-01-27 23:23:39 +00:00
Hauke Mehrtens a9175c90cf kernel: b53: the b53 spi driver depends on spi
SVN-Revision: 35340
2013-01-27 21:39:53 +00:00
Hauke Mehrtens 62554217fc kernel: add packages for pps and ptp, they are needed by tg3 in kernel 3.8
SVN-Revision: 35336
2013-01-27 21:18:52 +00:00
Felix Fietkau 8193bbe59a netfilter: add support for flushing conntrack via /proc
SVN-Revision: 35330
2013-01-27 19:02:38 +00:00
Felix Fietkau 156a6e7999 kernel: clean up crypto kconfig options on 3.8
SVN-Revision: 35329
2013-01-27 17:49:09 +00:00
Hauke Mehrtens 721bf97863 kernel: remove __devinit, __devexit and __devexit_p for kernel 3.8
These attributes where removed with kernel 3.8 and are now causing compile errors.

SVN-Revision: 35328
2013-01-27 17:48:48 +00:00
Felix Fietkau ed7ca5d44e kernel: clean up crypto related kconfig options
SVN-Revision: 35327
2013-01-27 17:23:12 +00:00
Felix Fietkau 044c316167 kernel: prevent cryptomgr from pulling in useless extra dependencies for tests that are not run
Reduces kernel size after LZMA by about 5k on MIPS

SVN-Revision: 35325
2013-01-27 16:21:08 +00:00
Felix Fietkau 8933b918cd kernel: use -ffunction-sections, -fdata-sections and --gc-sections on mips
in combination with kernel symbol export stripping this significantly reduces
the kernel image size

SVN-Revision: 35320
2013-01-26 16:26:13 +00:00
Florian Fainelli 680f460861 kernel: refresh 3.8 patches
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 35317
2013-01-24 17:04:52 +00:00
Hauke Mehrtens 4a69e20a10 kernel: add missing config options for 3.8
SVN-Revision: 35315
2013-01-24 14:48:15 +00:00