Skip to content

Commit d149763

Browse files
NetanelBelgazaldavem330
authored andcommitted
net: ena: change return value for unsupported features unsupported return value
return -EOPNOTSUPP instead of -EPERM. Signed-off-by: Netanel Belgazal <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 926f38e commit d149763

File tree

3 files changed

+24
-28
lines changed

3 files changed

+24
-28
lines changed

drivers/net/ethernet/amazon/ena/ena_com.c

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -494,7 +494,7 @@ static int ena_com_comp_status_to_errno(u8 comp_status)
494494
case ENA_ADMIN_RESOURCE_ALLOCATION_FAILURE:
495495
return -ENOMEM;
496496
case ENA_ADMIN_UNSUPPORTED_OPCODE:
497-
return -EPERM;
497+
return -EOPNOTSUPP;
498498
case ENA_ADMIN_BAD_OPCODE:
499499
case ENA_ADMIN_MALFORMED_REQUEST:
500500
case ENA_ADMIN_ILLEGAL_PARAMETER:
@@ -786,7 +786,7 @@ static int ena_com_get_feature_ex(struct ena_com_dev *ena_dev,
786786

787787
if (!ena_com_check_supported_feature_id(ena_dev, feature_id)) {
788788
pr_debug("Feature %d isn't supported\n", feature_id);
789-
return -EPERM;
789+
return -EOPNOTSUPP;
790790
}
791791

792792
memset(&get_cmd, 0x0, sizeof(get_cmd));
@@ -1324,7 +1324,7 @@ int ena_com_set_aenq_config(struct ena_com_dev *ena_dev, u32 groups_flag)
13241324
if ((get_resp.u.aenq.supported_groups & groups_flag) != groups_flag) {
13251325
pr_warn("Trying to set unsupported aenq events. supported flag: %x asked flag: %x\n",
13261326
get_resp.u.aenq.supported_groups, groups_flag);
1327-
return -EPERM;
1327+
return -EOPNOTSUPP;
13281328
}
13291329

13301330
memset(&cmd, 0x0, sizeof(cmd));
@@ -1909,7 +1909,7 @@ int ena_com_set_dev_mtu(struct ena_com_dev *ena_dev, int mtu)
19091909

19101910
if (!ena_com_check_supported_feature_id(ena_dev, ENA_ADMIN_MTU)) {
19111911
pr_debug("Feature %d isn't supported\n", ENA_ADMIN_MTU);
1912-
return -EPERM;
1912+
return -EOPNOTSUPP;
19131913
}
19141914

19151915
memset(&cmd, 0x0, sizeof(cmd));
@@ -1963,7 +1963,7 @@ int ena_com_set_hash_function(struct ena_com_dev *ena_dev)
19631963
ENA_ADMIN_RSS_HASH_FUNCTION)) {
19641964
pr_debug("Feature %d isn't supported\n",
19651965
ENA_ADMIN_RSS_HASH_FUNCTION);
1966-
return -EPERM;
1966+
return -EOPNOTSUPP;
19671967
}
19681968

19691969
/* Validate hash function is supported */
@@ -1975,7 +1975,7 @@ int ena_com_set_hash_function(struct ena_com_dev *ena_dev)
19751975
if (get_resp.u.flow_hash_func.supported_func & (1 << rss->hash_func)) {
19761976
pr_err("Func hash %d isn't supported by device, abort\n",
19771977
rss->hash_func);
1978-
return -EPERM;
1978+
return -EOPNOTSUPP;
19791979
}
19801980

19811981
memset(&cmd, 0x0, sizeof(cmd));
@@ -2034,7 +2034,7 @@ int ena_com_fill_hash_function(struct ena_com_dev *ena_dev,
20342034

20352035
if (!((1 << func) & get_resp.u.flow_hash_func.supported_func)) {
20362036
pr_err("Flow hash function %d isn't supported\n", func);
2037-
return -EPERM;
2037+
return -EOPNOTSUPP;
20382038
}
20392039

20402040
switch (func) {
@@ -2127,7 +2127,7 @@ int ena_com_set_hash_ctrl(struct ena_com_dev *ena_dev)
21272127
ENA_ADMIN_RSS_HASH_INPUT)) {
21282128
pr_debug("Feature %d isn't supported\n",
21292129
ENA_ADMIN_RSS_HASH_INPUT);
2130-
return -EPERM;
2130+
return -EOPNOTSUPP;
21312131
}
21322132

