Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Jul 2006 10:14:53 +0900 (JST)
From:      Yoshikazu GOTO <goto@snowy.to>
To:        imp@bsdimp.com
Cc:        wpaul@freebsd.org, freebsd-current@freebsd.org
Subject:   Re: if_re does not work
Message-ID:  <20060712.101453.74755604.goto@snowy.to>
In-Reply-To: <20060711.154453.-1632629843.imp@bsdimp.com>
References:  <20060711203213.3C7C816A4E1@hub.freebsd.org> <20060711.144929.74705658.imp@bsdimp.com> <20060711.154453.-1632629843.imp@bsdimp.com>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
Hi Warner,

In Message-ID: <20060711.154453.-1632629843.imp@bsdimp.com>
"M. Warner Losh" <imp@bsdimp.com> wrote :

> In message: <20060711.144929.74705658.imp@bsdimp.com>
>             Warner Losh <imp@bsdimp.com> writes:
> : > > > In theory the bus_alloc_resource(.., SYS_RES_IRQ, ...) should route an 
> : > > > interrupt for the re0 device but it won't show up in the probe line in that 
> : > > > case since the probe line is printed before re_attach() is called.  In fact,
> : > > > in the failing case, it wasn't bus_alloc_resource() that failed, but
> : > > > bus_setup_intr().  This is most likely not an re0 issue however.
> : > > > 
> : > > > goto-san, can you add printf's to i386/i386/intr_machdep.c:intr_add_handler()
> : > > > and kern/kern_intr.c:intr_event_add_handler() to see which of the EINVAL
> : > > > cases is being triggered?
> : > > 
> : > > I added printf() to 2 functions (one in intr_add_handler() and two
> : > > in intr_event_add_handler()) and re-build my kernel and reboot my
> : > > ThinkPad X40. But I could not get any printf's messages.
> : > > 
> : > > And I have a question. Why INTR_FAST was added in re_attach()?
> : > > When I deleted it and re-build if_re modules, my card was attached.
> : > 
> : > INTR_FAST added because the driver was converted to use 'fast' interrupts.
> : > 
> : > I really hope nobody's going to tell me that INTR_FAST isn't supported with
> : > cardbus.
> : 
> : INTR_FAST isn't supported with cardbus at the moment.
> : 
> : However, that decision dates from a time when you couldn't share fast
> : and non-fast interrupts.  Cardbus necessarily shared its function
> : interrupt with its card status change interrupt (since there's only
> : one interrupt pin on the cardbus bridge).  I'll investigate what it
> : takes to make this happen given the current new-world order.  I have
> : at least one re cardbus card, I think, so I can do testing.
> 
> You can try the following patch.  It just papers over the problem...

Thank you for your reply and patch.

I tried it, but I caught error messages as follows:

---- start ----
<< boot sequence (dhclient on em0) >>
re0: link state changed to DOWN
panic: mutex re0 not owned at /usr/src/sys/kern/kern_mutex.c:405
cpuid = 0
KDB: enter: panic
[thread pid 414 tid 100054 ]
Stopped at      kdb_enter+0x2b: nop
db>
---- end ----

Goto.


-=-=-=-
// Yoshikazu GOTO
// E-mail: goto@snowy.to
-=-=-=-
\e



Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?20060712.101453.74755604.goto>