From: Sebastian Andrzej Siewior Date: Fri, 25 Nov 2011 21:18:45 +0000 (+0100) Subject: target/rd: simplify the page/offset computation X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=5bff9e8584fbcdb361dada5a0425724b9e31e608;p=GitHub%2FLineageOS%2Fandroid_kernel_samsung_universal7580.git target/rd: simplify the page/offset computation Breakout rd_MEMCPY_do_task() usage of do_div() to tmp value during rd_request->rd_page assignment. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Nicholas Bellinger --- diff --git a/drivers/target/target_core_rd.c b/drivers/target/target_core_rd.c index 6d8a6881cff..6119ed5a331 100644 --- a/drivers/target/target_core_rd.c +++ b/drivers/target/target_core_rd.c @@ -583,14 +583,12 @@ static int rd_MEMCPY_do_task(struct se_task *task) { struct se_device *dev = task->task_se_cmd->se_dev; struct rd_request *req = RD_REQ(task); - unsigned long long lba; + u64 tmp; int ret; - req->rd_page = (task->task_lba * dev->se_sub_dev->se_dev_attrib.block_size) / PAGE_SIZE; - lba = task->task_lba; - req->rd_offset = (do_div(lba, - (PAGE_SIZE / dev->se_sub_dev->se_dev_attrib.block_size))) * - dev->se_sub_dev->se_dev_attrib.block_size; + tmp = task->task_lba * dev->se_sub_dev->se_dev_attrib.block_size; + req->rd_offset = do_div(tmp, PAGE_SIZE); + req->rd_page = tmp; req->rd_size = task->task_size; if (task->task_data_direction == DMA_FROM_DEVICE)