From c09c9ae0a8de89cbaba572b14f06f925d7cfa011 Mon Sep 17 00:00:00 2001 From: Mark Allyn Date: Sun, 10 Apr 2011 17:03:28 -0700 Subject: [PATCH] staging: sep: resolve issue with false zero length of page Signed-off-by: Mark Allyn Signed-off-by: Greg Kroah-Hartman --- drivers/staging/sep/sep_driver.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/staging/sep/sep_driver.c b/drivers/staging/sep/sep_driver.c index 890eede5e3f9..52342c17eadd 100644 --- a/drivers/staging/sep/sep_driver.c +++ b/drivers/staging/sep/sep_driver.c @@ -1095,13 +1095,16 @@ static int sep_lock_user_pages(struct sep_device *sep, if (num_pages > 1) { lli_array[num_pages - 1].block_size = (app_virt_addr + data_size) & (~PAGE_MASK); + if (lli_array[num_pages - 1].block_size == 0) + lli_array[num_pages - 1].block_size = PAGE_SIZE; dev_warn(&sep->pdev->dev, - "lli_array[%x].bus_address is %08lx, lli_array[%x].block_size is %x\n", + "lli_array[%x].bus_address is " + "%08lx, lli_array[%x].block_size is %x\n", num_pages - 1, - (unsigned long)lli_array[count].bus_address, + (unsigned long)lli_array[num_pages -1].bus_address, num_pages - 1, - lli_array[count].block_size); + lli_array[num_pages -1].block_size); } /* Set output params according to the in_out flag */