Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

blk_end_request: changing mmc (take 4)

This patch converts mmc to use blk_end_request interfaces.
Related 'uptodate' arguments are converted to 'error'.

Cc: Pierre Ossman <drzeus-mmc@drzeus.cx>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

authored by

Kiyoshi Ueda and committed by
Jens Axboe
fd539832 1381b7e8

+7 -21
+5 -19
drivers/mmc/card/block.c
··· 348 348 * A block was successfully transferred. 349 349 */ 350 350 spin_lock_irq(&md->lock); 351 - ret = end_that_request_chunk(req, 1, brq.data.bytes_xfered); 352 - if (!ret) { 353 - /* 354 - * The whole request completed successfully. 355 - */ 356 - add_disk_randomness(req->rq_disk); 357 - blkdev_dequeue_request(req); 358 - end_that_request_last(req, 1); 359 - } 351 + ret = __blk_end_request(req, 0, brq.data.bytes_xfered); 360 352 spin_unlock_irq(&md->lock); 361 353 } while (ret); 362 354 ··· 378 386 else 379 387 bytes = blocks << 9; 380 388 spin_lock_irq(&md->lock); 381 - ret = end_that_request_chunk(req, 1, bytes); 389 + ret = __blk_end_request(req, 0, bytes); 382 390 spin_unlock_irq(&md->lock); 383 391 } 384 392 } else if (rq_data_dir(req) != READ && 385 393 (card->host->caps & MMC_CAP_MULTIWRITE)) { 386 394 spin_lock_irq(&md->lock); 387 - ret = end_that_request_chunk(req, 1, brq.data.bytes_xfered); 395 + ret = __blk_end_request(req, 0, brq.data.bytes_xfered); 388 396 spin_unlock_irq(&md->lock); 389 397 } 390 398 391 399 mmc_release_host(card->host); 392 400 393 401 spin_lock_irq(&md->lock); 394 - while (ret) { 395 - ret = end_that_request_chunk(req, 0, 396 - req->current_nr_sectors << 9); 397 - } 398 - 399 - add_disk_randomness(req->rq_disk); 400 - blkdev_dequeue_request(req); 401 - end_that_request_last(req, 0); 402 + while (ret) 403 + ret = __blk_end_request(req, -EIO, blk_rq_cur_bytes(req)); 402 404 spin_unlock_irq(&md->lock); 403 405 404 406 return 0;
+2 -2
drivers/mmc/card/queue.c
··· 94 94 printk(KERN_ERR "MMC: killing requests for dead queue\n"); 95 95 while ((req = elv_next_request(q)) != NULL) { 96 96 do { 97 - ret = end_that_request_chunk(req, 0, 98 - req->current_nr_sectors << 9); 97 + ret = __blk_end_request(req, -EIO, 98 + blk_rq_cur_bytes(req)); 99 99 } while (ret); 100 100 } 101 101 return;