[PATCH V2 linux-next] staging: media: atomisp: kmap() can't fail

From: Fabian Frederick
Date: Wed Apr 26 2017 - 14:45:00 EST


There's no need to check kmap() return value because it won't fail.
If it's highmem mapping, it will receive virtual address
or a new one; if it's lowmem, all kernel pages are already being mapped.

(Thanks to Jan Kara for explanations)

Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
---
V2: Verbose description (suggested by Greg Kroah-Hartman)

drivers/staging/media/atomisp/pci/atomisp2/hmm/hmm.c | 19 ++-----------------
1 file changed, 2 insertions(+), 17 deletions(-)

diff --git a/drivers/staging/media/atomisp/pci/atomisp2/hmm/hmm.c b/drivers/staging/media/atomisp/pci/atomisp2/hmm/hmm.c
index 151abf0..7d2f8d9 100644
--- a/drivers/staging/media/atomisp/pci/atomisp2/hmm/hmm.c
+++ b/drivers/staging/media/atomisp/pci/atomisp2/hmm/hmm.c
@@ -328,15 +328,7 @@ static int load_and_flush_by_kmap(ia_css_ptr virt, void *data, unsigned int byte
idx = (virt - bo->start) >> PAGE_SHIFT;
offset = (virt - bo->start) - (idx << PAGE_SHIFT);

- src = (char *)kmap(bo->page_obj[idx].page);
- if (!src) {
- dev_err(atomisp_dev,
- "kmap buffer object page failed: "
- "pg_idx = %d\n", idx);
- return -EINVAL;
- }
-
- src += offset;
+ src = (char *)kmap(bo->page_obj[idx].page) + offset;

if ((bytes + offset) >= PAGE_SIZE) {
len = PAGE_SIZE - offset;
@@ -533,14 +525,7 @@ int hmm_set(ia_css_ptr virt, int c, unsigned int bytes)
idx = (virt - bo->start) >> PAGE_SHIFT;
offset = (virt - bo->start) - (idx << PAGE_SHIFT);

- des = (char *)kmap(bo->page_obj[idx].page);
- if (!des) {
- dev_err(atomisp_dev,
- "kmap buffer object page failed: "
- "pg_idx = %d\n", idx);
- return -EINVAL;
- }
- des += offset;
+ des = (char *)kmap(bo->page_obj[idx].page) + offset;

if ((bytes + offset) >= PAGE_SIZE) {
len = PAGE_SIZE - offset;
--
2.9.3