X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=block%2Fblk-lib.c;h=97a733cf3d5f925d1eede00d0dbca63f3565fd38;hb=5f30fc94ca985974fd54de454c7a6070388443db;hp=2da76c999ef3f37bd965f9d91b48dac43196a208;hpb=9b244b5dc720f2b2135b2e64d44ab10220c2bf21;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git diff --git a/block/blk-lib.c b/block/blk-lib.c index 2da76c9..97a733c 100644 --- a/block/blk-lib.c +++ b/block/blk-lib.c @@ -119,6 +119,14 @@ int blkdev_issue_discard(struct block_device *bdev, sector_t sector, atomic_inc(&bb.done); submit_bio(type, bio); + + /* + * We can loop for a long time in here, if someone does + * full device discards (like mkfs). Be nice and allow + * us to schedule out to avoid softlocking if preempt + * is disabled. + */ + cond_resched(); } blk_finish_plug(&plug);