mirror of
https://github.com/RGBCube/serenity
synced 2025-07-24 16:17:34 +00:00
E1000: Disable interrupts while getting ready to wait on TX completion
This commit is contained in:
parent
7d0583a33f
commit
9d67a6ba34
1 changed files with 4 additions and 1 deletions
|
@ -340,10 +340,13 @@ void E1000NetworkAdapter::send_raw(const u8* data, int length)
|
||||||
#endif
|
#endif
|
||||||
tx_current = (tx_current + 1) % number_of_tx_descriptors;
|
tx_current = (tx_current + 1) % number_of_tx_descriptors;
|
||||||
out32(REG_TXDESCTAIL, tx_current);
|
out32(REG_TXDESCTAIL, tx_current);
|
||||||
|
cli();
|
||||||
enable_irq();
|
enable_irq();
|
||||||
for (;;) {
|
for (;;) {
|
||||||
if (descriptor.status)
|
if (descriptor.status) {
|
||||||
|
sti();
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
current->wait_on(m_wait_queue);
|
current->wait_on(m_wait_queue);
|
||||||
}
|
}
|
||||||
#ifdef E1000_DEBUG
|
#ifdef E1000_DEBUG
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue