From nike_d@phobos.totalterror.net  Tue Jun 28 10:13:42 2005
Return-Path: <nike_d@phobos.totalterror.net>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id CE70516A41C
	for <FreeBSD-gnats-submit@freebsd.org>; Tue, 28 Jun 2005 10:13:42 +0000 (GMT)
	(envelope-from nike_d@phobos.totalterror.net)
Received: from phobos.totalterror.net (213-240-205-251.1697748.ddns.cablebg.net [213.240.205.251])
	by mx1.FreeBSD.org (Postfix) with ESMTP id E067543D58
	for <FreeBSD-gnats-submit@freebsd.org>; Tue, 28 Jun 2005 10:13:41 +0000 (GMT)
	(envelope-from nike_d@phobos.totalterror.net)
Received: from phobos.totalterror.net (localhost [127.0.0.1])
	by phobos.totalterror.net (8.13.4/8.13.4) with ESMTP id j5SAE4xE000908
	for <FreeBSD-gnats-submit@freebsd.org>; Tue, 28 Jun 2005 13:14:04 +0300 (EEST)
	(envelope-from nike_d@phobos.totalterror.net)
Received: (from nike_d@localhost)
	by phobos.totalterror.net (8.13.4/8.13.1/Submit) id j5SAE3VV000907;
	Tue, 28 Jun 2005 13:14:03 +0300 (EEST)
	(envelope-from nike_d)
Message-Id: <200506281014.j5SAE3VV000907@phobos.totalterror.net>
Date: Tue, 28 Jun 2005 13:14:03 +0300 (EEST)
From: Niki Denev <nike_d@cytexbg.com>
Reply-To: Niki Denev <nike_d@cytexbg.com>
To: FreeBSD-gnats-submit@freebsd.org
Cc: caiquanqing@gmail.com
Subject: kernel module if_fwip fails to load, machine panics if compiled in kernel	
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         82727
>Category:       kern
>Synopsis:       [modules] kernel module if_fwip fails to load, machine panics if compiled in kernel
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-firewire
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jun 28 10:20:11 GMT 2005
>Closed-Date:    Wed Nov 02 00:51:13 GMT 2005
>Last-Modified:  Wed Nov 02 00:51:13 GMT 2005
>Originator:     Niki Denev
>Release:        FreeBSD 6.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD phobos.totalterror.net 6.0-CURRENT FreeBSD 6.0-CURRENT #1: Tue Jun 28 11:03:44 EEST 2005 root@phobos.totalterror.net:/usr/src/sys/i386/compile/PHOBOS i386

Kernel config available at http://totalterror.net/freebsd/

>Description:

Kernel module if_fwip (Ip over FireWire) fails to load (even on GENERIC kernel),
and panics the machine if compiled in.

>How-To-Repeat:

When used as module (same situation with GENERIC kernel) :

root@phobos# kldstat
Id Refs Address    Size     Name
 1    4 0xc0400000 4f3e34   kernel

root@phobos# kldload if_fwip
interface firewire.1 already present in the KLD 'kernel'!
kldload: can't load if_fwip: File exists

root@phobos# cat /usr/src/sys/i386/conf/PHOBOS |grep fwip
#device         fwip            # Ethernet over FireWire (RFC Standard)

When compiled in kernel :

---/snip/---
fwohci0: <Ricoh R5C552> mem 0x0202000-0xc02027ff irq 11 at device 0.2 on pci2
fwohci0: Reserved 0x800 byes for rid 0x10 type 3 at 0xc0202000
fwohci0: [MPSAFE]
fwohci0: OHCI version 1.0 (ROM=0)
fwohci0: No. of Isochronous channels is 4.
fwohci0: EUI64 00:06:1b:02:01:21:bf:58
fwohci0: Phy 1394a available S400, 2 ports.
fwohci0: Link S400, max_rec 2048 bytes.
firewire0: <IEEE1394(FireWire) bus> on fwohci0
fwip0: <IP over FireWire> on firewire0

Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x4
fault code            = supervisor read, page not present
instruction pointer   = 0x20:0xc04ef1ee
stack pointer         = 0x28:0xc0c209c8
frame pointer         = 0x28:0xc0c209d8
code segment          = base 0x0, limit 0xfffff, type 0x1b
                      = DPL 0, pres 1, def32 1, gran 1
