diff options
-rw-r--r-- | arch/x86/kernel/ds_selftest.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/kernel/ds_selftest.c b/arch/x86/kernel/ds_selftest.c index 5f104a0ace66..6bc7c199ab99 100644 --- a/arch/x86/kernel/ds_selftest.c +++ b/arch/x86/kernel/ds_selftest.c | |||
@@ -323,13 +323,15 @@ static int ds_selftest_bts_bad_request_task(void *buffer) | |||
323 | int ds_selftest_bts(void) | 323 | int ds_selftest_bts(void) |
324 | { | 324 | { |
325 | struct ds_selftest_bts_conf conf; | 325 | struct ds_selftest_bts_conf conf; |
326 | unsigned char buffer[BUFFER_SIZE]; | 326 | unsigned char buffer[BUFFER_SIZE], *small_buffer; |
327 | unsigned long irq; | 327 | unsigned long irq; |
328 | int cpu; | 328 | int cpu; |
329 | 329 | ||
330 | printk(KERN_INFO "[ds] bts selftest..."); | 330 | printk(KERN_INFO "[ds] bts selftest..."); |
331 | conf.error = 0; | 331 | conf.error = 0; |
332 | 332 | ||
333 | small_buffer = (unsigned char *)ALIGN((unsigned long)buffer, 8) + 8; | ||
334 | |||
333 | get_online_cpus(); | 335 | get_online_cpus(); |
334 | for_each_online_cpu(cpu) { | 336 | for_each_online_cpu(cpu) { |
335 | conf.suspend = ds_suspend_bts_wrap; | 337 | conf.suspend = ds_suspend_bts_wrap; |
@@ -381,7 +383,7 @@ int ds_selftest_bts(void) | |||
381 | conf.suspend = ds_suspend_bts_noirq; | 383 | conf.suspend = ds_suspend_bts_noirq; |
382 | conf.resume = ds_resume_bts_noirq; | 384 | conf.resume = ds_resume_bts_noirq; |
383 | conf.tracer = | 385 | conf.tracer = |
384 | ds_request_bts_task(current, buffer, SMALL_BUFFER_SIZE, | 386 | ds_request_bts_task(current, small_buffer, SMALL_BUFFER_SIZE, |
385 | NULL, (size_t)-1, BTS_KERNEL); | 387 | NULL, (size_t)-1, BTS_KERNEL); |
386 | local_irq_save(irq); | 388 | local_irq_save(irq); |
387 | ds_selftest_bts_cpu(&conf); | 389 | ds_selftest_bts_cpu(&conf); |