aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/kernel/lparcfg.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/powerpc/kernel/lparcfg.c b/arch/powerpc/kernel/lparcfg.c
index 8be687700a50..2cbde865d4f5 100644
--- a/arch/powerpc/kernel/lparcfg.c
+++ b/arch/powerpc/kernel/lparcfg.c
@@ -37,7 +37,7 @@
37#include <asm/prom.h> 37#include <asm/prom.h>
38#include <asm/vdso_datapage.h> 38#include <asm/vdso_datapage.h>
39 39
40#define MODULE_VERS "1.6" 40#define MODULE_VERS "1.7"
41#define MODULE_NAME "lparcfg" 41#define MODULE_NAME "lparcfg"
42 42
43/* #define LPARCFG_DEBUG */ 43/* #define LPARCFG_DEBUG */
@@ -242,7 +242,7 @@ static void parse_system_parameter_string(struct seq_file *m)
242{ 242{
243 int call_status; 243 int call_status;
244 244
245 char *local_buffer = kmalloc(SPLPAR_MAXLENGTH, GFP_KERNEL); 245 unsigned char *local_buffer = kmalloc(SPLPAR_MAXLENGTH, GFP_KERNEL);
246 if (!local_buffer) { 246 if (!local_buffer) {
247 printk(KERN_ERR "%s %s kmalloc failure at line %d \n", 247 printk(KERN_ERR "%s %s kmalloc failure at line %d \n",
248 __FILE__, __FUNCTION__, __LINE__); 248 __FILE__, __FUNCTION__, __LINE__);
@@ -254,7 +254,8 @@ static void parse_system_parameter_string(struct seq_file *m)
254 call_status = rtas_call(rtas_token("ibm,get-system-parameter"), 3, 1, 254 call_status = rtas_call(rtas_token("ibm,get-system-parameter"), 3, 1,
255 NULL, 255 NULL,
256 SPLPAR_CHARACTERISTICS_TOKEN, 256 SPLPAR_CHARACTERISTICS_TOKEN,
257 __pa(rtas_data_buf)); 257 __pa(rtas_data_buf),
258 RTAS_DATA_BUF_SIZE);
258 memcpy(local_buffer, rtas_data_buf, SPLPAR_MAXLENGTH); 259 memcpy(local_buffer, rtas_data_buf, SPLPAR_MAXLENGTH);
259 spin_unlock(&rtas_data_buf_lock); 260 spin_unlock(&rtas_data_buf_lock);
260 261
@@ -275,7 +276,7 @@ static void parse_system_parameter_string(struct seq_file *m)
275#ifdef LPARCFG_DEBUG 276#ifdef LPARCFG_DEBUG
276 printk(KERN_INFO "success calling get-system-parameter \n"); 277 printk(KERN_INFO "success calling get-system-parameter \n");
277#endif 278#endif
278 splpar_strlen = local_buffer[0] * 16 + local_buffer[1]; 279 splpar_strlen = local_buffer[0] * 256 + local_buffer[1];
279 local_buffer += 2; /* step over strlen value */ 280 local_buffer += 2; /* step over strlen value */
280 281
281 memset(workbuffer, 0, SPLPAR_MAXLENGTH); 282 memset(workbuffer, 0, SPLPAR_MAXLENGTH);