u16 dummy16 = 0;
 
        cb0 = (void *)get_zeroed_page(GFP_KERNEL);
-       if (!cb0) {
-               ret = -ENOMEM;
-               goto out;
-       }
+       if (!cb0)
+               return -ENOMEM;
 
        for (i = 0; i < (port->num_def_qps); i++) {
                struct ehea_port_res *pr =  &port->port_res[i];
                                            cb0);
                if (hret != H_SUCCESS) {
                        netdev_err(dev, "query_ehea_qp failed (1)\n");
+                       ret = -EFAULT;
                        goto out;
                }
 
                                             &dummy64, &dummy16, &dummy16);
                if (hret != H_SUCCESS) {
                        netdev_err(dev, "modify_ehea_qp failed (1)\n");
+                       ret = -EFAULT;
                        goto out;
                }
 
                                            cb0);
                if (hret != H_SUCCESS) {
                        netdev_err(dev, "query_ehea_qp failed (2)\n");
+                       ret = -EFAULT;
                        goto out;
                }