Geoff Levand wrote:
On Fri, 14 Apr 2006 08:38:00 -0700, Geoff Levand
I seem to get a lot of problems with an nfs root fs
on tx4937 board. I haven't looked at it closely yet,
but I guess its some problem with the ne2000 driver.
I wanted to know if you know anything about this.
Please look at:
With a quick glance of ne.c, it seems ei_status.stop_page should be
changed to 0x60 on the board. Please confirm its value.
Yes, this seems to fix the problem.
--- 126.96.36.199.orig/drivers/net/ne.c 2006-04-14 15:54:41.000000000 -0700
+++ 188.8.131.52/drivers/net/ne.c 2006-04-14 16:27:51.000000000 -0700
@@ -140,7 +140,8 @@
#define NE1SM_START_PG 0x20 /* First page of TX buffer */
#define NE1SM_STOP_PG 0x40 /* Last page +1 of RX ring */
#define NESM_START_PG 0x40 /* First page of TX buffer */
-#define NESM_STOP_PG 0x80 /* Last page +1 of RX ring */
+#define NESM_8_STOP_PG 0x60 /* Last page +1 of RX ring, RTL8019 8 bit mode
+#define NESM_STOP_PG 0x80 /* Last page +1 of RX ring */
# define DCR_VAL 0x4b
@@ -516,6 +517,7 @@
ei_status.tx_start_page = start_page;
ei_status.stop_page = stop_page;
#if defined(CONFIG_TOSHIBA_RBTX4927) || defined(CONFIG_TOSHIBA_RBTX4938)
+ ei_status.stop_page = NESM_8_STOP_PG;
wordlength = 1;
This is really strange place for that #ifdef -- 'wordlength' is determined
much earlier in this function (and stop_page is set to 0x40 for 8-bit case),
shouldn't #ifdef be moved instead?