mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
lib/scatterlist: Fix offset type in sg_alloc_table_from_pages
Scatterlist entries have an unsigned int for the offset so correct the sg_alloc_table_from_pages function accordingly. Since these are offsets withing a page, unsigned int is wide enough. Also converts callers which were using unsigned long locally with the lower_32_bits annotation to make it explicitly clear what is happening. v2: Use offset_in_page. (Chris Wilson) Signed-off-by: Tvrtko Ursulin <[email protected]> Cc: Masahiro Yamada <[email protected]> Cc: Pawel Osciak <[email protected]> Cc: Marek Szyprowski <[email protected]> Cc: Kyungmin Park <[email protected]> Cc: Tomasz Stanislawski <[email protected]> Cc: Matt Porter <[email protected]> Cc: Alexandre Bounine <[email protected]> Cc: [email protected] Cc: [email protected] Acked-by: Marek Szyprowski <[email protected]> (v1) Reviewed-by: Chris Wilson <[email protected]> Reviewed-by: Mauro Carvalho Chehab <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
This commit is contained in:
parent
df0700e530
commit
c4860ad605
4 changed files with 6 additions and 6 deletions
|
|
@ -876,10 +876,10 @@ rio_dma_transfer(struct file *filp, u32 transfer_mode,
|
|||
* offset within the internal buffer specified by handle parameter.
|
||||
*/
|
||||
if (xfer->loc_addr) {
|
||||
unsigned long offset;
|
||||
unsigned int offset;
|
||||
long pinned;
|
||||
|
||||
offset = (unsigned long)(uintptr_t)xfer->loc_addr & ~PAGE_MASK;
|
||||
offset = lower_32_bits(offset_in_page(xfer->loc_addr));
|
||||
nr_pages = PAGE_ALIGN(xfer->length + offset) >> PAGE_SHIFT;
|
||||
|
||||
page_list = kmalloc_array(nr_pages,
|
||||
|
|
|
|||
Loading…
Reference in a new issue