[Armadillo:01911] Re: 「Armadillo 500」で「eth0」が落ちます。

Yasushi SHOJI email@hidden
2007年 8月 22日 (水) 10:17:48 JST


At Tue, 21 Aug 2007 16:47:44 +0900,
ODAWARA Atsushi wrote:
> 
> イクシスリサーチの小田原です。
> 
> > At Mon, 20 Aug 2007 21:29:55 +0900,
> > Mohan wrote:
> > > 
> > > 「Armadillo 500」を使っています。
> > > 
> > > 使っている「Root File System」は付属の「Debian 4.0」です。
> > > 同様の条件でapt-getがちゃんと出来ている方はいらっしゃいますか?
> > 
> > 使用するCFによって、ネットワークドライバの不具合が発生するようです。
> > 調査しますので、申しわけございませんが、少々お待ち頂けますでしょうか?
> > 
> > また、ご使用のCFの型番を教えていただけると助かります。
> 
> Mohanさんと全く同じことを試そうとしていたところでした。
> 現状で問題なく動作しているCFの型番等ありましたら教えていただけますか?

CFのリストを作成するまえにパッチを作成してみました。
お手元のCFでテストしていただけると助かります。
-- 
            yashi

---
 drivers/net/smc911x.c |   10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

Index: linux-2.6.x/drivers/net/smc911x.c
===================================================================
--- linux-2.6.x.orig/drivers/net/smc911x.c	2007-08-21 20:57:53.000000000 +0900
+++ linux-2.6.x/drivers/net/smc911x.c	2007-08-21 20:58:57.000000000 +0900
@@ -376,7 +376,7 @@
 
 	/* now, enable interrupts */
 	mask = INT_EN_TDFA_EN_ | INT_EN_TSFL_EN_ | INT_EN_RSFL_EN_ |
-		INT_EN_GPT_INT_EN_ | INT_EN_RXDFH_INT_EN_ | INT_EN_RXE_EN_ |
+		INT_EN_GPT_INT_EN_ | INT_EN_RXSTOP_INT_EN_ | INT_EN_RXDFH_INT_EN_ | INT_EN_RXE_EN_ |
 		INT_EN_PHY_INT_EN_;
 	if (IS_REV_A(lp->revision))
 		mask|=INT_EN_RDFL_EN_;
@@ -1158,6 +1158,14 @@
 			SMC_ACK_INT(INT_STS_RXDFH_INT_);
 			lp->stats.rx_dropped+=SMC_GET_RX_DROP();
 		 }
+		if (status & INT_STS_RXSTOP_INT_) {
+			SMC_ACK_INT(INT_STS_RXSTOP_INT_);
+			SMC_SET_RX_CFG(SMC_GET_RX_CFG() | RX_CFG_RX_DUMP_);
+			smc911x_shutdown(dev);
+			udelay(10);
+			smc911x_enable(dev);
+			break;
+		}
 		/* Undocumented interrupt-what is the right thing to do here? */
 		if (status & INT_STS_RXDF_INT_) {
 			SMC_ACK_INT(INT_STS_RXDF_INT_);



armadillo メーリングリストの案内