21332133
memset(&cmd, 0x0, sizeof(cmd));
@@ -2208,7 +2208,7 @@ int ena_com_set_default_hash_ctrl(struct ena_com_dev *ena_dev)
22082208
pr_err("hash control doesn't support all the desire configuration. proto %x supported %x selected %x\n",
22092209
i, hash_ctrl->supported_fields[i].fields,
22102210
hash_ctrl->selected_fields[i].fields);
2211-
return -EPERM;
2211+
return -EOPNOTSUPP;
22122212
}
22132213
}
22142214

@@ -2286,7 +2286,7 @@ int ena_com_indirect_table_set(struct ena_com_dev *ena_dev)
22862286
ena_dev, ENA_ADMIN_RSS_REDIRECTION_TABLE_CONFIG)) {
22872287
pr_debug("Feature %d isn't supported\n",
22882288
ENA_ADMIN_RSS_REDIRECTION_TABLE_CONFIG);
2289-
return -EPERM;
2289+
return -EOPNOTSUPP;
22902290
}
22912291

22922292
ret = ena_com_ind_tbl_convert_to_device(ena_dev);
@@ -2553,7 +2553,7 @@ int ena_com_init_interrupt_moderation(struct ena_com_dev *ena_dev)
25532553
ENA_ADMIN_INTERRUPT_MODERATION);
25542554

