WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Freebsd/Xen: pcifront: IRQ resource allocation failed

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] Freebsd/Xen: pcifront: IRQ resource allocation failed
From: sanket hase <shase@xxxxxxxxxxxxxx>
Date: Tue, 18 Mar 2008 04:41:17 -0400
Delivery-date: Tue, 18 Mar 2008 01:41:43 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 2.0.0.6 (X11/20070801)
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









_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] Freebsd/Xen: pcifront: IRQ resource allocation failed, sanket hase <=