NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: port-arm/51380: Mutex error: mutex_vector_enter: locking against myself
The following reply was made to PR port-arm/51380; it has been noted by GNATS.
From: mlelstv%serpens.de@localhost (Michael van Elst)
To: gnats-bugs%netbsd.org@localhost
Cc:
Subject: Re: port-arm/51380: Mutex error: mutex_vector_enter: locking against myself
Date: Sat, 30 Jul 2016 18:08:07 +0000 (UTC)
venture37%geeklan.co.uk@localhost (Sevan Janiyan) writes:
> sc->sc_ih = intr_establish(mb->mb_intrbase + 0,
> IPL_SCHED, IST_LEVEL, edma_intr, sc);
>
> and
>
> sc->sc_ih = intr_establish(oa->obio_intr, IPL_VM, IST_LEVEL,
> sdhc_intr, &sc->sc);
sdhc is using IPL_SDMMC (== IPL_BIO == IPL_VM) and shares a
lock (sdhc_host_lock) with lower level drivers. The interrupts
must therefore also operate at this level.
The omap sdhc driver uses IPL_VM, changing that to IPL_SDMMC is
just cosmetic.
The omap edma driver however uses IPL_SCHED and there is only
a single interrupt source for all channels. This could either
be changed to IPL_BIO (sdhc is the only client so far), or
must be defererred to a lower level, for example by using
a softint.
--
--
Michael van Elst
Internet: mlelstv%serpens.de@localhost
"A potential Snark may lurk in every tree."
Home |
Main Index |
Thread Index |
Old Index