@@ -189,12 +189,9 @@ static ssize_t queue_discard_max_store(struct request_queue *q,
189189 if ((max_discard_bytes >> SECTOR_SHIFT ) > UINT_MAX )
190190 return - EINVAL ;
191191
192- blk_mq_freeze_queue (q );
193192 lim = queue_limits_start_update (q );
194193 lim .max_user_discard_sectors = max_discard_bytes >> SECTOR_SHIFT ;
195194 err = queue_limits_commit_update (q , & lim );
196- blk_mq_unfreeze_queue (q );
197-
198195 if (err )
199196 return err ;
200197 return ret ;
@@ -241,11 +238,9 @@ queue_max_sectors_store(struct request_queue *q, const char *page, size_t count)
241238 if (ret < 0 )
242239 return ret ;
243240
244- blk_mq_freeze_queue (q );
245241 lim = queue_limits_start_update (q );
246242 lim .max_user_sectors = max_sectors_kb << 1 ;
247243 err = queue_limits_commit_update (q , & lim );
248- blk_mq_unfreeze_queue (q );
249244 if (err )
250245 return err ;
251246 return ret ;
@@ -585,13 +580,11 @@ static ssize_t queue_wb_lat_store(struct request_queue *q, const char *page,
585580 * ends up either enabling or disabling wbt completely. We can't
586581 * have IO inflight if that happens.
587582 */
588- blk_mq_freeze_queue (q );
589583 blk_mq_quiesce_queue (q );
590584
591585 wbt_set_min_lat (q , val );
592586
593587 blk_mq_unquiesce_queue (q );
594- blk_mq_unfreeze_queue (q );
595588
596589 return count ;
597590}
@@ -722,9 +715,11 @@ queue_attr_store(struct kobject *kobj, struct attribute *attr,
722715 if (!entry -> store )
723716 return - EIO ;
724717
718+ blk_mq_freeze_queue (q );
725719 mutex_lock (& q -> sysfs_lock );
726720 res = entry -> store (q , page , length );
727721 mutex_unlock (& q -> sysfs_lock );
722+ blk_mq_unfreeze_queue (q );
728723 return res ;
729724}
730725
0 commit comments