fm10k: request reset when mbx->state changes
authorNgai-Mint Kwan <ngai-mint.kwan@intel.com>
Wed, 2 Nov 2016 23:44:46 +0000 (16:44 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sun, 8 Jan 2017 09:33:43 +0000 (01:33 -0800)
commit2f3fc1e6200309ccf87f61dea56e57e563c4f800
tree8874d5004a12fafbfbb1223579b377ad56d9707c
parentaee243334461f83f3cb2e8c19e9a6cdedd35ee4b
fm10k: request reset when mbx->state changes

Multiple IES API resets can cause a race condition where the mailbox
interrupt request bits can be cleared before being handled. This can
leave certain mailbox messages from the PF to be untreated and the PF
will enter in some inactive state. If this situation occurs, the IES API
will initiate a mailbox version reset which, then, trigger a mailbox
state change. Once this mailbox transition occurs (from OPEN to CONNECT
state), a request for reset will be returned.

This ensures that PF will undergo a reset whenever IES API encounters an
unknown global mailbox interrupt event or whenever the IES API
terminates.

Signed-off-by: Ngai-Mint Kwan <ngai-mint.kwan@intel.com>
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
drivers/net/ethernet/intel/fm10k/fm10k_pci.c