Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 520a2c27 authored by H. Peter Anvin's avatar H. Peter Anvin Committed by James Bottomley
Browse files

[SCSI] sd: fix computation of the full size of the device



When computing the full size of the device, we need to cast
sdkp->capacity before shifting, since in some configurations sector_t
can be a 32-bit number.

Also, change ffz(~x) to the more idiomatic ilog2(x).

Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
parent a8659597
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1436,7 +1436,7 @@ got_data:

	{
		char cap_str_2[10], cap_str_10[10];
		u64 sz = sdkp->capacity << ffz(~sector_size);
		u64 sz = (u64)sdkp->capacity << ilog2(sector_size);

		string_get_size(sz, STRING_UNITS_2, cap_str_2,
				sizeof(cap_str_2));