diff --git a/ChangeLog b/ChangeLog index aae30b538..1f575d15b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-01-14 Seth Goldberg + + * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as + a workaround for intel problem. + 2012-01-23 Paulo de Rezende Pinatti 2012-01-23 Vladimir Serbinenko 2012-01-23 pfsmorigo diff --git a/grub-core/net/drivers/i386/pc/pxe.c b/grub-core/net/drivers/i386/pc/pxe.c index 3343533ef..34e43f585 100644 --- a/grub-core/net/drivers/i386/pc/pxe.c +++ b/grub-core/net/drivers/i386/pc/pxe.c @@ -179,7 +179,11 @@ grub_pxe_recv (const struct grub_net_card *dev __attribute__ ((unused))) grub_memset (isr, 0, sizeof (*isr)); isr->func_flag = GRUB_PXE_ISR_IN_START; grub_pxe_call (GRUB_PXENV_UNDI_ISR, isr, pxe_rm_entry); - if (isr->status || isr->func_flag != GRUB_PXE_ISR_OUT_OURS) + /* Normally according to the specification we should also check + that isr->func_flag != GRUB_PXE_ISR_OUT_OURS but unfortunately it + breaks on intel cards. + */ + if (isr->status) { in_progress = 0; return NULL;