aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGene Cumm <gene.cumm@gmail.com>2014-07-27 13:19:37 -0400
committerGene Cumm <gene.cumm@gmail.com>2014-08-02 08:30:53 -0400
commit1ada8a37ae30c2e4283c3e65444ccd72cf8a2e85 (patch)
tree95e0349ea1c53970afc3ba61e2318e50fd1565f7
parenta7f5892c4d85f3685708b8efb237c9c73a8b1ddf (diff)
downloadsyslinux-1ada8a37ae30c2e4283c3e65444ccd72cf8a2e85.tar.gz
syslinux-1ada8a37ae30c2e4283c3e65444ccd72cf8a2e85.tar.xz
syslinux-1ada8a37ae30c2e4283c3e65444ccd72cf8a2e85.zip
PXE ISR: Force polling on select hardware #3 WORKAROUND
Like 2fe3a7bd, certain Dell machines (Latitude E6510) state interrupts should work but effectively don't. Force polling. Reported-by: Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
-rw-r--r--core/fs/pxe/isr.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/core/fs/pxe/isr.c b/core/fs/pxe/isr.c
index ddaadf90..7da0cc73 100644
--- a/core/fs/pxe/isr.c
+++ b/core/fs/pxe/isr.c
@@ -267,6 +267,7 @@ void pxe_start_isr(void)
int hwad = ((int)MAC[0] << 16) + ((int)MAC[1] << 8) + MAC[2];
dprintf("pxe_start_isr: got %06x %04x\n", hwad, pxe_undi_iface.ServiceFlags);
if ((hwad == 0x000023ae) && (pxe_undi_iface.ServiceFlags == 0xdc1b) ||
+ (hwad == 0x005c260a) && (pxe_undi_iface.ServiceFlags == 0xdc1b) ||
(hwad == 0x00180373) && (pxe_undi_iface.ServiceFlags == 0xdc1b)) {
asm volatile("orb $1,%0" : "+m" (pxe_need_poll));
dprintf("pxe_start_isr: forcing pxe_need_poll by model\n");