From e9b7d58d105d780bed65ffefb5e69a62e2ff4ab9 Mon Sep 17 00:00:00 2001 From: Alexander Date: Fri, 25 Jun 2021 15:45:11 +0200 Subject: [PATCH] Kernel/AHCI: Fix shift of 1 This makes the 1 in the shift unsigned. This also changes the is_set_at parameter to be a u8. --- Kernel/Storage/AHCI.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Kernel/Storage/AHCI.h b/Kernel/Storage/AHCI.h index b0ae6da88a..9502208d3b 100644 --- a/Kernel/Storage/AHCI.h +++ b/Kernel/Storage/AHCI.h @@ -144,8 +144,8 @@ public: void set_at(u8 index) const { - VERIFY(((1 << index) & m_bit_mask) != 0); - m_bitfield = m_bitfield | ((1 << index) & m_bit_mask); + VERIFY(((1u << index) & m_bit_mask) != 0); + m_bitfield = m_bitfield | ((1u << index) & m_bit_mask); } void set_all() const @@ -153,9 +153,9 @@ public: m_bitfield = m_bitfield | (0xffffffff & m_bit_mask); } - bool is_set_at(u32 port_index) const + bool is_set_at(u8 port_index) const { - return m_bitfield & ((1 << port_index) & m_bit_mask); + return m_bitfield & ((1u << port_index) & m_bit_mask); } bool is_zeroed() const