From c672e81012bb6b336e84a0559ef6e4e080dc23d0 Mon Sep 17 00:00:00 2001 From: Bart Oldeman Date: Sat, 19 Jul 2003 15:06:55 +0000 Subject: [PATCH] Correct problem with multiple UMBs git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@641 6ac86273-5f31-0410-b378-82cca8765d1b --- kernel/config.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/kernel/config.c b/kernel/config.c index edc396c..fcb7e44 100644 --- a/kernel/config.c +++ b/kernel/config.c @@ -481,11 +481,15 @@ STATIC void umb_init(void) mumcb_init(umb_seg + umb_size - 1, umb_next - umb_seg - umb_size); } } + else /* umb_seg >= umb_max */ + { + umb_prev = umb_next; + } if (umb_seg - umb_prev - 1 == 0) /* should the UMB driver return adjacent memory in several pieces */ - para2far(umb_prev)->m_size += umb_size; + para2far(prev_mcb(umb_prev, LoL->uppermem_root))->m_size += umb_size; else { /* create link mcb (below) */