diff options
Diffstat (limited to 'block')
-rw-r--r-- | block/blktrace.c | 6 | ||||
-rw-r--r-- | block/ll_rw_blk.c | 3 |
2 files changed, 5 insertions, 4 deletions
diff --git a/block/blktrace.c b/block/blktrace.c index 2b4ef2b89b8d..8ff33441d8a2 100644 --- a/block/blktrace.c +++ b/block/blktrace.c | |||
@@ -450,8 +450,10 @@ int blk_trace_ioctl(struct block_device *bdev, unsigned cmd, char __user *arg) | |||
450 | **/ | 450 | **/ |
451 | void blk_trace_shutdown(request_queue_t *q) | 451 | void blk_trace_shutdown(request_queue_t *q) |
452 | { | 452 | { |
453 | blk_trace_startstop(q, 0); | 453 | if (q->blk_trace) { |
454 | blk_trace_remove(q); | 454 | blk_trace_startstop(q, 0); |
455 | blk_trace_remove(q); | ||
456 | } | ||
455 | } | 457 | } |
456 | 458 | ||
457 | /* | 459 | /* |
diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c index 9c3a06bcb7ba..51dc0edf76e0 100644 --- a/block/ll_rw_blk.c +++ b/block/ll_rw_blk.c | |||
@@ -1847,8 +1847,7 @@ static void blk_release_queue(struct kobject *kobj) | |||
1847 | if (q->queue_tags) | 1847 | if (q->queue_tags) |
1848 | __blk_queue_free_tags(q); | 1848 | __blk_queue_free_tags(q); |
1849 | 1849 | ||
1850 | if (q->blk_trace) | 1850 | blk_trace_shutdown(q); |
1851 | blk_trace_shutdown(q); | ||
1852 | 1851 | ||
1853 | kmem_cache_free(requestq_cachep, q); | 1852 | kmem_cache_free(requestq_cachep, q); |
1854 | } | 1853 | } |