[haiku-commits] Change in haiku[master]: nvme_disk: Error check after do_nvme_io_request.

  • From: Gerrit <review@xxxxxxxxxxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Tue, 19 May 2020 04:33:50 +0000

From waddlesplash <waddlesplash@xxxxxxxxx>:

waddlesplash has uploaded this change for review. ( 
https://review.haiku-os.org/c/haiku/+/2742 ;)


Change subject: nvme_disk: Error check after do_nvme_io_request.
......................................................................

nvme_disk: Error check after do_nvme_io_request.

Fixes partial transfers being reported as larger than they actually were.
---
M src/add-ons/kernel/drivers/disk/nvme/nvme_disk.cpp
1 file changed, 3 insertions(+), 1 deletion(-)



  git pull ssh://git.haiku-os.org:22/haiku refs/changes/42/2742/1

diff --git a/src/add-ons/kernel/drivers/disk/nvme/nvme_disk.cpp 
b/src/add-ons/kernel/drivers/disk/nvme/nvme_disk.cpp
index b37404e..99d79c9 100644
--- a/src/add-ons/kernel/drivers/disk/nvme/nvme_disk.cpp
+++ b/src/add-ons/kernel/drivers/disk/nvme/nvme_disk.cpp
@@ -734,7 +734,7 @@
        }

        int32 remaining = nvme_request.iovec_count;
-       while (remaining > 0 && status == B_OK) {
+       while (remaining > 0) {
                nvme_request.iovec_count = min_c(remaining,
                        NVME_MAX_SGL_DESCRIPTORS / 2);

@@ -743,6 +743,8 @@
                        nvme_request.lba_count += (nvme_request.iovecs[i].size 
/ block_size);

                status = do_nvme_io_request(handle->info, &nvme_request);
+               if (status != B_OK)
+                       break;

                nvme_request.iovecs += nvme_request.iovec_count;
                remaining -= nvme_request.iovec_count;

--
To view, visit https://review.haiku-os.org/c/haiku/+/2742
To unsubscribe, or for help writing mail filters, visit 
https://review.haiku-os.org/settings

Gerrit-Project: haiku
Gerrit-Branch: master
Gerrit-Change-Id: I1346a084b3c915c77de5989880f96d33d96ff560
Gerrit-Change-Number: 2742
Gerrit-PatchSet: 1
Gerrit-Owner: waddlesplash <waddlesplash@xxxxxxxxx>
Gerrit-MessageType: newchange

Other related posts:

  • » [haiku-commits] Change in haiku[master]: nvme_disk: Error check after do_nvme_io_request. - Gerrit