NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
port-alpha/58602: cy82c693_init() calls bus_space_map() with spin lock held
>Number: 58602
>Category: port-alpha
>Synopsis: cy82c693_init() calls bus_space_map() with spin lock held
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: port-alpha-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Aug 15 21:55:01 +0000 2024
>Originator: Tobias Nygren
>Release:
>Organization:
>Environment:
>Description:
cy82c693_init() calls bus_space_map with it's spin lock (cyhc_lock) held.
This results in a LOCKDEBUG panic with this backtrace:
lockdebug_abort1()
mutex_enter()
vmem_xalloc()
vmem_xalloc_addr()
cia_swiz_io_map()
cy82c693_init()
cy82c693_setup_elcr()
sio_intr_setup()
pci_eb164_pickintr()
alpha_pci_intr_init()
ciaattach()
...
>How-To-Repeat:
Boot pc164sx with LOCKDEBUG kernel.
>Fix:
Rewrite the init code so it doesn't hold a spin lock.
It looks ok to me to use a regular IPL_NONE mutex instead.
None of this code seems to be called from interrupt handlers.
Home |
Main Index |
Thread Index |
Old Index