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: Govindarajulu Varadarajan <_govind@gmx.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
e0f31d8498
Коммит
10cc88446c
|
@ -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) {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче