From 55a5f66c21208a423dcdb5225f5993e0f32b65d9 Mon Sep 17 00:00:00 2001 From: Marcus Overhagen Date: Sat, 27 Jan 2007 22:06:35 +0000 Subject: [PATCH] Made the "get_memory_map failed" error panic the kernel, to avoid random crashes at a later time. I observed one error at 8033a802, but the address was allocated by the driver and should have been fully locked. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19988 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/drivers/network/ipro1000/if_em_osdep.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/add-ons/kernel/drivers/network/ipro1000/if_em_osdep.h b/src/add-ons/kernel/drivers/network/ipro1000/if_em_osdep.h index 94d3b87905..23c5b47cda 100644 --- a/src/add-ons/kernel/drivers/network/ipro1000/if_em_osdep.h +++ b/src/add-ons/kernel/drivers/network/ipro1000/if_em_osdep.h @@ -126,10 +126,10 @@ void contigfree(void *p, int p1, int p2); static inline unsigned long vtophys(unsigned long virtual_addr) { physical_entry pe; - if (get_memory_map((void *)virtual_addr, 2048, &pe, 1) < 0) { - ERROROUT1("get_memory_map failed for %p\n", (void *)virtual_addr); - return 0; - } + status_t err; + err = get_memory_map((void *)virtual_addr, 2048, &pe, 1); + if (err < 0) + panic("ipro1000: get_memory_map failed for %p, error %08lx\n", (void *)virtual_addr, err); return (unsigned long) pe.address; }