igbvf: force link checking when mailbox timeout has occurred
authorAlexander Duyck <alexander.h.duyck@intel.com>
Thu, 18 Nov 2010 03:12:30 +0000 (03:12 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sat, 25 Dec 2010 05:37:54 +0000 (21:37 -0800)
This change forces the link down when a mailbox timeout has occurred.
Previously it was possible for a mailbox timeout to occur but for the
interface to stay up.  The problem with this was that it became possible
for an interface to stay up and miss multiple requests resulting in a
possible issue since the interface will be running in an unknown state.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/igbvf/vf.c

index 0cc13c6..74486a8 100644 (file)
@@ -362,8 +362,8 @@ static s32 e1000_check_for_link_vf(struct e1000_hw *hw)
         * or a virtual function reset
         */
 
-       /* If we were hit with a reset drop the link */
-       if (!mbx->ops.check_for_rst(hw))
+       /* If we were hit with a reset or timeout drop the link */
+       if (!mbx->ops.check_for_rst(hw) || !mbx->timeout)
                mac->get_link_status = true;
 
        if (!mac->get_link_status)