On 7/3/25 05:38, Bart Van Assche wrote: > Because blk_mq_hw_queue_need_run() now returns false if a queue is frozen, > protecting request queue changes with blk_mq_quiesce_queue() and > blk_mq_unquiesce_queue() while a queue is frozen is no longer necessary. > Hence this patch that removes quiesce/unquiesce calls on frozen queues. > > Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx> > --- > drivers/block/swim3.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/drivers/block/swim3.c b/drivers/block/swim3.c > index 01f7aef3fcfb..8e209804ceaf 100644 > --- a/drivers/block/swim3.c > +++ b/drivers/block/swim3.c > @@ -850,8 +850,6 @@ static void release_drive(struct floppy_state *fs) > spin_unlock_irqrestore(&swim3_lock, flags); > > memflags = blk_mq_freeze_queue(q); > - blk_mq_quiesce_queue(q); > - blk_mq_unquiesce_queue(q); > blk_mq_unfreeze_queue(q, memflags); > } With your changes, the pattern: memflags = blk_mq_freeze_queue(q); blk_mq_unfreeze_queue(q, memflags); is repeated several times. So maybe make that a helper ? Naming it is tricky though. Maybe something like: static inline void blk_mq_drain_queue(q) { unsigned int memflags = blk_mq_freeze_queue(q); blk_mq_unfreeze_queue(q, memflags); } -- Damien Le Moal Western Digital Research