All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V2 linux-next] staging: media: atomisp: kmap() can't fail
@ 2017-04-26 18:44 Fabian Frederick
  2017-04-26 23:02 ` Alan Cox
  0 siblings, 1 reply; 2+ messages in thread
From: Fabian Frederick @ 2017-04-26 18:44 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Greg Kroah-Hartman, Alan Cox
  Cc: Jan Kara, linux-kernel, fabf

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@skynet.be>
---
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

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH V2 linux-next] staging: media: atomisp: kmap() can't fail
  2017-04-26 18:44 [PATCH V2 linux-next] staging: media: atomisp: kmap() can't fail Fabian Frederick
@ 2017-04-26 23:02 ` Alan Cox
  0 siblings, 0 replies; 2+ messages in thread
From: Alan Cox @ 2017-04-26 23:02 UTC (permalink / raw)
  To: Fabian Frederick, Mauro Carvalho Chehab, Greg Kroah-Hartman
  Cc: Jan Kara, linux-kernel

On Wed, 2017-04-26 at 20:44 +0200, Fabian Frederick wrote:
> 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)
> 

Thanks - queued.

Alan

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-04-26 23:02 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-26 18:44 [PATCH V2 linux-next] staging: media: atomisp: kmap() can't fail Fabian Frederick
2017-04-26 23:02 ` Alan Cox

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.