enic: fix return value in _vnic_dev_cmd
[cascardo/linux.git] / drivers / net / ethernet / cisco / enic / vnic_dev.c
index 69dd925..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) {
@@ -657,7 +657,7 @@ int vnic_dev_packet_filter(struct vnic_dev *vdev, int directed, int multicast,
        return err;
 }
 
-int vnic_dev_add_addr(struct vnic_dev *vdev, u8 *addr)
+int vnic_dev_add_addr(struct vnic_dev *vdev, const u8 *addr)
 {
        u64 a0 = 0, a1 = 0;
        int wait = 1000;
@@ -674,7 +674,7 @@ int vnic_dev_add_addr(struct vnic_dev *vdev, u8 *addr)
        return err;
 }
 
-int vnic_dev_del_addr(struct vnic_dev *vdev, u8 *addr)
+int vnic_dev_del_addr(struct vnic_dev *vdev, const u8 *addr)
 {
        u64 a0 = 0, a1 = 0;
        int wait = 1000;