From 063cc6d5591ea9c0631b81ac5c7b829d99738b2f Mon Sep 17 00:00:00 2001 From: Matthew Wilcox Date: Wed, 27 Mar 2013 21:28:22 -0400 Subject: NVMe: Abstract out sector to block number conversion Introduce nvme_block_nr() to help convert sectors to block numbers. This fixes an integer overflow in the SCSI conversion layer, and it's slightly less typing than opencoding it. Signed-off-by: Matthew Wilcox Acked-by: Keith Busch --- drivers/block/nvme-scsi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'drivers/block/nvme-scsi.c') diff --git a/drivers/block/nvme-scsi.c b/drivers/block/nvme-scsi.c index 483af3585c92..db7052ea8d0d 100644 --- a/drivers/block/nvme-scsi.c +++ b/drivers/block/nvme-scsi.c @@ -2040,7 +2040,7 @@ static int nvme_trans_do_nvme_io(struct nvme_ns *ns, struct sg_io_hdr *hdr, struct nvme_command c; u8 opcode = (is_write ? nvme_cmd_write : nvme_cmd_read); u16 control; - u32 max_blocks = (dev->max_hw_sectors << 9) >> ns->lba_shift; + u32 max_blocks = nvme_block_nr(ns, dev->max_hw_sectors); num_cmds = nvme_trans_io_get_num_cmds(hdr, cdb_info, max_blocks); -- cgit v1.2.3