projects
/
linux-2.6-block.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
drm/amd/powerplay: incorrectly use of the function return value
[linux-2.6-block.git]
/
block
/
blk-lib.c
diff --git
a/block/blk-lib.c
b/block/blk-lib.c
index 23d7f301a1967483ec79a383a1a317881caf3358..9e29dc35169560a223ae7eea9dffc80da15fc7f9 100644
(file)
--- a/
block/blk-lib.c
+++ b/
block/blk-lib.c
@@
-113,6
+113,7
@@
int blkdev_issue_discard(struct block_device *bdev, sector_t sector,
ret = submit_bio_wait(type, bio);
if (ret == -EOPNOTSUPP)
ret = 0;
ret = submit_bio_wait(type, bio);
if (ret == -EOPNOTSUPP)
ret = 0;
+ bio_put(bio);
}
blk_finish_plug(&plug);
}
blk_finish_plug(&plug);
@@
-165,8
+166,10
@@
int blkdev_issue_write_same(struct block_device *bdev, sector_t sector,
}
}
}
}
- if (bio)
+ if (bio)
{
ret = submit_bio_wait(REQ_WRITE | REQ_WRITE_SAME, bio);
ret = submit_bio_wait(REQ_WRITE | REQ_WRITE_SAME, bio);
+ bio_put(bio);
+ }
return ret != -EOPNOTSUPP ? ret : 0;
}
EXPORT_SYMBOL(blkdev_issue_write_same);
return ret != -EOPNOTSUPP ? ret : 0;
}
EXPORT_SYMBOL(blkdev_issue_write_same);
@@
-206,8
+209,11
@@
static int __blkdev_issue_zeroout(struct block_device *bdev, sector_t sector,
}
}
}
}
- if (bio)
- return submit_bio_wait(WRITE, bio);
+ if (bio) {
+ ret = submit_bio_wait(WRITE, bio);
+ bio_put(bio);
+ return ret;
+ }
return 0;
}
return 0;
}