NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port-sparc64/46260: gem0 driver fails to recover after RX overflow



The following reply was made to PR port-sparc64/46260; it has been noted by 
GNATS.

From: Havard Eidnes <he%NetBSD.org@localhost>
To: gnats-bugs%NetBSD.org@localhost, jdc%coris.org.uk@localhost
Cc: port-sparc64-maintainer%netbsd.org@localhost
Subject: Re: port-sparc64/46260: gem0 driver fails to recover after RX
 overflow
Date: Tue, 10 Apr 2012 15:30:48 +0200 (CEST)

 >  Revision 1.68 (which was pulled up to netbsd-4, but not netbsd-4-0) changed
 >  the:
 >  
 >    gem_init(ifp);
 >  
 >  to:
 >  
 >    gem_reset_rxdma(sc);
 >  
 >  when (rxstat & GEM_MAC_RX_OVERFLOW) occurred.  Can you try changing this
 >  back?
 
 Hm, did that, and ... apparently I can't do that from interrupt
 context, as it hit a diagnostic assertion (this is with netbsd-6
 sources this time, BTW):
 
 gem0: receive error: RX overflow
 panic: kernel diagnostic assertion "!cpu_intr_p()" failed: file 
"/usr/src/sys/kern/kern_timeout.c", line 471
 cpu0: Begin traceback...
 cpu0: End traceback...
 Frame pointer is at 0xe0016fd1
 Call traceback:
  netbsd:cpu_reboot+0x268(1cb4210, 5db1c00, ff0f0000000001, 0, 1, 75) fp = 
e0017091
  netbsd:vpanic+0x20c(104, 0, ffffffffff000000, 1, 146e0c0, 0) fp = e0017141
  netbsd:kern_assert+0x34(17928f0, e0017b38, e0017970, fefefefefefefeff, 
10cb9a0, ff000000000000) fp = e00171f1
  netbsd:callout_halt+0x194(17928f0, 1792928, 179b7f0, 17ce890, 1d7, 73) fp = 
e00172b1
  netbsd:gem_stop+0xc(6d5e440, 0, 1000000, 0, e0017d50, 0) fp = e0017361
  netbsd:gem_init+0x28(6d5e008, 0, e0017d50, 800, 1d, e) fp = e0017411
  netbsd:gem_intr+0x17c(6d5e008, 17adce0, 7fff0000, 24, 4000000000000000, 1d) 
fp = e00174c1
  netbsd:intr_biglock_wrapper+0x10(6d5e000, 0, 885671dc, 88567170, 0, 0) fp = 
e0017571
  netbsd:sparc_interrupt+0x224(5db7390, 0, e0017ed0, 1, 122ca40, 2014000) fp = 
e0017621
  netbsd:sched_nextlwp+0x124(1792800, 0, 0, 6, 0, 2014000) fp = 877c3401
 
 Then how should we go about doing this?
 
 Regards,
 
 - Havard
 


Home | Main Index | Thread Index | Old Index