diff options
| -rw-r--r-- | arch/powerpc/kernel/lparcfg.c | 9 |
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); |
