summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Nettleton <jon@solid-run.com>2017-08-03 09:31:01 (GMT)
committerTom Rini <trini@konsulko.com>2017-08-13 19:17:32 (GMT)
commitf81d83d53454a108f0317c1debd8af7edc8413be (patch)
treede56fd14eebea8131a2f53a6b73e528f127f9ebf
parent0deb91318b15f0d12839b23433e2720722504d25 (diff)
downloadu-boot-fsl-qoriq-f81d83d53454a108f0317c1debd8af7edc8413be.tar.xz
nvme: Fix number of blocks detection
NVMe should use the nsze value from the queried device. This will reflect the total number of blocks of the device and fix detecting my Samsung 960 EVO 256GB. Original: Capacity: 40386.6 MB = 39.4 GB (82711872 x 512) Fixed: Capacity: 238475.1 MB = 232.8 GB (488397168 x 512) Signed-off-by: Jon Nettleton <jon@solid-run.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com>
-rw-r--r--drivers/nvme/nvme.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/nvme/nvme.c b/drivers/nvme/nvme.c
index feea02a..bac253a 100644
--- a/drivers/nvme/nvme.c
+++ b/drivers/nvme/nvme.c
@@ -620,7 +620,7 @@ static int nvme_blk_probe(struct udevice *udev)
flbas = id->flbas & NVME_NS_FLBAS_LBA_MASK;
ns->flbas = flbas;
ns->lba_shift = id->lbaf[flbas].ds;
- ns->mode_select_num_blocks = le64_to_cpu(id->nuse);
+ ns->mode_select_num_blocks = le64_to_cpu(id->nsze);
ns->mode_select_block_len = 1 << ns->lba_shift;
list_add(&ns->list, &ndev->namespaces);