25552555
if (rc) {
2556-
if (rc == -EPERM) {
2556+
if (rc == -EOPNOTSUPP) {
25572557
pr_debug("Feature %d isn't supported\n",
25582558
ENA_ADMIN_INTERRUPT_MODERATION);
25592559
rc = 0;

drivers/net/ethernet/amazon/ena/ena_ethtool.c

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -539,12 +539,8 @@ static int ena_get_rss_hash(struct ena_com_dev *ena_dev,
539539
}
540540

541541
rc = ena_com_get_hash_ctrl(ena_dev, proto, &hash_fields);
542-
if (rc) {
543-
/* If device don't have permission, return unsupported */
544-
if (rc == -EPERM)
545-
rc = -EOPNOTSUPP;
542+
if (rc)
546543
return rc;
547-
}
548544

549545
cmd->data = ena_flow_hash_to_flow_type(hash_fields);
550546

@@ -612,7 +608,7 @@ static int ena_set_rxnfc(struct net_device *netdev, struct ethtool_rxnfc *info)
612608
rc = -EOPNOTSUPP;
613609
}
614610

615-
return (rc == -EPERM) ? -EOPNOTSUPP : rc;
611+
return rc;
616612
}
617613

618614
static int ena_get_rxnfc(struct net_device *netdev, struct ethtool_rxnfc *info,
@@ -638,7 +634,7 @@ static int ena_get_rxnfc(struct net_device *netdev, struct ethtool_rxnfc *info,
638634
rc = -EOPNOTSUPP;
639635
}
640636

641-
return (rc == -EPERM) ? -EOPNOTSUPP : rc;
637+
return rc;
642638
}
643639

644640
static u32 ena_get_rxfh_indir_size(struct net_device *netdev)

drivers/net/ethernet/amazon/ena/ena_netdev.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1446,7 +1446,7 @@ static int ena_rss_configure(struct ena_adapter *adapter)
14461446
/* In case the RSS table wasn't initialized by probe */
14471447
if (!ena_dev->rss.tbl_log_size) {
14481448
rc = ena_rss_init_default(adapter);
1449-
if (rc && (rc != -EPERM)) {
1449+
if (rc && (rc != -EOPNOTSUPP)) {
14501450
netif_err(adapter, ifup, adapter->netdev,
14511451
"Failed to init RSS rc: %d\n", rc);
14521452
return rc;
@@ -1455,17 +1455,17 @@ static int ena_rss_configure(struct ena_adapter *adapter)
14551455

14561456
/* Set indirect table */
14571457
rc = ena_com_indirect_table_set(ena_dev);
1458-
if (unlikely(rc && rc != -EPERM))
1458+
if (unlikely(rc && rc != -EOPNOTSUPP))
14591459
return rc;
14601460

14611461
/* Configure hash function (if supported) */
14621462
rc = ena_com_set_hash_function(ena_dev);
1463-
if (unlikely(rc && (rc != -EPERM)))
1463+
if (unlikely(rc && (rc != -EOPNOTSUPP)))
14641464
return rc;
14651465

14661466
/* Configure hash inputs (if supported) */
14671467
rc = ena_com_set_hash_ctrl(ena_dev);
1468-
if (unlikely(rc && (rc != -EPERM)))
1468+
if (unlikely(rc && (rc != -EOPNOTSUPP)))
14691469
return rc;
14701470

14711471
return 0;
@@ -2144,7 +2144,7 @@ static void ena_config_host_info(struct ena_com_dev *ena_dev)
21442144

21452145
rc = ena_com_set_host_attributes(ena_dev);
21462146
if (rc) {
2147-
if (rc == -EPERM)
2147+
if (rc == -EOPNOTSUPP)
21482148
pr_warn("Cannot set host attributes\n");
21492149
else
21502150
pr_err("Cannot set host attributes\n");
@@ -2181,7 +2181,7 @@ static void ena_config_debug_area(struct ena_adapter *adapter)
21812181

21822182
rc = ena_com_set_host_attributes(adapter->ena_dev);
21832183
if (rc) {
2184-
if (rc == -EPERM)
2184+
if (rc == -EOPNOTSUPP)
21852185
netif_warn(adapter, drv, adapter->netdev,
21862186
"Cannot set host attributes\n");
21872187
else
@@ -2886,21 +2886,21 @@ static int ena_rss_init_default(struct ena_adapter *adapter)
28862886
val = ethtool_rxfh_indir_default(i, adapter->num_queues);
28872887
rc = ena_com_indirect_table_fill_entry(ena_dev, i,
28882888
ENA_IO_RXQ_IDX(val));
2889-
if (unlikely(rc && (rc != -EPERM))) {
2889+
if (unlikely(rc && (rc != -EOPNOTSUPP))) {
28902890
dev_err(dev, "Cannot fill indirect table\n");
28912891
goto err_fill_indir;
28922892
}
28932893
}
28942894

28952895
rc = ena_com_fill_hash_function(ena_dev, ENA_ADMIN_CRC32, NULL,
28962896
ENA_HASH_KEY_SIZE, 0xFFFFFFFF);
2897-
if (unlikely(rc && (rc != -EPERM))) {
2897+
if (unlikely(rc && (rc != -EOPNOTSUPP))) {
28982898
dev_err(dev, "Cannot fill hash function\n");
28992899
goto err_fill_indir;
29002900
}
29012901

29022902
rc = ena_com_set_default_hash_ctrl(ena_dev);
2903-
if (unlikely(rc && (rc != -EPERM))) {
2903+
if (unlikely(rc && (rc != -EOPNOTSUPP))) {
29042904
dev_err(dev, "Cannot fill hash control\n");
29052905
goto err_fill_indir;
29062906
}
@@ -3114,7 +3114,7 @@ static int ena_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
31143114
goto err_worker_destroy;
31153115
}
31163116
rc = ena_rss_init_default(adapter);
3117-
if (rc && (rc != -EPERM)) {
3117+
if (rc && (rc != -EOPNOTSUPP)) {
31183118
dev_err(&pdev->dev, "Cannot init RSS rc: %d\n", rc);
31193119
goto err_free_msix;
31203120
}

0 commit comments

Comments
 (0)