Browse Source
Merge pull request #5799 from ogniK5377/event-register-unregister
nvdrv: Unregister already registered events
pull/15/merge
bunnei
5 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
7 additions and
1 deletions
-
src/core/hle/service/nvdrv/devices/nvhost_ctrl.cpp
|
|
|
@ -155,7 +155,13 @@ NvResult nvhost_ctrl::IocCtrlEventRegister(const std::vector<u8>& input, std::ve |
|
|
|
return NvResult::BadParameter; |
|
|
|
} |
|
|
|
if (events_interface.registered[event_id]) { |
|
|
|
return NvResult::BadParameter; |
|
|
|
const auto event_state = events_interface.status[event_id]; |
|
|
|
if (event_state != EventState::Free) { |
|
|
|
LOG_WARNING(Service_NVDRV, "Event already registered! Unregistering previous event"); |
|
|
|
events_interface.UnregisterEvent(event_id); |
|
|
|
} else { |
|
|
|
return NvResult::BadParameter; |
|
|
|
} |
|
|
|
} |
|
|
|
events_interface.RegisterEvent(event_id); |
|
|
|
return NvResult::Success; |
|
|
|
|