diff --git a/repos/os/src/drivers/usb_block/main.cc b/repos/os/src/drivers/usb_block/main.cc index 2644275564..bb5d18da4a 100644 --- a/repos/os/src/drivers/usb_block/main.cc +++ b/repos/os/src/drivers/usb_block/main.cc @@ -223,7 +223,7 @@ struct Usb::Block_driver : Usb::Completion, Capacity_response_10 r((addr_t)data); if (verbose_scsi) r.dump(); - block_count = r.block_count(); + block_count = r.last_block() + 1; block_size = r.block_size(); break; } @@ -232,7 +232,7 @@ struct Usb::Block_driver : Usb::Completion, Capacity_response_16 r((addr_t)data); if (verbose_scsi) r.dump(); - block_count = r.block_count(); + block_count = r.last_block() + 1; block_size = r.block_size(); break; } diff --git a/repos/os/src/drivers/usb_block/scsi.h b/repos/os/src/drivers/usb_block/scsi.h index 181358e066..b58e8748c8 100644 --- a/repos/os/src/drivers/usb_block/scsi.h +++ b/repos/os/src/drivers/usb_block/scsi.h @@ -176,18 +176,18 @@ struct Scsi::Capacity_response_10 : Genode::Mmio { enum { LENGTH = 8 }; - struct Bc : Register<0x0, 32> { }; - struct Bs : Register<0x4, 32> { }; + struct Lba : Register<0x0, 32> { }; + struct Bs : Register<0x4, 32> { }; Capacity_response_10(addr_t addr) : Mmio(addr) { } - uint32_t block_count() const { return be32(read()); } - uint32_t block_size() const { return be32(read()); } + uint32_t last_block() const { return be32(read()); } + uint32_t block_size() const { return be32(read()); } void dump() { Genode::log("--- Dump READ_CAPACITY_10 data ---"); - Genode::log("Bc: ", Genode::Hex(block_count())); + Genode::log("Lba: ", Genode::Hex(last_block())); Genode::log("Bs: ", Genode::Hex(block_size())); } }; @@ -197,18 +197,18 @@ struct Scsi::Capacity_response_16 : Genode::Mmio { enum { LENGTH = 32 }; - struct Bc : Register<0x0, 64> { }; - struct Bs : Register<0x8, 32> { }; + struct Lba : Register<0x0, 64> { }; + struct Bs : Register<0x8, 32> { }; Capacity_response_16(addr_t addr) : Mmio(addr) { } - uint64_t block_count() const { return be64(read()); } - uint32_t block_size() const { return be32(read()); } + uint64_t last_block() const { return be64(read()); } + uint32_t block_size() const { return be32(read()); } void dump() { Genode::log("--- Dump READ_CAPACITY_16 data ---"); - Genode::log("Bc: ", Genode::Hex(block_count())); + Genode::log("Lba: ", Genode::Hex(last_block())); Genode::log("Bs: ", Genode::Hex(block_size())); } };