bna: Mboxq Flush When IOC Disabled
authorRasesh Mody <rmody@brocade.com>
Fri, 22 Jul 2011 08:07:45 +0000 (08:07 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 23 Jul 2011 00:01:13 +0000 (17:01 -0700)
commitfdad400f1637576eacc8a45923103e965e086c28
tree320803fc8081227b571a4f40348b134700f68e79
parent8811e267d0443af9caca6f127d62c0119c96314f
bna: Mboxq Flush When IOC Disabled

Change details:
 - If there is a command pending in the mailbox, bfa_ioc_mbox_queue() enqueues
   the mailbox command to a pending command queue. Entries in this queue are
   not flushed when IOC is disabled. As a result, when IOC is re-enabled again,
   the stale entries in the pending command queue are posted to the mailbox.
   When these mailbox commands are processed by the FW and responses are sent,
   unexpected  events are received by other modules' FSMs (f.e. bfa_msgq) which
   have not posted any mailbox commands after IOC was enabled.
 - Flush the pending mailbox command queue when IOC is disabled. Rename
   bfa_ioc_mbox_hbfail to bfa_ioc_mbox_flush. Call bfa_ioc_mbox_flush
   from bfa_iocpf_sm_disabled_entry()

Signed-off-by: Rasesh Mody <rmody@brocade.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bna/bfa_ioc.c