diff options
author | Hauke Mehrtens <hauke@openwrt.org> | 2015-10-11 19:08:08 +0000 |
---|---|---|
committer | Hauke Mehrtens <hauke@openwrt.org> | 2015-10-11 19:08:08 +0000 |
commit | ebc8ef9e87b724526a60e1670834fff4d3bc4698 (patch) | |
tree | 190d5518cb8fca114ade113bd2689f1b54852d08 /target/linux/generic/patches-4.3/072-14-bgmac-reset-all-4-GMAC-cores-on-init.patch | |
parent | 0ab09e313739ebe5a2d9c3c35354422149760383 (diff) | |
download | master-187ad058-ebc8ef9e87b724526a60e1670834fff4d3bc4698.tar.gz master-187ad058-ebc8ef9e87b724526a60e1670834fff4d3bc4698.tar.bz2 master-187ad058-ebc8ef9e87b724526a60e1670834fff4d3bc4698.zip |
kernel: generic: add kernel 4.3
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@47182 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic/patches-4.3/072-14-bgmac-reset-all-4-GMAC-cores-on-init.patch')
-rw-r--r-- | target/linux/generic/patches-4.3/072-14-bgmac-reset-all-4-GMAC-cores-on-init.patch | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/target/linux/generic/patches-4.3/072-14-bgmac-reset-all-4-GMAC-cores-on-init.patch b/target/linux/generic/patches-4.3/072-14-bgmac-reset-all-4-GMAC-cores-on-init.patch new file mode 100644 index 0000000000..4d6981e229 --- /dev/null +++ b/target/linux/generic/patches-4.3/072-14-bgmac-reset-all-4-GMAC-cores-on-init.patch @@ -0,0 +1,28 @@ +From: Felix Fietkau <nbd@openwrt.org> +Date: Mon, 13 Apr 2015 15:56:26 +0200 +Subject: [PATCH] bgmac: reset all 4 GMAC cores on init + +On a BCM4709 based device, I found that GMAC cores may be enabled at +probe time, but only become usable after a full reset. +Disable cores before re-enabling them to ensure that they are properly +reset. + +Signed-off-by: Felix Fietkau <nbd@openwrt.org> +--- + +--- a/drivers/net/ethernet/broadcom/bgmac.c ++++ b/drivers/net/ethernet/broadcom/bgmac.c +@@ -1641,8 +1641,11 @@ static int bgmac_probe(struct bcma_devic + ns_core = bcma_find_core_unit(core->bus, + BCMA_CORE_MAC_GBIT, + ns_gmac); +- if (ns_core && !bcma_core_is_enabled(ns_core)) +- bcma_core_enable(ns_core, 0); ++ if (!ns_core) ++ continue; ++ ++ bcma_core_disable(ns_core, 0); ++ bcma_core_enable(ns_core, 0); + } + } + |