On 10/11/2017 11:39 AM, Omar Sandoval wrote: > From: Omar Sandoval <osandov@xxxxxx> > > When we're getting a domain token, if we fail to get a token on our > first attempt, we put the current hardware queue on a wait queue and > then try again just in case a token was freed after our initial attempt > but before we got on the wait queue. If this second attempt succeeds, we > currently leave the hardware queue on the wait queue. Usually this is > okay; we'll just run the hardware queue one extra time when another > token is freed. However, if the hardware queue doesn't have any other > requests waiting, then when it it gets the extra wakeup, it won't have > anything to free and therefore won't wake up any other hardware queues. > If tokens are limited, then we won't make forward progress and the > device will hang. Applied for 4.15, thanks Omar. -- Jens Axboe