[S390] hypfs fixes
authorChristian Borntraeger <cborntra@de.ibm.com>
Fri, 15 Dec 2006 16:18:10 +0000 (17:18 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 15 Dec 2006 16:18:10 +0000 (17:18 +0100)
Correct typo to make hypfs work on systems that support only diag204
subcode 4 and fix error handling in hypfs_diag_init.

Signed-off-by: Christian Borntraeger <cborntra@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/hypfs/hypfs_diag.c

index 443fa377d9ff893efbd09a6f7214dbbcebd53f0a..2782cf9da5b47b2057d20314e4af604183c01196 100644 (file)
@@ -379,7 +379,7 @@ static void *diag204_alloc_vbuf(int pages)
 static void *diag204_alloc_rbuf(void)
 {
        diag204_buf = (void*)__get_free_pages(GFP_KERNEL,0);
-       if (diag204_buf)
+       if (!diag204_buf)
                return ERR_PTR(-ENOMEM);
        diag204_buf_pages = 1;
        return diag204_buf;
@@ -521,7 +521,7 @@ __init int hypfs_diag_init(void)
        }
        rc = diag224_get_name_table();
        if (rc) {
-               diag224_delete_name_table();
+               diag204_free_buffer();
                printk(KERN_ERR "hypfs: could not get name table.\n");
        }
        return rc;