1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 03:17:35 +00:00

Kernel: Make IDEChannel Ref-counted

Technically not supported by the original ATA specification, IDE
hot swapping is still in practice possible, so the only sane way
to start support it is with ref-counting the IDEChannel object so if we
remove a PATADiskDevice, it's not gone with it.
This commit is contained in:
Liav A 2021-03-27 06:22:55 +03:00 committed by Andreas Kling
parent 531037db7e
commit dfb6b296cf
5 changed files with 11 additions and 9 deletions

View file

@ -58,8 +58,8 @@ const char* PATADiskDevice::class_name() const
void PATADiskDevice::start_request(AsyncBlockDeviceRequest& request)
{
bool use_dma = !m_channel.m_io_group.bus_master_base().is_null() && m_channel.m_dma_enabled.resource();
m_channel.start_request(request, use_dma, is_slave(), m_capabilities);
bool use_dma = !m_channel->m_io_group.bus_master_base().is_null() && m_channel->m_dma_enabled.resource();
m_channel->start_request(request, use_dma, is_slave(), m_capabilities);
}
String PATADiskDevice::device_name() const