Commit 10cc8844 authored by Govindarajulu Varadarajan's avatar Govindarajulu Varadarajan Committed by David S. Miller

enic: fix return value in _vnic_dev_cmd

Hardware (in readq(&devcmd->args[0])) returns positive number in case of error.
But _vnic_dev_cmd should return a negative value in case of error.
Signed-off-by: default avatarGovindarajulu Varadarajan <_govind@gmx.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e0f31d84
...@@ -312,12 +312,12 @@ static int _vnic_dev_cmd(struct vnic_dev *vdev, enum vnic_devcmd_cmd cmd, ...@@ -312,12 +312,12 @@ static int _vnic_dev_cmd(struct vnic_dev *vdev, enum vnic_devcmd_cmd cmd,
err = (int)readq(&devcmd->args[0]); err = (int)readq(&devcmd->args[0]);
if (err == ERR_EINVAL && if (err == ERR_EINVAL &&
cmd == CMD_CAPABILITY) cmd == CMD_CAPABILITY)
return err; return -err;
if (err != ERR_ECMDUNKNOWN || if (err != ERR_ECMDUNKNOWN ||
cmd != CMD_CAPABILITY) cmd != CMD_CAPABILITY)
pr_err("Error %d devcmd %d\n", pr_err("Error %d devcmd %d\n",
err, _CMD_N(cmd)); err, _CMD_N(cmd));
return err; return -err;
} }
if (_CMD_DIR(cmd) & _CMD_DIR_READ) { if (_CMD_DIR(cmd) & _CMD_DIR_READ) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment