OSDN Git Service

agp/ati: Return error from ati_create_page_map()
authorThomas Zimmermann <tzimmermann@suse.de>
Wed, 1 Dec 2021 11:46:42 +0000 (12:46 +0100)
committerThomas Zimmermann <tzimmermann@suse.de>
Fri, 14 Jan 2022 14:15:45 +0000 (15:15 +0100)
Fix the compiler warning

  drivers/char/agp/ati-agp.c: In function 'ati_create_page_map':
  drivers/char/agp/ati-agp.c:58:16: warning: variable 'err' set but not used [-Wunused-but-set-variable]
    58 |         int i, err = 0;

by returing the error to the caller.

v2:
* free page in error branch (Helge)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Helge Deller <deller@gmx.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20211201114645.15384-5-tzimmermann@suse.de
drivers/char/agp/ati-agp.c

index 857b371..6f55304 100644 (file)
@@ -55,7 +55,7 @@ static struct _ati_generic_private {
 
 static int ati_create_page_map(struct ati_page_map *page_map)
 {
-       int i, err = 0;
+       int i, err;
 
        page_map->real = (unsigned long *) __get_free_page(GFP_KERNEL);
        if (page_map->real == NULL)
@@ -63,6 +63,10 @@ static int ati_create_page_map(struct ati_page_map *page_map)
 
        set_memory_uc((unsigned long)page_map->real, 1);
        err = map_page_into_agp(virt_to_page(page_map->real));
+       if (err) {
+               free_page((unsigned long)page_map->real);
+               return err;
+       }
        page_map->remapped = page_map->real;
 
        for (i = 0; i < PAGE_SIZE / sizeof(unsigned long); i++) {