diff options
-rw-r--r-- | drivers/net/ethernet/brocade/bna/bna.h | 2 | ||||
-rw-r--r-- | drivers/net/ethernet/brocade/bna/bna_enet.c | 7 | ||||
-rw-r--r-- | drivers/net/ethernet/brocade/bna/bna_tx_rx.c | 15 |
3 files changed, 23 insertions, 1 deletions
diff --git a/drivers/net/ethernet/brocade/bna/bna.h b/drivers/net/ethernet/brocade/bna/bna.h index 25dae757e9c4..f1eafc409bbd 100644 --- a/drivers/net/ethernet/brocade/bna/bna.h +++ b/drivers/net/ethernet/brocade/bna/bna.h | |||
@@ -455,6 +455,8 @@ void bna_bfi_rx_enet_stop_rsp(struct bna_rx *rx, | |||
455 | void bna_bfi_rxf_cfg_rsp(struct bna_rxf *rxf, struct bfi_msgq_mhdr *msghdr); | 455 | void bna_bfi_rxf_cfg_rsp(struct bna_rxf *rxf, struct bfi_msgq_mhdr *msghdr); |
456 | void bna_bfi_rxf_mcast_add_rsp(struct bna_rxf *rxf, | 456 | void bna_bfi_rxf_mcast_add_rsp(struct bna_rxf *rxf, |
457 | struct bfi_msgq_mhdr *msghdr); | 457 | struct bfi_msgq_mhdr *msghdr); |
458 | void bna_bfi_rxf_ucast_set_rsp(struct bna_rxf *rxf, | ||
459 | struct bfi_msgq_mhdr *msghdr); | ||
458 | 460 | ||
459 | /* APIs for BNA */ | 461 | /* APIs for BNA */ |
460 | void bna_rx_mod_init(struct bna_rx_mod *rx_mod, struct bna *bna, | 462 | void bna_rx_mod_init(struct bna_rx_mod *rx_mod, struct bna *bna, |
diff --git a/drivers/net/ethernet/brocade/bna/bna_enet.c b/drivers/net/ethernet/brocade/bna/bna_enet.c index db14f69d63bc..3ca77fad4851 100644 --- a/drivers/net/ethernet/brocade/bna/bna_enet.c +++ b/drivers/net/ethernet/brocade/bna/bna_enet.c | |||
@@ -298,7 +298,6 @@ bna_msgq_rsp_handler(void *arg, struct bfi_msgq_mhdr *msghdr) | |||
298 | case BFI_ENET_I2H_RSS_ENABLE_RSP: | 298 | case BFI_ENET_I2H_RSS_ENABLE_RSP: |
299 | case BFI_ENET_I2H_RX_PROMISCUOUS_RSP: | 299 | case BFI_ENET_I2H_RX_PROMISCUOUS_RSP: |
300 | case BFI_ENET_I2H_RX_DEFAULT_RSP: | 300 | case BFI_ENET_I2H_RX_DEFAULT_RSP: |
301 | case BFI_ENET_I2H_MAC_UCAST_SET_RSP: | ||
302 | case BFI_ENET_I2H_MAC_UCAST_CLR_RSP: | 301 | case BFI_ENET_I2H_MAC_UCAST_CLR_RSP: |
303 | case BFI_ENET_I2H_MAC_UCAST_ADD_RSP: | 302 | case BFI_ENET_I2H_MAC_UCAST_ADD_RSP: |
304 | case BFI_ENET_I2H_MAC_UCAST_DEL_RSP: | 303 | case BFI_ENET_I2H_MAC_UCAST_DEL_RSP: |
@@ -311,6 +310,12 @@ bna_msgq_rsp_handler(void *arg, struct bfi_msgq_mhdr *msghdr) | |||
311 | bna_bfi_rxf_cfg_rsp(&rx->rxf, msghdr); | 310 | bna_bfi_rxf_cfg_rsp(&rx->rxf, msghdr); |
312 | break; | 311 | break; |
313 | 312 | ||
313 | case BFI_ENET_I2H_MAC_UCAST_SET_RSP: | ||
314 | bna_rx_from_rid(bna, msghdr->enet_id, rx); | ||
315 | if (rx) | ||
316 | bna_bfi_rxf_ucast_set_rsp(&rx->rxf, msghdr); | ||
317 | break; | ||
318 | |||
314 | case BFI_ENET_I2H_MAC_MCAST_ADD_RSP: | 319 | case BFI_ENET_I2H_MAC_MCAST_ADD_RSP: |
315 | bna_rx_from_rid(bna, msghdr->enet_id, rx); | 320 | bna_rx_from_rid(bna, msghdr->enet_id, rx); |
316 | if (rx) | 321 | if (rx) |
diff --git a/drivers/net/ethernet/brocade/bna/bna_tx_rx.c b/drivers/net/ethernet/brocade/bna/bna_tx_rx.c index ea6f4a036401..57cd1bff59f1 100644 --- a/drivers/net/ethernet/brocade/bna/bna_tx_rx.c +++ b/drivers/net/ethernet/brocade/bna/bna_tx_rx.c | |||
@@ -711,6 +711,21 @@ bna_bfi_rxf_cfg_rsp(struct bna_rxf *rxf, struct bfi_msgq_mhdr *msghdr) | |||
711 | } | 711 | } |
712 | 712 | ||
713 | void | 713 | void |
714 | bna_bfi_rxf_ucast_set_rsp(struct bna_rxf *rxf, | ||
715 | struct bfi_msgq_mhdr *msghdr) | ||
716 | { | ||
717 | struct bfi_enet_rsp *rsp = | ||
718 | (struct bfi_enet_rsp *)msghdr; | ||
719 | |||
720 | if (rsp->error) { | ||
721 | /* Clear ucast from cache */ | ||
722 | rxf->ucast_active_set = 0; | ||
723 | } | ||
724 | |||
725 | bfa_fsm_send_event(rxf, RXF_E_FW_RESP); | ||
726 | } | ||
727 | |||
728 | void | ||
714 | bna_bfi_rxf_mcast_add_rsp(struct bna_rxf *rxf, | 729 | bna_bfi_rxf_mcast_add_rsp(struct bna_rxf *rxf, |
715 | struct bfi_msgq_mhdr *msghdr) | 730 | struct bfi_msgq_mhdr *msghdr) |
716 | { | 731 | { |