Re: 4.6-rc1 regression in SPI core -- deadlock

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

 



On Mon, Apr 04, 2016 at 09:23:31AM +0530, Vignesh R wrote:
> 
> 
> On 04/04/2016 06:50 AM, Rich Felker wrote:
> > I've spent several days trying to debug a deadlock using our local
> > (not yet ready for upstream) driver for the J-Core SPI device and it
> > seems to be a new deadlock in the SPI core caused by commit
> > 556351f14e74 and unrelated to the particular driver. Commit
> > 49023d2e4ead tried to solve a related deadlock problem, but there
> > still seems to be a lock order issue and it's affecting SPI use even
> > without the spi_flash_read optimization. The deadlock I'm observing
> > has a kworker thread stuck in wait_for_completion called from
> > spi_sync_locked (ultimately from mmc_rescan) and the completion is
> > never finishing because this kworker thread has the bus locked while
> > the spi master task has already started processing the queue but can't
> > proceed because the bus lock is taken.
> > 
> > Anyone else seen this? Ideas for a proper fix?
> 
> Could you try 24c8cd1b081286("spi: fix possible deadlock between
> internal bus locks and bus_lock_flag") from linux-next?

This seems to fix the problem. I'm still hitting an issue where
mmc_rescan deadlocks (at best) or crashes/corrupts the card state, but
I think that's a separate bug since it happened with my workaround
hack too. The patch in linux-next makes sense to me from what I've
read of the SPI core code so far. Thanks!

Rich
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux