Tony Nguyen says: ==================== Intel Wired LAN Driver Updates 2023-03-07 (ice) This series contains updates to ice driver only. Dave removes masking from pfcena field as it was incorrectly preventing valid traffic classes from being enabled. Michal resolves various smatch issues such as not propagating error codes and returning 0 explicitly. Arnd Bergmann resolves gcc-9 warning for integer overflow. * '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue: ethernet: ice: avoid gcc-9 integer overflow warning ice: don't ignore return codes in VSI related code ice: Fix DSCP PFC TLV creation ====================
Unified · Split
| @@ -1411,7 +1411,7 @@ ice_add_dscp_pfc_tlv(struct ice_lldp_org_tlv *tlv, struct ice_dcbx_cfg *dcbcfg) · 1410 unmodified lines | ||
| 1411 | 1411 | tlv->ouisubtype = htonl(ouisubtype); |
| 1412 | 1412 | |
| 1413 | 1413 | buf[0] = dcbcfg->pfc.pfccap & 0xF; |
| 1414 | − buf[1] = dcbcfg->pfc.pfcena & 0xF; | |
| 1414 | + buf[1] = dcbcfg->pfc.pfcena; | |
| 1415 | 1415 | } |
| 1416 | 1416 | |
| 1417 | 1417 | /** |
| @@ -2126,7 +2126,7 @@ int ice_vsi_cfg_xdp_txqs(struct ice_vsi *vsi) · 2125 unmodified lines | ||
| 2126 | 2126 | ice_for_each_rxq(vsi, i) |
| 2127 | 2127 | ice_tx_xsk_pool(vsi, i); |
| 2128 | 2128 | |
| 2129 | − return ret; | |
| 2129 | + return 0; | |
| 2130 | 2130 | } |
| 2131 | 2131 | |
| 2132 | 2132 | /** |
| @@ -2693,12 +2693,14 @@ ice_vsi_cfg_def(struct ice_vsi *vsi, struct ice_vsi_cfg_params *params) · 560 unmodified lines | ||
| 2693 | 2693 | return ret; |
| 2694 | 2694 | |
| 2695 | 2695 | /* allocate memory for Tx/Rx ring stat pointers */ |
| 2696 | − if (ice_vsi_alloc_stat_arrays(vsi)) | |
| 2696 | + ret = ice_vsi_alloc_stat_arrays(vsi); | |
| 2697 | + if (ret) | |
| 2697 | 2698 | goto unroll_vsi_alloc; |
| 2698 | 2699 | |
| 2699 | 2700 | ice_alloc_fd_res(vsi); |
| 2700 | 2701 | |
| 2701 | − if (ice_vsi_get_qs(vsi)) { | |
| 2702 | + ret = ice_vsi_get_qs(vsi); | |
| 2703 | + if (ret) { | |
| 2702 | 2704 | dev_err(dev, "Failed to allocate queues. vsi->idx = %d\n", |
| 2703 | 2705 | vsi->idx); |
| 2704 | 2706 | goto unroll_vsi_alloc_stat; |
| @@ -2811,6 +2813,7 @@ ice_vsi_cfg_def(struct ice_vsi *vsi, struct ice_vsi_cfg_params *params) · 106 unmodified lines | ||
| 2811 | 2813 | break; |
| 2812 | 2814 | default: |
| 2813 | 2815 | /* clean up the resources and exit */ |
| 2816 | + ret = -EINVAL; | |
| 2814 | 2817 | goto unroll_vsi_init; |
| 2815 | 2818 | } |
| 2816 | 2819 | |
| @@ -3508,10 +3511,10 @@ int ice_vsi_rebuild(struct ice_vsi *vsi, u32 vsi_flags) · 691 unmodified lines | ||
| 3508 | 3511 | if (vsi_flags & ICE_VSI_FLAG_INIT) { |
| 3509 | 3512 | ret = -EIO; |
| 3510 | 3513 | goto err_vsi_cfg_tc_lan; |
| 3511 | − } else { | |
| 3512 | − kfree(coalesce); | |
| 3513 | − return ice_schedule_reset(pf, ICE_RESET_PFR); | |
| 3514 | 3514 | } |
| 3515 | + | |
| 3516 | + kfree(coalesce); | |
| 3517 | + return ice_schedule_reset(pf, ICE_RESET_PFR); | |
| 3515 | 3518 | } |
| 3516 | 3519 | |
| 3517 | 3520 | ice_vsi_realloc_stat_arrays(vsi, prev_txq, prev_rxq); |
| @@ -3759,7 +3762,7 @@ int ice_vsi_cfg_tc(struct ice_vsi *vsi, u8 ena_tc) · 241 unmodified lines | ||
| 3759 | 3762 | dev = ice_pf_to_dev(pf); |
| 3760 | 3763 | if (vsi->tc_cfg.ena_tc == ena_tc && |
| 3761 | 3764 | vsi->mqprio_qopt.mode != TC_MQPRIO_MODE_CHANNEL) |
| 3762 | − return ret; | |
| 3765 | + return 0; | |
| 3763 | 3766 | |
| 3764 | 3767 | ice_for_each_traffic_class(i) { |
| 3765 | 3768 | /* build bitmap of enabled TCs */ |
| @@ -1455,8 +1455,8 @@ ice_parse_cls_flower(struct net_device *filter_dev, struct ice_vsi *vsi, · 1454 unmodified lines | ||
| 1455 | 1455 | if (match.mask->vlan_priority) { |
| 1456 | 1456 | fltr->flags |= ICE_TC_FLWR_FIELD_VLAN_PRIO; |
| 1457 | 1457 | headers->vlan_hdr.vlan_prio = |
| 1458 | − cpu_to_be16((match.key->vlan_priority << | |
| 1459 | − VLAN_PRIO_SHIFT) & VLAN_PRIO_MASK); | |
| 1458 | + be16_encode_bits(match.key->vlan_priority, | |
| 1459 | + VLAN_PRIO_MASK); | |
| 1460 | 1460 | } |
| 1461 | 1461 | |
| 1462 | 1462 | if (match.mask->vlan_tpid) |
| @@ -1489,8 +1489,8 @@ ice_parse_cls_flower(struct net_device *filter_dev, struct ice_vsi *vsi, · 26 unmodified lines | ||
| 1489 | 1489 | if (match.mask->vlan_priority) { |
| 1490 | 1490 | fltr->flags |= ICE_TC_FLWR_FIELD_CVLAN_PRIO; |
| 1491 | 1491 | headers->cvlan_hdr.vlan_prio = |
| 1492 | − cpu_to_be16((match.key->vlan_priority << | |
| 1493 | − VLAN_PRIO_SHIFT) & VLAN_PRIO_MASK); | |
| 1492 | + be16_encode_bits(match.key->vlan_priority, | |
| 1493 | + VLAN_PRIO_MASK); | |
| 1494 | 1494 | } |
| 1495 | 1495 | } |
| 1496 | 1496 | |