aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/brocade/bna/bnad.h
diff options
context:
space:
mode:
authorRasesh Mody <rmody@brocade.com>2011-09-27 10:39:10 +0000
committerDavid S. Miller <davem@davemloft.net>2011-09-29 19:36:36 -0400
commit5bcf6ac036556fcb4f9b5637f61e1227b66416cc (patch)
tree2e3da237d33194f1daf359f3b94fb2cd4eca0e24 /drivers/net/ethernet/brocade/bna/bnad.h
parentbna: PLL Init Fix and Add Stats Attributes (diff)
downloadlinux-dev-5bcf6ac036556fcb4f9b5637f61e1227b66416cc.tar.xz
linux-dev-5bcf6ac036556fcb4f9b5637f61e1227b66416cc.zip
bna: Add Callback to Fix RXQ Stop
Change details: - Add a callback in the BNA, which is called before sending FW command to stop RxQs. After this callback is called, driver should not post anymore Rx buffers to the RxQ. This addresses a small window where driver posts Rx buffers while FW is stopping/has stopped the RxQ. - Registering callback function, rx_stall_cbfn, during bna_rx_create. Invoking callback function, rx_stall_cbfn, before sending rx_cfg_clr command to FW - Bnad_cb_rx_stall implementation - set a flag in the Rxq to mark buffer posting disabled state. While posting buffers check for the above flag. Signed-off-by: Gurunatha Karaje <gkaraje@brocade.com> Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r--drivers/net/ethernet/brocade/bna/bnad.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/brocade/bna/bnad.h b/drivers/net/ethernet/brocade/bna/bnad.h
index 1c9328d564d2..50fb36aedd5d 100644
--- a/drivers/net/ethernet/brocade/bna/bnad.h
+++ b/drivers/net/ethernet/brocade/bna/bnad.h
@@ -103,6 +103,7 @@ struct bnad_rx_ctrl {
/* Bit positions for rcb->flags */
#define BNAD_RXQ_REFILL 0
#define BNAD_RXQ_STARTED 1
+#define BNAD_RXQ_POST_OK 2
/* Resource limits */
#define BNAD_NUM_TXQ (bnad->num_tx * bnad->num_txq_per_tx)