mirror of https://github.com/ipxe/ipxe.git
[undi] Assume that interrupts are not supported if IRQ=0
Some PXE stacks (notably old Etherboot/gPXE stacks) will claim to use the timer interrupt, rather than reporting that interrupts are not supported. Since using the timer interrupt is equivalent to polling anyway, we may as well genuinely poll these stacks. Signed-off-by: Michael Brown <mcb30@ipxe.org>pull/5/head
parent
bd9ff16c21
commit
8e984f35e0
|
@ -558,8 +558,10 @@ int undinet_probe ( struct undi_device *undi ) {
|
|||
DBGC ( undinic, "UNDINIC %p has type %s, speed %d, flags %08x\n",
|
||||
undinic, undi_iface.IfaceType, undi_iface.LinkSpeed,
|
||||
undi_iface.ServiceFlags );
|
||||
if ( undi_iface.ServiceFlags & SUPPORTED_IRQ )
|
||||
if ( ( undi_iface.ServiceFlags & SUPPORTED_IRQ ) &&
|
||||
( undinic->irq != 0 ) ) {
|
||||
undinic->irq_supported = 1;
|
||||
}
|
||||
DBGC ( undinic, "UNDINIC %p using %s mode\n", undinic,
|
||||
( undinic->irq_supported ? "interrupt" : "polling" ) );
|
||||
if ( strncmp ( ( ( char * ) undi_iface.IfaceType ), "Etherboot",
|
||||
|
|
Loading…
Reference in New Issue