public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] net: davinci_emac: don't teardown inactive rx channel
@ 2015-06-07 15:30 Jeroen Hofstee
  2015-06-08  9:05 ` Jeroen Hofstee
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Jeroen Hofstee @ 2015-06-07 15:30 UTC (permalink / raw)
  To: u-boot

Tearing down an unitialized rx channel causes a pending address hole
event to be queued. When booting linux it will report this pending
as something like "Address Hole seen by USB_OTG  at address 57fff584",
since u-boot did not handled this interrupt. Prevent that by not
tearing down the rx channel, when not receiving.

Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
---
To replicate this:
 - ROMcode must not use the emac
 - U-Boot must use the emac
 - only on cold start
---
 drivers/net/davinci_emac.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/davinci_emac.c b/drivers/net/davinci_emac.c
index 427ad3e..0444795 100644
--- a/drivers/net/davinci_emac.c
+++ b/drivers/net/davinci_emac.c
@@ -598,7 +598,8 @@ static void davinci_eth_close(struct eth_device *dev)
 	debug_emac("+ emac_close\n");
 
 	davinci_eth_ch_teardown(EMAC_CH_TX);	/* TX Channel teardown */
-	davinci_eth_ch_teardown(EMAC_CH_RX);	/* RX Channel teardown */
+	if (readl(&adap_emac->RXCONTROL) & 1)
+		davinci_eth_ch_teardown(EMAC_CH_RX); /* RX Channel teardown */
 
 	/* Reset EMAC module and disable interrupts in wrapper */
 	writel(1, &adap_emac->SOFTRESET);
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-08-12 19:26 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-07 15:30 [U-Boot] [PATCH] net: davinci_emac: don't teardown inactive rx channel Jeroen Hofstee
2015-06-08  9:05 ` Jeroen Hofstee
2015-06-10 14:24 ` Joe Hershberger
2015-06-11  5:51   ` Tony Lindgren
2015-06-11 14:28     ` Joe Hershberger
2015-08-12 19:26 ` Joe Hershberger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox