mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 15:48:12 +00:00
Kernel: Stop allowing implicit conversion from KResult to int
This patch removes KResult::operator int() and deals with the fallout. This forces a lot of code to be more explicit in its handling of errors, greatly improving readability.
This commit is contained in:
parent
d30d776ca4
commit
7676edfb9b
14 changed files with 51 additions and 52 deletions
|
@ -591,16 +591,8 @@ KResultOr<size_t> UHCIController::submit_control_transfer(Transfer& transfer)
|
|||
TransferDescriptor* last_data_descriptor;
|
||||
TransferDescriptor* data_descriptor_chain;
|
||||
auto buffer_address = Ptr32<u8>(transfer.buffer_physical().as_ptr() + sizeof(USBRequestData));
|
||||
auto transfer_chain_create_result = create_chain(pipe,
|
||||
direction_in ? PacketID::IN : PacketID::OUT,
|
||||
buffer_address,
|
||||
pipe.max_packet_size(),
|
||||
transfer.transfer_data_size(),
|
||||
&data_descriptor_chain,
|
||||
&last_data_descriptor);
|
||||
|
||||
if (transfer_chain_create_result != KSuccess)
|
||||
return transfer_chain_create_result;
|
||||
if (auto result = create_chain(pipe, direction_in ? PacketID::IN : PacketID::OUT, buffer_address, pipe.max_packet_size(), transfer.transfer_data_size(), &data_descriptor_chain, &last_data_descriptor); result.is_error())
|
||||
return result;
|
||||
|
||||
// Status TD always has toggle set to 1
|
||||
pipe.set_toggle(true);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue