net/ice/base: fix minor issues
authorQi Zhang <qi.z.zhang@intel.com>
Mon, 25 Mar 2019 05:44:30 +0000 (13:44 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 29 Mar 2019 16:25:31 +0000 (17:25 +0100)
1. ICE_SW_LKUP_LAST need to be handled correctly in
ice_aq_alloc_free_vsi_list and ice_update_vsi_list_rule
2. ICE_SW_LKUP_ETHERTYPE_MAC need to be handled correctly in
ice_update_vsi_lkup_fltr
3. free package segment pointer during ice_deinit_hw

Fixes: c7dd15931183 ("net/ice/base: add virtual switch code")
Fixes: 453d087ccaff ("net/ice/base: add common functions")

Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Reviewed-by: Qiming Yang <qiming.yang@intel.com>
Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
drivers/net/ice/base/ice_common.c
drivers/net/ice/base/ice_switch.c

index 015db11..4085ccc 100644 (file)
@@ -938,6 +938,7 @@ void ice_deinit_hw(struct ice_hw *hw)
 
        ice_sched_cleanup_all(hw);
        ice_sched_clear_agg(hw);
+       ice_free_seg(hw);
 
        if (hw->port_info) {
                ice_free(hw, hw->port_info);
index a0c39b5..e47c1d8 100644 (file)
@@ -792,7 +792,8 @@ ice_aq_alloc_free_vsi_list(struct ice_hw *hw, u16 *vsi_list_id,
            lkup_type == ICE_SW_LKUP_ETHERTYPE ||
            lkup_type == ICE_SW_LKUP_ETHERTYPE_MAC ||
            lkup_type == ICE_SW_LKUP_PROMISC ||
-           lkup_type == ICE_SW_LKUP_PROMISC_VLAN) {
+           lkup_type == ICE_SW_LKUP_PROMISC_VLAN ||
+           lkup_type == ICE_SW_LKUP_LAST) {
                sw_buf->res_type = CPU_TO_LE16(ICE_AQC_RES_TYPE_VSI_LIST_REP);
        } else if (lkup_type == ICE_SW_LKUP_VLAN) {
                sw_buf->res_type =
@@ -1492,7 +1493,8 @@ ice_update_vsi_list_rule(struct ice_hw *hw, u16 *vsi_handle_arr, u16 num_vsi,
            lkup_type == ICE_SW_LKUP_ETHERTYPE ||
            lkup_type == ICE_SW_LKUP_ETHERTYPE_MAC ||
            lkup_type == ICE_SW_LKUP_PROMISC ||
-           lkup_type == ICE_SW_LKUP_PROMISC_VLAN)
+           lkup_type == ICE_SW_LKUP_PROMISC_VLAN ||
+           lkup_type == ICE_SW_LKUP_LAST)
                type = remove ? ICE_AQC_SW_RULES_T_VSI_LIST_CLEAR :
                                ICE_AQC_SW_RULES_T_VSI_LIST_SET;
        else if (lkup_type == ICE_SW_LKUP_VLAN)
@@ -3388,6 +3390,8 @@ ice_remove_vsi_lkup_fltr(struct ice_hw *hw, u16 vsi_handle,
                break;
        case ICE_SW_LKUP_ETHERTYPE:
        case ICE_SW_LKUP_ETHERTYPE_MAC:
+               ice_remove_eth_mac(hw, &remove_list_head);
+               break;
        case ICE_SW_LKUP_DFLT:
                ice_debug(hw, ICE_DBG_SW,
                          "Remove filters for this lookup type hasn't been implemented yet\n");