treewide: fix replace nbd@openwrt.org with nbd@nbd.name
[openwrt.org/openwrt.git] / target / linux / generic / patches-4.1 / 072-14-bgmac-reset-all-4-GMAC-cores-on-init.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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
@@ -1623,8 +1623,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);
                }
        }
 
 
comments