fm10k: create "correct" header for the remote end on connect
authorJacob Keller <jacob.e.keller@intel.com>
Fri, 26 Jun 2015 15:54:06 +0000 (08:54 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 22 Sep 2015 22:58:27 +0000 (15:58 -0700)
commitafadfd224f53106e4fd52f3b6885a93431a5a6f5
tree11a42db4c9b52d260efcbee0495c590470fa928e
parent4b09728e9d34170c375f41d9b454f067ce39591f
fm10k: create "correct" header for the remote end on connect

When we connect to the mailbox, we insert a fake disconnect header so
that the code does not see an invalid header and thus instantly error
every time we bring up the mailbox. However, we incorrectly record the
tail and head from the local perspective. Since the remote end shouldn't
have anything for us, add a "create_fake_disconnect_hdr" function which
inverts the TAIL and HEAD fields. This enables us to connect without any
errors of either TAIL or HEAD incorrectness, and prevents creating
extraneous error messages. This is necessary now since mbx_reset_work
does not actually reset the Tx FIFO head and tail pointers, thus head
and tail might not be equivalent on a reconnect.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Krishneil Singh <krishneil.k.singh@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/fm10k/fm10k_mbx.c