Author: korli Date: 2010-11-02 22:13:30 +0100 (Tue, 02 Nov 2010) New Revision: 39279 Changeset: http://dev.haiku-os.org/changeset/39279 Modified: haiku/trunk/src/add-ons/kernel/bus_managers/ata/ATADevice.cpp haiku/trunk/src/add-ons/kernel/generic/scsi_periph/block.cpp Log: big_endian conversion: this should be more correct Modified: haiku/trunk/src/add-ons/kernel/bus_managers/ata/ATADevice.cpp =================================================================== --- haiku/trunk/src/add-ons/kernel/bus_managers/ata/ATADevice.cpp 2010-11-02 20:56:20 UTC (rev 39278) +++ haiku/trunk/src/add-ons/kernel/bus_managers/ata/ATADevice.cpp 2010-11-02 21:13:30 UTC (rev 39279) @@ -199,8 +199,7 @@ data.block_size = B_HOST_TO_BENDIAN_INT32(fBlockSize); uint64 lastBlock = fTotalSectors - 1; - data.lba = (((uint64)B_HOST_TO_BENDIAN_INT32(lastBlock >> 32)) << 32) - | B_HOST_TO_BENDIAN_INT32(lastBlock); + data.lba = B_HOST_TO_BENDIAN_INT64(lastBlock); TRACE("returning last block: %llu\n", data.lba); copy_sg_data(ccb, 0, ccb->data_length, &data, sizeof(data), false); Modified: haiku/trunk/src/add-ons/kernel/generic/scsi_periph/block.cpp =================================================================== --- haiku/trunk/src/add-ons/kernel/generic/scsi_periph/block.cpp 2010-11-02 20:56:20 UTC (rev 39278) +++ haiku/trunk/src/add-ons/kernel/generic/scsi_periph/block.cpp 2010-11-02 21:13:30 UTC (rev 39279) @@ -76,9 +76,7 @@ ACQUIRE_BEN(&device->mutex); if (res == B_OK && request->data_resid == 0) { - capacity = (((uint64)B_BENDIAN_TO_HOST_INT32( - capacityLongResult.lba >> 32)) << 32) - | B_BENDIAN_TO_HOST_INT32(capacityLongResult.lba); + capacity = B_BENDIAN_TO_HOST_INT64(capacityLongResult.lba); } else capacity = 0; }