aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ixgbe/ixgbe_fcoe.c19
-rw-r--r--drivers/net/ixgbe/ixgbe_main.c5
2 files changed, 11 insertions, 13 deletions
diff --git a/drivers/net/ixgbe/ixgbe_fcoe.c b/drivers/net/ixgbe/ixgbe_fcoe.c
index f6ef4cd0a12a..1737d2bddc19 100644
--- a/drivers/net/ixgbe/ixgbe_fcoe.c
+++ b/drivers/net/ixgbe/ixgbe_fcoe.c
@@ -622,9 +622,6 @@ int ixgbe_fcoe_enable(struct net_device *netdev)
622 netdev->features |= NETIF_F_FCOE_CRC; 622 netdev->features |= NETIF_F_FCOE_CRC;
623 netdev->features |= NETIF_F_FSO; 623 netdev->features |= NETIF_F_FSO;
624 netdev->features |= NETIF_F_FCOE_MTU; 624 netdev->features |= NETIF_F_FCOE_MTU;
625 netdev->vlan_features |= NETIF_F_FCOE_CRC;
626 netdev->vlan_features |= NETIF_F_FSO;
627 netdev->vlan_features |= NETIF_F_FCOE_MTU;
628 netdev->fcoe_ddp_xid = IXGBE_FCOE_DDP_MAX - 1; 625 netdev->fcoe_ddp_xid = IXGBE_FCOE_DDP_MAX - 1;
629 626
630 ixgbe_init_interrupt_scheme(adapter); 627 ixgbe_init_interrupt_scheme(adapter);
@@ -658,24 +655,20 @@ int ixgbe_fcoe_disable(struct net_device *netdev)
658 goto out_disable; 655 goto out_disable;
659 656
660 e_info(drv, "Disabling FCoE offload features.\n"); 657 e_info(drv, "Disabling FCoE offload features.\n");
658 netdev->features &= ~NETIF_F_FCOE_CRC;
659 netdev->features &= ~NETIF_F_FSO;
660 netdev->features &= ~NETIF_F_FCOE_MTU;
661 netdev->fcoe_ddp_xid = 0;
662 netdev_features_change(netdev);
663
661 if (netif_running(netdev)) 664 if (netif_running(netdev))
662 netdev->netdev_ops->ndo_stop(netdev); 665 netdev->netdev_ops->ndo_stop(netdev);
663 666
664 ixgbe_clear_interrupt_scheme(adapter); 667 ixgbe_clear_interrupt_scheme(adapter);
665
666 adapter->flags &= ~IXGBE_FLAG_FCOE_ENABLED; 668 adapter->flags &= ~IXGBE_FLAG_FCOE_ENABLED;
667 adapter->ring_feature[RING_F_FCOE].indices = 0; 669 adapter->ring_feature[RING_F_FCOE].indices = 0;
668 netdev->features &= ~NETIF_F_FCOE_CRC;
669 netdev->features &= ~NETIF_F_FSO;
670 netdev->features &= ~NETIF_F_FCOE_MTU;
671 netdev->vlan_features &= ~NETIF_F_FCOE_CRC;
672 netdev->vlan_features &= ~NETIF_F_FSO;
673 netdev->vlan_features &= ~NETIF_F_FCOE_MTU;
674 netdev->fcoe_ddp_xid = 0;
675
676 ixgbe_cleanup_fcoe(adapter); 670 ixgbe_cleanup_fcoe(adapter);
677 ixgbe_init_interrupt_scheme(adapter); 671 ixgbe_init_interrupt_scheme(adapter);
678 netdev_features_change(netdev);
679 672
680 if (netif_running(netdev)) 673 if (netif_running(netdev))
681 netdev->netdev_ops->ndo_open(netdev); 674 netdev->netdev_ops->ndo_open(netdev);
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index 813d2cb5b4d0..7d619d620f2e 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -6740,6 +6740,11 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
6740 adapter->flags &= ~IXGBE_FLAG_FCOE_CAPABLE; 6740 adapter->flags &= ~IXGBE_FLAG_FCOE_CAPABLE;
6741 } 6741 }
6742 } 6742 }
6743 if (adapter->flags & IXGBE_FLAG_FCOE_CAPABLE) {
6744 netdev->vlan_features |= NETIF_F_FCOE_CRC;
6745 netdev->vlan_features |= NETIF_F_FSO;
6746 netdev->vlan_features |= NETIF_F_FCOE_MTU;
6747 }
6743#endif /* IXGBE_FCOE */ 6748#endif /* IXGBE_FCOE */
6744 if (pci_using_dac) 6749 if (pci_using_dac)
6745 netdev->features |= NETIF_F_HIGHDMA; 6750 netdev->features |= NETIF_F_HIGHDMA;