These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / net / ethernet / qlogic / qlcnic / qlcnic_sysfs.c
index 59a721f..ccbb045 100644 (file)
@@ -7,10 +7,6 @@
 
 #include <linux/slab.h>
 #include <linux/interrupt.h>
-
-#include "qlcnic.h"
-#include "qlcnic_hw.h"
-
 #include <linux/swab.h>
 #include <linux/dma-mapping.h>
 #include <net/ip.h>
@@ -24,7 +20,8 @@
 #include <linux/hwmon-sysfs.h>
 #endif
 
-#define QLC_STATUS_UNSUPPORTED_CMD     -2
+#include "qlcnic.h"
+#include "qlcnic_hw.h"
 
 int qlcnicvf_config_bridged_mode(struct qlcnic_adapter *adapter, u32 enable)
 {
@@ -166,7 +163,7 @@ static int qlcnic_82xx_store_beacon(struct qlcnic_adapter *adapter,
        u8 b_state, b_rate;
 
        if (len != sizeof(u16))
-               return QL_STATUS_INVALID_PARAM;
+               return -EINVAL;
 
        memcpy(&beacon, buf, sizeof(u16));
        err = qlcnic_validate_beacon(adapter, beacon, &b_state, &b_rate);
@@ -383,17 +380,17 @@ static int validate_pm_config(struct qlcnic_adapter *adapter,
                dest_pci_func = pm_cfg[i].dest_npar;
                src_index = qlcnic_is_valid_nic_func(adapter, src_pci_func);
                if (src_index < 0)
-                       return QL_STATUS_INVALID_PARAM;
+                       return -EINVAL;
 
                dest_index = qlcnic_is_valid_nic_func(adapter, dest_pci_func);
                if (dest_index < 0)
-                       return QL_STATUS_INVALID_PARAM;
+                       return -EINVAL;
 
                s_esw_id = adapter->npars[src_index].phy_port;
                d_esw_id = adapter->npars[dest_index].phy_port;
 
                if (s_esw_id != d_esw_id)
-                       return QL_STATUS_INVALID_PARAM;
+                       return -EINVAL;
        }
 
        return 0;
@@ -414,7 +411,7 @@ static ssize_t qlcnic_sysfs_write_pm_config(struct file *filp,
        count   = size / sizeof(struct qlcnic_pm_func_cfg);
        rem     = size % sizeof(struct qlcnic_pm_func_cfg);
        if (rem)
-               return QL_STATUS_INVALID_PARAM;
+               return -EINVAL;
 
        qlcnic_swap32_buffer((u32 *)buf, size / sizeof(u32));
        pm_cfg = (struct qlcnic_pm_func_cfg *)buf;
@@ -427,7 +424,7 @@ static ssize_t qlcnic_sysfs_write_pm_config(struct file *filp,
                action = !!pm_cfg[i].action;
                index = qlcnic_is_valid_nic_func(adapter, pci_func);
                if (index < 0)
-                       return QL_STATUS_INVALID_PARAM;
+                       return -EINVAL;
 
                id = adapter->npars[index].phy_port;
                ret = qlcnic_config_port_mirroring(adapter, id,
@@ -440,7 +437,7 @@ static ssize_t qlcnic_sysfs_write_pm_config(struct file *filp,
                pci_func = pm_cfg[i].pci_func;
                index = qlcnic_is_valid_nic_func(adapter, pci_func);
                if (index < 0)
-                       return QL_STATUS_INVALID_PARAM;
+                       return -EINVAL;
                id = adapter->npars[index].phy_port;
                adapter->npars[index].enable_pm = !!pm_cfg[i].action;
                adapter->npars[index].dest_npar = id;
@@ -499,11 +496,11 @@ static int validate_esw_config(struct qlcnic_adapter *adapter,
        for (i = 0; i < count; i++) {
                pci_func = esw_cfg[i].pci_func;
                if (pci_func >= ahw->max_vnic_func)
-                       return QL_STATUS_INVALID_PARAM;
+                       return -EINVAL;
 
                if (adapter->ahw->op_mode == QLCNIC_MGMT_FUNC)
                        if (qlcnic_is_valid_nic_func(adapter, pci_func) < 0)
-                               return QL_STATUS_INVALID_PARAM;
+                               return -EINVAL;
 
                switch (esw_cfg[i].op_mode) {
                case QLCNIC_PORT_DEFAULTS:
@@ -517,25 +514,25 @@ static int validate_esw_config(struct qlcnic_adapter *adapter,
 
                        if (ret != QLCNIC_NON_PRIV_FUNC) {
                                if (esw_cfg[i].mac_anti_spoof != 0)
-                                       return QL_STATUS_INVALID_PARAM;
+                                       return -EINVAL;
                                if (esw_cfg[i].mac_override != 1)
-                                       return QL_STATUS_INVALID_PARAM;
+                                       return -EINVAL;
                                if (esw_cfg[i].promisc_mode != 1)
-                                       return QL_STATUS_INVALID_PARAM;
+                                       return -EINVAL;
                        }
                        break;
                case QLCNIC_ADD_VLAN:
                        if (!IS_VALID_VLAN(esw_cfg[i].vlan_id))
-                               return QL_STATUS_INVALID_PARAM;
+                               return -EINVAL;
                        if (!esw_cfg[i].op_type)
-                               return QL_STATUS_INVALID_PARAM;
+                               return -EINVAL;
                        break;
                case QLCNIC_DEL_VLAN:
                        if (!esw_cfg[i].op_type)
-                               return QL_STATUS_INVALID_PARAM;
+                               return -EINVAL;
                        break;
                default:
-                       return QL_STATUS_INVALID_PARAM;
+                       return -EINVAL;
                }
        }
 
@@ -559,7 +556,7 @@ static ssize_t qlcnic_sysfs_write_esw_config(struct file *file,
        count   = size / sizeof(struct qlcnic_esw_func_cfg);
        rem     = size % sizeof(struct qlcnic_esw_func_cfg);
        if (rem)
-               return QL_STATUS_INVALID_PARAM;
+               return -EINVAL;
 
        qlcnic_swap32_buffer((u32 *)buf, size / sizeof(u32));
        esw_cfg = (struct qlcnic_esw_func_cfg *)buf;
@@ -570,7 +567,7 @@ static ssize_t qlcnic_sysfs_write_esw_config(struct file *file,
        for (i = 0; i < count; i++) {
                if (adapter->ahw->op_mode == QLCNIC_MGMT_FUNC)
                        if (qlcnic_config_switch_port(adapter, &esw_cfg[i]))
-                               return QL_STATUS_INVALID_PARAM;
+                               return -EINVAL;
 
                if (adapter->ahw->pci_func != esw_cfg[i].pci_func)
                        continue;
@@ -604,7 +601,7 @@ static ssize_t qlcnic_sysfs_write_esw_config(struct file *file,
                pci_func = esw_cfg[i].pci_func;
                index = qlcnic_is_valid_nic_func(adapter, pci_func);
                if (index < 0)
-                       return QL_STATUS_INVALID_PARAM;
+                       return -EINVAL;
                npar = &adapter->npars[index];
                switch (esw_cfg[i].op_mode) {
                case QLCNIC_PORT_DEFAULTS:
@@ -654,7 +651,7 @@ static ssize_t qlcnic_sysfs_read_esw_config(struct file *file,
 
                esw_cfg[pci_func].pci_func = pci_func;
                if (qlcnic_get_eswitch_port_config(adapter, &esw_cfg[pci_func]))
-                       return QL_STATUS_INVALID_PARAM;
+                       return -EINVAL;
        }
        qlcnic_swap32_buffer((u32 *)buf, size / sizeof(u32));
        return size;
@@ -669,11 +666,11 @@ static int validate_npar_config(struct qlcnic_adapter *adapter,
        for (i = 0; i < count; i++) {
                pci_func = np_cfg[i].pci_func;
                if (qlcnic_is_valid_nic_func(adapter, pci_func) < 0)
-                       return QL_STATUS_INVALID_PARAM;
+                       return -EINVAL;
 
                if (!IS_VALID_BW(np_cfg[i].min_bw) ||
                    !IS_VALID_BW(np_cfg[i].max_bw))
-                       return QL_STATUS_INVALID_PARAM;
+                       return -EINVAL;
        }
        return 0;
 }
@@ -694,7 +691,7 @@ static ssize_t qlcnic_sysfs_write_npar_config(struct file *file,
        count   = size / sizeof(struct qlcnic_npar_func_cfg);
        rem     = size % sizeof(struct qlcnic_npar_func_cfg);
        if (rem)
-               return QL_STATUS_INVALID_PARAM;
+               return -EINVAL;
 
        qlcnic_swap32_buffer((u32 *)buf, size / sizeof(u32));
        np_cfg = (struct qlcnic_npar_func_cfg *)buf;
@@ -717,7 +714,7 @@ static ssize_t qlcnic_sysfs_write_npar_config(struct file *file,
                        return ret;
                index = qlcnic_is_valid_nic_func(adapter, pci_func);
                if (index < 0)
-                       return QL_STATUS_INVALID_PARAM;
+                       return -EINVAL;
                adapter->npars[index].min_bw = nic_info.min_tx_bw;
                adapter->npars[index].max_bw = nic_info.max_tx_bw;
        }
@@ -784,13 +781,13 @@ static ssize_t qlcnic_sysfs_get_port_stats(struct file *file,
        int ret;
 
        if (qlcnic_83xx_check(adapter))
-               return QLC_STATUS_UNSUPPORTED_CMD;
+               return -EOPNOTSUPP;
 
        if (size != sizeof(struct qlcnic_esw_statistics))
-               return QL_STATUS_INVALID_PARAM;
+               return -EINVAL;
 
        if (offset >= adapter->ahw->max_vnic_func)
-               return QL_STATUS_INVALID_PARAM;
+               return -EINVAL;
 
        memset(&port_stats, 0, size);
        ret = qlcnic_get_port_stats(adapter, offset, QLCNIC_QUERY_RX_COUNTER,
@@ -819,13 +816,13 @@ static ssize_t qlcnic_sysfs_get_esw_stats(struct file *file,
        int ret;
 
        if (qlcnic_83xx_check(adapter))
-               return QLC_STATUS_UNSUPPORTED_CMD;
+               return -EOPNOTSUPP;
 
        if (size != sizeof(struct qlcnic_esw_statistics))
-               return QL_STATUS_INVALID_PARAM;
+               return -EINVAL;
 
        if (offset >= QLCNIC_NIU_MAX_XG_PORTS)
-               return QL_STATUS_INVALID_PARAM;
+               return -EINVAL;
 
        memset(&esw_stats, 0, size);
        ret = qlcnic_get_eswitch_stats(adapter, offset, QLCNIC_QUERY_RX_COUNTER,
@@ -853,10 +850,10 @@ static ssize_t qlcnic_sysfs_clear_esw_stats(struct file *file,
        int ret;
 
        if (qlcnic_83xx_check(adapter))
-               return QLC_STATUS_UNSUPPORTED_CMD;
+               return -EOPNOTSUPP;
 
        if (offset >= QLCNIC_NIU_MAX_XG_PORTS)
-               return QL_STATUS_INVALID_PARAM;
+               return -EINVAL;
 
        ret = qlcnic_clear_esw_stats(adapter, QLCNIC_STATS_ESWITCH, offset,
                                     QLCNIC_QUERY_RX_COUNTER);
@@ -883,10 +880,10 @@ static ssize_t qlcnic_sysfs_clear_port_stats(struct file *file,
        int ret;
 
        if (qlcnic_83xx_check(adapter))
-               return QLC_STATUS_UNSUPPORTED_CMD;
+               return -EOPNOTSUPP;
 
        if (offset >= adapter->ahw->max_vnic_func)
-               return QL_STATUS_INVALID_PARAM;
+               return -EINVAL;
 
        ret = qlcnic_clear_esw_stats(adapter, QLCNIC_STATS_PORT, offset,
                                     QLCNIC_QUERY_RX_COUNTER);
@@ -953,9 +950,7 @@ static ssize_t qlcnic_83xx_sysfs_flash_read_handler(struct file *filp,
        struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
 
        if (!size)
-               return QL_STATUS_INVALID_PARAM;
-       if (!buf)
-               return QL_STATUS_INVALID_PARAM;
+               return -EINVAL;
 
        count = size / sizeof(u32);
 
@@ -1132,9 +1127,6 @@ static ssize_t qlcnic_83xx_sysfs_flash_write_handler(struct file *filp,
        struct device *dev = container_of(kobj, struct device, kobj);
        struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
 
-       if (!buf)
-               return QL_STATUS_INVALID_PARAM;
-
        ret = kstrtoul(buf, 16, &data);
 
        switch (data) {