On Mon, Apr 26, 2021 at 10:53:10AM +0800, taochiu wrote: > From: Tao Chiu <taochiu@xxxxxxxxxxxx> > > queue_rq() in pci only checks if the dispatched queue (nvmeq) is ready, > e.g. not being suspended. Since nvme_alloc_admin_tags() in reset flow > restarts the admin queue, users are able to submit admin commands to a > controller before reset_work() completes. Commands submitted under this > condition may interfere with commands that performs identify, IO queue > setup in reset_work(), and may result in a hang described in the > following patch. > > As seen in the fabrics, user commands are prevented from being executed > under inproper controller states. We may reuse this logic to maintain a > clear admin queue during reset_work(). > > Signed-off-by: Tao Chiu <taochiu@xxxxxxxxxxxx> > Signed-off-by: Cody Wong <codywong@xxxxxxxxxxxx> > Reviewed-by: Leon Chien <leonchien@xxxxxxxxxxxx> The series looks good. Reviewed-by: Keith Busch <kbusch@xxxxxxxxxx>