processor eflags      = interrupt enabled, resume, IOPL = 0
current process       = 0 (swapper)
[thread pid 0 tid 0]
Stopped at   fwip_attach+0xa2:    movl  0x4(%eax),%edx
db> trace
bus_generic_probe(c1aa3980,c1ad83cc,3e8,c04e5798,c1ad4000) at bus_generic_probe+0x46
firewire_attach(c1aa3980,c1aa3980,c1ad4000,c1ac8180,c0c20aa8) at firewire_attach+0xad
device_attach(c1aa3980,c1aa3980,c1ad4000) at device_attach+0x1be
fwohci_pci_add_child(c1ac8180,0,c0792a14,ffffffff) at fwohci_pci_add_child+0x38
firewire_identify(c07cee84,c1ac8180,c1ad4000,c1ac8180,c0c20aec) at firewire_identify+0x3e
bus_generic_probe(c1ac8180,0,c1ac8180,c1ac8180,c1ac8180) at bus_generic_probe+0x46
fwohci_pci_attach(c1ac8180,c1ac8180,c1aa2300,c1aa2300,c0c20b24) at fwohci_pci_attach+0x103
device_attach(c1ac8180) at device_attach+0x1be
bus_generic_attach(c1aa2300,6,c1a573c0,1,c04b1c84) at bus_generic_attach+0x12
acpi_pci_attach(c1aa2300,c1aa2300,0,c1a8bb0,c0c20b80) at acpi_pci_attach+0xd0
device_attach(c1aa2300) at device_attach+0x1be
bus_generic_attach(c1a8bb00,c1a8bb00,c1a8d000,c1a573c0,c1aaa100) at bus_generic_attach+0x12
acpi_pcib_attach(c1a8bb00,c1aaa130,2,c1a573c0,c1a8bb00) at acpi_pcib_attach+0x130
acpi_pcib_pci_attach(c1a8bb00,c1a8bb00,c1a8d000,c1a8d000,c0c20bf0) at acpi_pcib_pci_attach+0x7c
device_attach(c1a8bb00) at device_attach+0x1be
bus_generic_attach(c1a8d000,6,c1a28b20,1,c04b1c84) at bus_generic_attach+0x12
acpi_pci_attach(c1a8d000,c1a8d000,0,c19d1680,c0c20c4c) at acpi_pci_attach+0xd0
device_attach(c1a8d000) at device_attach+0x1be
bus_generic_attach(c19d1680,c19d1680,0,c1a28b20,c1a826e0) at bus_generic_attach+0x12
acpi_pcib_attach(c19d1680,c1a826f4,0,c07ddcc0,c19d1680) at acpi_pcib_attach+0x130
acpi_pcib_acpi_attach(c19d1680,c19d1680,c1a8e300,c1985700,c0c20cc8) at acpi_pcib_acpi_attach+0xcf
device_attach(c19d1680) at device_attach+0x1be
bus_generic_attach(c1985700,167f,1600,c1a761a8,4) at bus_generic_attach+0x12
acpi_attach(c1985700,c1985700,c1985d80,c1988a40,c0c20d28) at acpi_attach+0x631
device_attach(c1985700) at device_attach+0x1be
bus_generic_attach(c1985d80,c1985d80,c1985dcc,c0c20d54,c05b89a2) at bus_generic_attach+0x12
nexus_attach(c1985d80,c1985d80,c197b9b8,0,c0c20d64) at nexus_attach+0x13
device_attach(c1985d80,c07f6cb9,c0c20d6c,c07386a9,c0c20d88) at device_attach+0x1be
root_bus_configure(c0c20d88,c05770x37,0,c197bae4,c1ec00) at root_bus_configure+0x16
configure(0,c197bae4,c1ec00,c1e000,c25000) at configure+0x9
mi_startup() at mi_startup+0xb3
begin() at begin+0x2c
db> 
---/end/---

The machine is IBM ThinkPad X31

P.S.: panic and trace msgs taken by hand. possible typos.

>Fix:

unknown


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->freebsd-firewire 
Responsible-Changed-By: arved 
Responsible-Changed-When: Wed Jun 29 12:23:24 GMT 2005 
Responsible-Changed-Why:  
Over to firewire Mailinglist 

http://www.freebsd.org/cgi/query-pr.cgi?pr=82727 
State-Changed-From-To: open->closed 
State-Changed-By: avatar 
State-Changed-When: Wed Nov 2 00:46:15 GMT 2005 
State-Changed-Why:  
Slightly modified patch from Cai(http://lists.freebsd.org/pipermail/freebsd-current/2005-October/056420.html) 
has been committed to HEAD, RELENG_6 and RELENG_6_0.  Thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=82727 
>Unformatted:
