enic: fix return value in _vnic_dev_cmd
[cascardo/linux.git] / drivers / net / ethernet / cisco / enic / vnic_dev.c
index e86a45c..263081b 100644 (file)
@@ -312,12 +312,12 @@ static int _vnic_dev_cmd(struct vnic_dev *vdev, enum vnic_devcmd_cmd cmd,
                                err = (int)readq(&devcmd->args[0]);
                                if (err == ERR_EINVAL &&
                                    cmd == CMD_CAPABILITY)
-                                       return err;
+                                       return -err;
                                if (err != ERR_ECMDUNKNOWN ||
                                    cmd != CMD_CAPABILITY)
                                        pr_err("Error %d devcmd %d\n",
                                                err, _CMD_N(cmd));
-                               return err;
+                               return -err;
                        }
 
                        if (_CMD_DIR(cmd) & _CMD_DIR_READ) {