aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/cisco/enic/enic_res.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet/cisco/enic/enic_res.c')
-rw-r--r--drivers/net/ethernet/cisco/enic/enic_res.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/ethernet/cisco/enic/enic_res.c b/drivers/net/ethernet/cisco/enic/enic_res.c
index 9c96911fb2c8..40b20817ddd5 100644
--- a/drivers/net/ethernet/cisco/enic/enic_res.c
+++ b/drivers/net/ethernet/cisco/enic/enic_res.c
@@ -149,6 +149,7 @@ int enic_set_nic_cfg(struct enic *enic, u8 rss_default_cpu, u8 rss_hash_type,
149 u8 rss_hash_bits, u8 rss_base_cpu, u8 rss_enable, u8 tso_ipid_split_en, 149 u8 rss_hash_bits, u8 rss_base_cpu, u8 rss_enable, u8 tso_ipid_split_en,
150 u8 ig_vlan_strip_en) 150 u8 ig_vlan_strip_en)
151{ 151{
152 enum vnic_devcmd_cmd cmd = CMD_NIC_CFG;
152 u64 a0, a1; 153 u64 a0, a1;
153 u32 nic_cfg; 154 u32 nic_cfg;
154 int wait = 1000; 155 int wait = 1000;
@@ -160,7 +161,11 @@ int enic_set_nic_cfg(struct enic *enic, u8 rss_default_cpu, u8 rss_hash_type,
160 a0 = nic_cfg; 161 a0 = nic_cfg;
161 a1 = 0; 162 a1 = 0;
162 163
163 return vnic_dev_cmd(enic->vdev, CMD_NIC_CFG, &a0, &a1, wait); 164 if (rss_hash_type & (NIC_CFG_RSS_HASH_TYPE_UDP_IPV4 |
165 NIC_CFG_RSS_HASH_TYPE_UDP_IPV6))
166 cmd = CMD_NIC_CFG_CHK;
167
168 return vnic_dev_cmd(enic->vdev, cmd, &a0, &a1, wait);
164} 169}
165 170
166int enic_set_rss_key(struct enic *enic, dma_addr_t key_pa, u64 len) 171int enic_set_rss_key(struct enic *enic, dma_addr_t key_pa, u64 len)