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