[U-Boot-Users] [PATCH] m68k fix for Ethernet Buffers at address 0

Wilson Callan wcallan at savantav.com
Fri Jun 29 16:22:48 CEST 2007


Hi,

Attached is a patch that fixes a problem i saw with a coldfire 5235  
port.  i'll include the patch here in the email as well since it  
describes the problem:

diff -purN u-boot-1.1.6/lib_m68k/board.c u-boot-1.1.6-pktfix/lib_m68k/ 
board.c
--- u-boot-1.1.6/lib_m68k/board.c	2006-11-02 09:15:01.000000000 -0500
+++ u-boot-1.1.6-pktfix/lib_m68k/board.c	2007-06-28  
11:07:19.000000000 -0400
@@ -642,6 +642,22 @@ void board_init_r (gd_t *id, ulong dest_
#if (CONFIG_COMMANDS & CFG_CMD_NET) && defined(FEC_ENET)
	WATCHDOG_RESET();
+
+	/* init NetRxPackets here otherwise eth_init() will cause
+	 * buffer descriptors to use 0 as their buffer and overwrite lower  
memory.
+	 * NetLoop() does this properly later.
+	 * Cannot remove eth_init() call because linux driver assumes this
+	 * happened, for MAC Address to be loaded into microcontroller
+	 */
+	{
+		int i;
+		static uchar pkt[(PKTBUFSRX+1) * PKTSIZE_ALIGN + PKTALIGN];
+		uchar *tx = pkt + (PKTALIGN - 1);
+		tx -= (ulong) tx % PKTALIGN;
+		for (i = 0; i < PKTBUFSRX; i++) {
+			NetRxPackets[i] = tx + (i+1)*PKTSIZE_ALIGN;
+		}
+	}
	eth_init(bd);
#endif

-------------- next part --------------
A non-text attachment was scrubbed...
Name: pktfix.patch
Type: application/octet-stream
Size: 953 bytes
Desc: not available
Url : http://lists.denx.de/pipermail/u-boot/attachments/20070629/f5cbe197/attachment.obj 


More information about the U-Boot mailing list