NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

port-hpcmips/43473: panic: extent_alloc_subregion: bad boundary



>Number:         43473
>Category:       port-hpcmips
>Synopsis:       panic: extent_alloc_subregion: bad boundary
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    port-hpcmips-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Jun 14 21:05:00 +0000 2010
>Originator:     Risto Sainio
>Release:        NetBSD 5.0.2_PATCH
>Organization:
>Environment:
NetBSD rsa02.rsa.org 5.0.2_PATCH NetBSD 5.0.2_PATCH (TX3922_rsa) #22: Sat Jun 
12 01:50:35 CEST 2010  
root@vrsa89:/usr/objdir_current/sys/arch/hpcmips/compile/TX3922_rsa hpcmips

>Description:
Booting TX3922-based system with ohci-driver enabled gives following:
ohci0 at plum0
ohci0: OHCI version 1.0
extent_alloc_subregion: extent `MCS0', size 0x40000, boundary 0x1000
panic: extent_alloc_subregion: bad boundary
Stopped in pid 0.1 (system) at  netbsd:cpu_Debugger+0x4:        jr      ra
                bdslot: nop
db> bt
cpu_Debugger+4 (83fef000,1,5,0) ra 801e0b2c sz 0
panic+1fc (83fef000,45,5,2a) ra 801d8158 sz 48
extent_alloc_subregion1+6c (83fef000,c5308000,5,2a) ra 801d870c sz 72
extent_alloc_subregion+30 (83fef000,c5308000,5,2a) ra 802800ec sz 48
__bs_alloc+6c (83fef000,c5308000,5,2a) ra 80290c50 sz 64
__plumohci_dmamem_alloc+64 (83fef000,c5308000,5,2a) ra 802a6300 sz 72
usb_setup_reserve+74 (83fef000,c5308000,5,2a) ra 800d23bc sz 80
ohci_init+120 (83fef000,c5308000,5,2a) ra 80290e28 sz 72
plumohci_attach+104 (83fef000,c5308000,5,2a) ra 801d276c sz 40
config_attach_loc+1ac (83fef000,c5308000,5,2a) ra 801d27dc sz 48
config_attach+18 (83fef000,c5308000,5,8028da90) ra 8028db84 sz 32
plum_search+74 (83fef000,c5308000,5,8038d3f8) ra 801d1120 sz 56
mapply+38 (83fef000,c5308000,5,8038d3f8) ra 801d1334 sz 32
config_search_loc+13c (83fef000,c5308000,5,8038d3f8) ra 801d1384 sz 64
config_search_ia+14 (83fef000,c5308000,5,8028da90) ra 801d276c sz 32
config_attach_loc+1ac (83fef000,c5308000,5,8028da90) ra 801d27dc sz 48
config_attach+18 (83fef000,c5308000,5,80287778) ra 80287758 sz 32
txcsbus_search+130 (83fef000,c5308000,3,80287778) ra 801d1120 sz 120
mapply+38 (83fef000,c5308000,3,80287778) ra 801d1334 sz 32
config_search_loc+13c (83fef000,c5308000,3,80287778) ra 801d1384 sz 64
config_search_ia+14 (83fef000,c5308000,3,80287778) ra 801d276c sz 32
config_attach_loc+1ac (83fef000,c5308000,3,80287778) ra 801d28e4 sz 48


>How-To-Repeat:
booting the system...
>Fix:
Dunno, maybe we do not need boundary at all, but I fixed it conditionally in 
.../hpcmips/dev/plumohci.c in function __plumohci_dmamem_alloc:

        /*
         * Allocate buffer from V-RAM area.
        */
        
        if(size > OHCI_PAGE_SIZE) {
            error = bus_space_alloc(sc->sc.iot, PLUM_OHCI_SHMEMBASE,
                PLUM_OHCI_SHMEMBASE + PLUM_OHCI_SHMEMSIZE - 1,
                size, OHCI_PAGE_SIZE, size,  0,
                (bus_addr_t *)(void *)&caddr, &bsh);
        } else {
            error = bus_space_alloc(sc->sc.iot, PLUM_OHCI_SHMEMBASE,
                PLUM_OHCI_SHMEMBASE + PLUM_OHCI_SHMEMSIZE - 1,
                size, OHCI_PAGE_SIZE, OHCI_PAGE_SIZE, 0,
                (bus_addr_t *)(void *)&caddr, &bsh);
        }
        if (error)
                return (1);



Home | Main Index | Thread Index | Old Index