diff --git a/kernel/src/misc/MSR.cpp b/kernel/src/misc/MSR.cpp index a4e412da..47ac7875 100644 --- a/kernel/src/misc/MSR.cpp +++ b/kernel/src/misc/MSR.cpp @@ -32,9 +32,7 @@ MSR::MSR(uint32_t msr_num) : m_msr_num(msr_num) void MSR::with_value_of(uint32_t msr_num, void (*callback)(uint64_t&)) { MSR msr(msr_num); - uint64_t value = msr.read(); - callback(value); - msr.write(value); + msr.with_value(callback); } void MSR::with_value(void (*callback)(uint64_t&))