From 0c873619ce86975e9ed3c66e88ca4dc9ef303a82 Mon Sep 17 00:00:00 2001 From: Axel Doerfler Date: Sun, 3 Nov 2013 23:17:36 +0100 Subject: [PATCH] ahci: Fixed missing endian conversion. * Spotted by Rene, thanks a lot! --- src/add-ons/kernel/busses/scsi/ahci/ahci_port.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/add-ons/kernel/busses/scsi/ahci/ahci_port.cpp b/src/add-ons/kernel/busses/scsi/ahci/ahci_port.cpp index 652f153e35..c68af4b411 100644 --- a/src/add-ons/kernel/busses/scsi/ahci/ahci_port.cpp +++ b/src/add-ons/kernel/busses/scsi/ahci/ahci_port.cpp @@ -807,8 +807,8 @@ AHCIPort::ScsiUnmap(scsi_ccb* request, scsi_unmap_parameter_list* unmapBlocks) // Determine how many ranges we'll need // We assume that the SCSI unmap ranges cannot be merged together - uint32 scsiRangeCount = unmapBlocks->block_data_length - / sizeof(scsi_unmap_block_descriptor); + uint32 scsiRangeCount = B_BENDIAN_TO_HOST_INT16( + unmapBlocks->block_data_length) / sizeof(scsi_unmap_block_descriptor); uint32 lbaRangeCount = 0; for (uint32 i = 0; i < scsiRangeCount; i++) { lbaRangeCount += ((uint32)B_BENDIAN_TO_HOST_INT32(