diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/md/dm.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/md/dm.c b/drivers/md/dm.c index 21222f5193fb..7199846364e9 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c | |||
| @@ -635,8 +635,10 @@ static void dec_pending(struct dm_io *io, int error) | |||
| 635 | if (!md->barrier_error && io_error != -EOPNOTSUPP) | 635 | if (!md->barrier_error && io_error != -EOPNOTSUPP) |
| 636 | md->barrier_error = io_error; | 636 | md->barrier_error = io_error; |
| 637 | end_io_acct(io); | 637 | end_io_acct(io); |
| 638 | free_io(md, io); | ||
| 638 | } else { | 639 | } else { |
| 639 | end_io_acct(io); | 640 | end_io_acct(io); |
| 641 | free_io(md, io); | ||
| 640 | 642 | ||
| 641 | if (io_error != DM_ENDIO_REQUEUE) { | 643 | if (io_error != DM_ENDIO_REQUEUE) { |
| 642 | trace_block_bio_complete(md->queue, bio); | 644 | trace_block_bio_complete(md->queue, bio); |
| @@ -644,8 +646,6 @@ static void dec_pending(struct dm_io *io, int error) | |||
| 644 | bio_endio(bio, io_error); | 646 | bio_endio(bio, io_error); |
| 645 | } | 647 | } |
| 646 | } | 648 | } |
| 647 | |||
| 648 | free_io(md, io); | ||
| 649 | } | 649 | } |
| 650 | } | 650 | } |
| 651 | 651 | ||
