Hi Ming, On 01.07.2020 15:45, Ming Lei wrote: > On Wed, Jul 01, 2020 at 03:01:03PM +0200, Marek Szyprowski wrote: >> On 29.06.2020 11:47, Ming Lei wrote: >>> It is natural to release driver tag when this request is completed by >>> LLD or device since its purpose is for LLD use. >>> >>> One big benefit is that the released tag can be re-used quicker since >>> bio_endio() may take too long. >>> >>> Meantime we don't need to release driver tag for flush request. >>> >>> Cc: Christoph Hellwig <hch@xxxxxx> >>> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxx> >> This patch landed recently in linux-next as commit 36a3df5a4574. Sadly >> it causes a regression on one of my test systems (ARM 32bit, Samsung >> Exynos5422 SoC based Odroid XU3 board with eMMC). The system boots fine >> and then after a few seconds every executed command hangs. No >> panic/ops/any other message. I will try to provide more information asap >> I find something to share. Simple reverting it in linux-next is not >> possible due to dependencies. > What is the exact eMMC's driver code(include the host driver)? dwmmc-exynos (drivers/mmc/host/dw_mmc-exynos.c) > The usual way for handling completion is that host driver notifies block > layer via blk_mq_complete_request() after the LLD specific handling for > this request is done. > > However, there might be driver which may use rq->tag in its rq completion > handler. I will see if the special case can be dealt with once you share > the driver info. Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland