Re: [PATCH] Re: 2.5.33 PNPBIOS does not compile

From: Ray Lee (ray-lk@madrabbit.org)
Date: Sun Sep 01 2002 - 16:35:07 EST


On Sun, 2002-09-01 at 13:17, Ray Lee wrote:
> These look very wrong. They're not wrapped in the standard do {...}
> while(0) protection, and used inside bare if statements below. Can
> someone who knows the code verify that these should be wrapped?

Back from running errands, and took a longer look at the code. I don't
know if the current form is harmless or not, but it is definitely
incorrect. The patch below corrects the compile failure, as well as the
multi-statement macro defines used in bare if statements; please apply.

Ray

diff -urX ../dontdiff ../linux-2.5.33/drivers/pnp/pnpbios_core.c ./drivers/pnp/pnpbios_core.c
--- ../linux-2.5.33/drivers/pnp/pnpbios_core.c 2002-09-01 09:38:10.000000000 -0700
+++ ./drivers/pnp/pnpbios_core.c 2002-09-01 14:27:55.000000000 -0700
@@ -126,12 +126,16 @@
 );
 
 #define Q_SET_SEL(cpu, selname, address, size) \
+do { \
 set_base(cpu_gdt_table[cpu][(selname) >> 3], __va((u32)(address))); \
-set_limit(&cpu_gdt_table[cpu][(selname) >> 3], size)
+set_limit(cpu_gdt_table[cpu][(selname) >> 3], size); \
+} while(0)
 
 #define Q2_SET_SEL(cpu, selname, address, size) \
+do { \
 set_base(cpu_gdt_table[cpu][(selname) >> 3], (u32)(address)); \
-set_limit(&cpu_gdt_table[cpu][(selname) >> 3], size)
+set_limit(cpu_gdt_table[cpu][(selname) >> 3], size); \
+} while(0)
 
 /*
  * At some point we want to use this stack frame pointer to unwind

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Sep 07 2002 - 22:00:14 EST