Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Sep 2005 12:26:42 -0700 (PDT)
From:      Mark Diekhans <markd@kermodei.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   kern/86307: lock order reversal in if_iwi driver
Message-ID:  <20050918192642.8B1E95C71@kermodei.com>
Resent-Message-ID: <200509181930.j8IJU5Aj098671@freefall.freebsd.org>

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

>Number:         86307
>Category:       kern
>Synopsis:       lock order reversal in if_iwi 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:   Sun Sep 18 19:30:04 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Mark Diekhans
>Release:        FreeBSD 6.0-BETA4 i386
>Organization:
>Environment:
System: FreeBSD kestrel.kermodei.com 6.0-BETA4 FreeBSD 6.0-BETA4 #6: Wed Sep 14 19:35:49 PDT 2005     root@kestrel.kermodei.com:/usr/src/sys/i386/compile/X1  i386


>Description:
	lock order reversal in iwi driver occurs frequenly while using
        kldload-ed if_iwi driver.  Sometimes performance will degrade
        or driver will become non-function; although it's not clear if
        this is related. 

initialization message:
    iwi0: <Intel(R) PRO/Wireless 2200BG> mem 0xdfcff000-0xdfcfffff irq 9 at device 3.0 on pci2
    iwi0: Ethernet address: 00:12:f0:62:ea:ab
    iwi0: link state changed to UP

error:
    lock order reversal
    1st 0xc062ec60 ifnet (ifnet) @ net/if.c:1159
    2nd 0xc25d1b68 iwi0 (network driver) @ /usr/src/sys/modules/iwi/../../dev/iwi/if_iwi.c:1503
    KDB: stack backtrace:
    witness_checkorder(c25d1b68,9,c2643e1f,5df) at witness_checkorder+0x350
    _mtx_lock_flags(c25d1b68,0,c2643e1f,5df,c25d1004) at _mtx_lock_flags+0x40
    iwi_watchdog(c2564400) at iwi_watchdog+0x2a
    if_slowtimo(0,c04eeb04,1b5b,1,0) at if_slowtimo+0x7f
    softclock(0,0,c2339624,0,c047bcec) at softclock+0x15a
    ithread_loop(c22e2400,e5353d38,c22e2400,c047bcec,0) at ithread_loop+0x194
    fork_exit(c047bcec,c22e2400,e5353d38) at fork_exit+0x7d
    fork_trampoline() at fork_trampoline+0x8
    --- trap 0x1, eip = 0, esp = 0xe5353d6c, ebp = 0 ---


>How-To-Repeat:
	happens frequently, but exact sequence to reproduce is unclear.
>Fix:

	


>Release-Note:
>Audit-Trail:
>Unformatted:



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