From: sanket hase <shase@andrew.cmu.edu>
To: xen-devel@lists.xensource.com
Subject: Freebsd/Xen: pcifront: IRQ resource allocation failed
Date: Tue, 18 Mar 2008 04:41:17 -0400 [thread overview]
Message-ID: <47DF802D.7080004@andrew.cmu.edu> (raw)
Hi ,
I am testing pcifront on freebsd domU using following sound card
[ Cirrus Logic CS 4614/22/24 [CrystalClear SoundFusion Audio Accelerator]
Following sound driver is used for this sound card on Freebsd:
*snd_csa*-- Crystal Semiconductor CS461x/462x/4280 PCI bridge device driver
I am able to detect the card.
pci3: <PCI bus> on pcib3
csa0: <CS4280/CS4614/CS4622/CS4624/CS4630> mem
0xfafff000-0xfaffffff,0xfae00000-0xfaefffff irq 16 at device 5.0 on pci3
csa: card is Turtle Beach Santa Cruz
But going ahead IRQ resource allocations fails, before interrupt
handler can be setup.
I found that it fails in "rman_reserve_resource_bound"
Because: r = TAILQ_FIRST(&rm->rm_list) = is still NULL , as it was
initialized.
Here is the stacktrace:
(gdb) where
#0 rman_reserve_resource_bound (rm=0xc07b3de0, start=16, end=16,
count=1, bound=0, flags=4, dev=0xc0d8f700)
at ../../../kern/subr_rman.c:282
#1 0xc01747bc in rman_reserve_resource (rm=0xc07b3de0, start=16,
end=16, count=1, flags=4, dev=0xc0d8f700)
at ../../../kern/subr_rman.c:491
#2 0xc035cb75 in nexus_alloc_resource (bus=0xc0db3000,
child=0xc0d8f700, type=1, rid=0xc0d8f994, start=16, end=16, count=1,
flags=6)
at ../../../i386/i386/nexus.c:367
#3 0xc016adae in bus_generic_alloc_resource (dev=0xc0d8f800,
child=0xc0d8f700, type=1, rid=0xc0d8f994, start=16, end=16, count=1,
flags=6) at bus_if.h:263
#4 0xc016adae in bus_generic_alloc_resource (dev=0xc0d8f500,
child=0xc0d8f700, type=1, rid=0xc0d8f994, start=16, end=16, count=1,
flags=6) at bus_if.h:263
#5 0xc016af34 in resource_list_alloc (rl=0xc0e03604, bus=0xc0e04b00,
child=0xc0d8f700, type=1, rid=0xc0d8f994, start=16, end=16,
count=1, flags=6) at bus_if.h:263
#6 0xc00ab3d5 in pci_alloc_resource (dev=0xc0e04b00, child=0xc0d8f700,
type=1, rid=0xc0d8f994, start=0, end=4294967295, count=1, flags=6)
at ../../../dev/pci/pci.c:3488
#7 0xc016ad1c in bus_alloc_resource (dev=0xc0d8f700, type=1,
rid=0xc0d8f994, start=0, end=4294967295, count=1, flags=6) at bus_if.h:263
#8 0xc00b54e6 in csa_attach (dev=0xc0d8f700) at bus.h:376
#9 0xc0169ecf in device_attach (dev=0xc0d8f700) at device_if.h:178
#10 0xc016a9f0 in device_probe_and_attach (dev=0xc0d8f700) at
../../../kern/subr_bus.c:2369
#11 0xc016aad9 in bus_generic_attach (dev=0xc0e04b00) at
../../../kern/subr_bus.c:2907
#12 0xc00ae8bf in pci_attach (dev=0xc0e04b00) at ../../../dev/pci/pci.c:2611
#13 0xc0169ecf in device_attach (dev=0xc0e04b00) at device_if.h:178
#14 0xc016a9f0 in device_probe_and_attach (dev=0xc0e04b00) at
../../../kern/subr_bus.c:2369
#15 0xc016aad9 in bus_generic_attach (dev=0xc0d8f500) at
../../../kern/subr_bus.c:2907
#16 0xc033811b in xpcib_attach (dev=0xc0d8f500) at
../../../dev/xen/pcifront/pcifront.c:702
#17 0xc0169ecf in device_attach (dev=0xc0d8f500) at device_if.h:178
#18 0xc016a9f0 in device_probe_and_attach (dev=0xc0d8f500) at
../../../kern/subr_bus.c:2369
#19 0xc016aad9 in bus_generic_attach (dev=0xc0d8f800) at
../../../kern/subr_bus.c:2907
#20 0xc03383ab in xpcife_attach (dev=0xc0d8f800) at
../../../dev/xen/pcifront/pcifront.c:640
#21 0xc0169ecf in device_attach (dev=0xc0d8f800) at device_if.h:178
#22 0xc016a9f0 in device_probe_and_attach (dev=0xc0d8f800) at
../../../kern/subr_bus.c:2369
#23 0xc033792a in pcifront_backend_changed (xdev=0xc0e05000,
be_state=XenbusStateConnected) at ../../../dev/xen/pcifront/pcifront.c:346
#24 0xc032fea8 in otherend_changed (watch=0xc0e05000, vec=0xc0defa00,
len=2) at ../../../xen/xenbus/xenbus_probe.c:330
#25 0xc0330aec in xenwatch_thread (unused=0x0) at
../../../xen/xenbus/xenbus_xs.c:741
#26 0xc0129968 in fork_exit (callout=0xc0330980 <xenwatch_thread>,
arg=0x0, frame=0xc588bd38) at ../../../kern/kern_fork.c:795
#27 0xc0350e84 in fork_trampoline () at ../../../i386/xen/exception.s:240
(gdb) p rm->rm_list
$4 = {tqh_first = 0x0, tqh_last = 0xc07b3de0}
(gdb)
tqh_first is still 0 ( as it was initialzed ) which ultimately causes
the IRQ resource allocation to fail.
Am I missing anything ?
Looking forward to hear from you,
Thanks,
shase
reply other threads:[~2008-03-18 8:41 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=47DF802D.7080004@andrew.cmu.edu \
--to=shase@andrew.cmu.edu \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.