Gmail mangled my first message, sorry about that. Second attempt. In ixgbe_init_mac_link_ops_X550em, the code has a special case for backplane media type, but does not fall through to the default case, so the setup_fc never gets initialized. This causes a panic when it later tries to set up the card, and the kernel dereferences the null pointer.
This patch lets the the function fall through, which initialized setup_fc properly.
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c index 19b75cd..73e2de7 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c @@ -1653,7 +1653,6 @@ static void ixgbe_init_mac_link_ops_X550em(struct ixgbe_hw *hw) if (hw->device_id == IXGBE_DEV_ID_X550EM_A_SGMII || hw->device_id == IXGBE_DEV_ID_X550EM_A_SGMII_L) mac->ops.setup_link = ixgbe_setup_sgmii; - break; default: mac->ops.setup_fc = ixgbe_setup_fc_x550em; break;