Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 May 2004 05:45:13 -0700 (PDT)
From:      Fabien THOMAS <fabien.thomas@netasq.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   kern/66634: hard lock with em driver
Message-ID:  <200405141245.i4ECjDKK053182@www.freebsd.org>
Resent-Message-ID: <200405141250.i4ECoTsE092241@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help


>Number:         66634
>Category:       kern
>Synopsis:       hard lock with em driver
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri May 14 05:50:29 PDT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Fabien THOMAS
>Release:        4.9
>Organization:
NETASQ
>Environment:
FreeBSD build-current 4.9-RELEASE-p2 FreeBSD 4.9-RELEASE-p2 #0: Mon Mar  1 10:22:36 CET 2004     root@build-current:/usr/src/sys/compile/GENERIC  i386
>Description:
We use a lot of intel gigabit card and since the first
time we use it we experience some strange hard lock of the system
(4.9|FreeBSD-stable). We have tried several driver version (it is not
related to a version). We use the card in polling mode but it seems that
the problem can be fired even in interrupt mode.

What i found during the debugging on a fiber card:

1) original driver did not lock but when the other end is rebooted i've
around 10 linkup/linkdown

2) removing linkup/linkdown printf: driver lock each time the other end
system is rebooted!

3) removing the E1000_IMC_RXSEQ in disable_intr correct the lock but i
do not understand why:
     a) E1000_IMC_RXSEQ need to be left when disabling intr?
     b) the system completly lock (even under debugger) for just an
interrupt source enabled?

static void
em_disable_intr(struct adapter *adapter)
{
     E1000_WRITE_REG(&adapter->hw, IMC,
             (0xffffffff));/* & ~E1000_IMC_RXSEQ));*/
     return;
}


>How-To-Repeat:
use an intel dual port fiber card based on 546 chip for example
remove driver printf for linkup/linkdown
reboot the other end
>Fix:
      
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200405141245.i4ECjDKK053182>