aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ixgbe/ixgbe_main.c
diff options
context:
space:
mode:
authorEmil Tantilov <emil.s.tantilov@intel.com>2010-06-03 12:53:41 -0400
committerDavid S. Miller <davem@davemloft.net>2010-06-03 23:02:41 -0400
commit849c45423c0c108e08d67644728cc9b0ed225fa1 (patch)
treeab1589c91e817ad246caaf3b75e14e7711c31ad8 /drivers/net/ixgbe/ixgbe_main.c
parentfaa9dcf793beba05f7178b63a59eaa3ca5175b6a (diff)
ixgbe: Use netdev_<level>, dev_<level>, pr_<level>
This patch is alternative to a previous patch submitted by Joe Perches. Create common macros e_<level> and e_dev_<level> that use netdev_<level> and dev_<level> similar to e1000e. Redefined pr_fmt for driver messages. Use %pM to display MAC address. Aligned text to better match the new format. CC: Joe Perches <joe@perches.com> Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ixgbe/ixgbe_main.c')
-rw-r--r--drivers/net/ixgbe/ixgbe_main.c281
1 files changed, 128 insertions, 153 deletions
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index d571d101de08..04e64de4a600 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -696,19 +696,19 @@ static inline bool ixgbe_check_tx_hang(struct ixgbe_adapter *adapter,
696 /* detected Tx unit hang */ 696 /* detected Tx unit hang */
697 union ixgbe_adv_tx_desc *tx_desc; 697 union ixgbe_adv_tx_desc *tx_desc;
698 tx_desc = IXGBE_TX_DESC_ADV(*tx_ring, eop); 698 tx_desc = IXGBE_TX_DESC_ADV(*tx_ring, eop);
699 DPRINTK(DRV, ERR, "Detected Tx Unit Hang\n" 699 e_err("Detected Tx Unit Hang\n"
700 " Tx Queue <%d>\n" 700 " Tx Queue <%d>\n"
701 " TDH, TDT <%x>, <%x>\n" 701 " TDH, TDT <%x>, <%x>\n"
702 " next_to_use <%x>\n" 702 " next_to_use <%x>\n"
703 " next_to_clean <%x>\n" 703 " next_to_clean <%x>\n"
704 "tx_buffer_info[next_to_clean]\n" 704 "tx_buffer_info[next_to_clean]\n"
705 " time_stamp <%lx>\n" 705 " time_stamp <%lx>\n"
706 " jiffies <%lx>\n", 706 " jiffies <%lx>\n",
707 tx_ring->queue_index, 707 tx_ring->queue_index,
708 IXGBE_READ_REG(hw, tx_ring->head), 708 IXGBE_READ_REG(hw, tx_ring->head),
709 IXGBE_READ_REG(hw, tx_ring->tail), 709 IXGBE_READ_REG(hw, tx_ring->tail),
710 tx_ring->next_to_use, eop, 710 tx_ring->next_to_use, eop,
711 tx_ring->tx_buffer_info[eop].time_stamp, jiffies); 711 tx_ring->tx_buffer_info[eop].time_stamp, jiffies);
712 return true; 712 return true;
713 } 713 }
714 714
@@ -812,9 +812,8 @@ static bool ixgbe_clean_tx_irq(struct ixgbe_q_vector *q_vector,
812 if (adapter->detect_tx_hung) { 812 if (adapter->detect_tx_hung) {
813 if (ixgbe_check_tx_hang(adapter, tx_ring, i)) { 813 if (ixgbe_check_tx_hang(adapter, tx_ring, i)) {
814 /* schedule immediate reset if we believe we hung */ 814 /* schedule immediate reset if we believe we hung */
815 DPRINTK(PROBE, INFO, 815 e_info("tx hang %d detected, resetting adapter\n",
816 "tx hang %d detected, resetting adapter\n", 816 adapter->tx_timeout_count + 1);
817 adapter->tx_timeout_count + 1);
818 ixgbe_tx_timeout(adapter->netdev); 817 ixgbe_tx_timeout(adapter->netdev);
819 } 818 }
820 } 819 }
@@ -1653,10 +1652,10 @@ static void ixgbe_check_overtemp_task(struct work_struct *work)
1653 return; 1652 return;
1654 break; 1653 break;
1655 } 1654 }
1656 DPRINTK(DRV, ERR, "Network adapter has been stopped because it " 1655 e_crit("Network adapter has been stopped because it "
1657 "has over heated. Restart the computer. If the problem " 1656 "has over heated. Restart the computer. If the problem "
1658 "persists, power off the system and replace the " 1657 "persists, power off the system and replace the "
1659 "adapter\n"); 1658 "adapter\n");
1660 /* write to clear the interrupt */ 1659 /* write to clear the interrupt */
1661 IXGBE_WRITE_REG(hw, IXGBE_EICR, IXGBE_EICR_GPI_SDP0); 1660 IXGBE_WRITE_REG(hw, IXGBE_EICR, IXGBE_EICR_GPI_SDP0);
1662 } 1661 }
@@ -1668,7 +1667,7 @@ static void ixgbe_check_fan_failure(struct ixgbe_adapter *adapter, u32 eicr)
1668 1667
1669 if ((adapter->flags & IXGBE_FLAG_FAN_FAIL_CAPABLE) && 1668 if ((adapter->flags & IXGBE_FLAG_FAN_FAIL_CAPABLE) &&
1670 (eicr & IXGBE_EICR_GPI_SDP1)) { 1669 (eicr & IXGBE_EICR_GPI_SDP1)) {
1671 DPRINTK(PROBE, CRIT, "Fan has stopped, replace the adapter\n"); 1670 e_crit("Fan has stopped, replace the adapter\n");
1672 /* write to clear the interrupt */ 1671 /* write to clear the interrupt */
1673 IXGBE_WRITE_REG(hw, IXGBE_EICR, IXGBE_EICR_GPI_SDP1); 1672 IXGBE_WRITE_REG(hw, IXGBE_EICR, IXGBE_EICR_GPI_SDP1);
1674 } 1673 }
@@ -2154,9 +2153,8 @@ static int ixgbe_request_msix_irqs(struct ixgbe_adapter *adapter)
2154 handler, 0, adapter->name[vector], 2153 handler, 0, adapter->name[vector],
2155 adapter->q_vector[vector]); 2154 adapter->q_vector[vector]);
2156 if (err) { 2155 if (err) {
2157 DPRINTK(PROBE, ERR, 2156 e_err("request_irq failed for MSIX interrupt: "
2158 "request_irq failed for MSIX interrupt " 2157 "Error: %d\n", err);
2159 "Error: %d\n", err);
2160 goto free_queue_irqs; 2158 goto free_queue_irqs;
2161 } 2159 }
2162 } 2160 }
@@ -2165,8 +2163,7 @@ static int ixgbe_request_msix_irqs(struct ixgbe_adapter *adapter)
2165 err = request_irq(adapter->msix_entries[vector].vector, 2163 err = request_irq(adapter->msix_entries[vector].vector,
2166 ixgbe_msix_lsc, 0, adapter->name[vector], netdev); 2164 ixgbe_msix_lsc, 0, adapter->name[vector], netdev);
2167 if (err) { 2165 if (err) {
2168 DPRINTK(PROBE, ERR, 2166 e_err("request_irq for msix_lsc failed: %d\n", err);
2169 "request_irq for msix_lsc failed: %d\n", err);
2170 goto free_queue_irqs; 2167 goto free_queue_irqs;
2171 } 2168 }
2172 2169
@@ -2352,7 +2349,7 @@ static int ixgbe_request_irq(struct ixgbe_adapter *adapter)
2352 } 2349 }
2353 2350
2354 if (err) 2351 if (err)
2355 DPRINTK(PROBE, ERR, "request_irq failed, Error %d\n", err); 2352 e_err("request_irq failed, Error %d\n", err);
2356 2353
2357 return err; 2354 return err;
2358} 2355}
@@ -2423,7 +2420,7 @@ static void ixgbe_configure_msi_and_legacy(struct ixgbe_adapter *adapter)
2423 map_vector_to_rxq(adapter, 0, 0); 2420 map_vector_to_rxq(adapter, 0, 0);
2424 map_vector_to_txq(adapter, 0, 0); 2421 map_vector_to_txq(adapter, 0, 0);
2425 2422
2426 DPRINTK(HW, INFO, "Legacy interrupt IVAR setup done\n"); 2423 e_info("Legacy interrupt IVAR setup done\n");
2427} 2424}
2428 2425
2429/** 2426/**
@@ -3257,8 +3254,8 @@ static inline void ixgbe_rx_desc_queue_enable(struct ixgbe_adapter *adapter,
3257 msleep(1); 3254 msleep(1);
3258 } 3255 }
3259 if (k >= IXGBE_MAX_RX_DESC_POLL) { 3256 if (k >= IXGBE_MAX_RX_DESC_POLL) {
3260 DPRINTK(DRV, ERR, "RXDCTL.ENABLE on Rx queue %d " 3257 e_err("RXDCTL.ENABLE on Rx queue %d not set within "
3261 "not set within the polling period\n", rxr); 3258 "the polling period\n", rxr);
3262 } 3259 }
3263 ixgbe_release_rx_desc(&adapter->hw, adapter->rx_ring[rxr], 3260 ixgbe_release_rx_desc(&adapter->hw, adapter->rx_ring[rxr],
3264 (adapter->rx_ring[rxr]->count - 1)); 3261 (adapter->rx_ring[rxr]->count - 1));
@@ -3387,8 +3384,7 @@ static int ixgbe_up_complete(struct ixgbe_adapter *adapter)
3387 } while (--wait_loop && 3384 } while (--wait_loop &&
3388 !(txdctl & IXGBE_TXDCTL_ENABLE)); 3385 !(txdctl & IXGBE_TXDCTL_ENABLE));
3389 if (!wait_loop) 3386 if (!wait_loop)
3390 DPRINTK(DRV, ERR, "Could not enable " 3387 e_err("Could not enable Tx Queue %d\n", j);
3391 "Tx Queue %d\n", j);
3392 } 3388 }
3393 } 3389 }
3394 3390
@@ -3436,8 +3432,7 @@ static int ixgbe_up_complete(struct ixgbe_adapter *adapter)
3436 if (adapter->flags & IXGBE_FLAG_FAN_FAIL_CAPABLE) { 3432 if (adapter->flags & IXGBE_FLAG_FAN_FAIL_CAPABLE) {
3437 u32 esdp = IXGBE_READ_REG(hw, IXGBE_ESDP); 3433 u32 esdp = IXGBE_READ_REG(hw, IXGBE_ESDP);
3438 if (esdp & IXGBE_ESDP_SDP1) 3434 if (esdp & IXGBE_ESDP_SDP1)
3439 DPRINTK(DRV, CRIT, 3435 e_crit("Fan has stopped, replace the adapter\n");
3440 "Fan has stopped, replace the adapter\n");
3441 } 3436 }
3442 3437
3443 /* 3438 /*
@@ -3466,7 +3461,7 @@ static int ixgbe_up_complete(struct ixgbe_adapter *adapter)
3466 } else { 3461 } else {
3467 err = ixgbe_non_sfp_link_config(hw); 3462 err = ixgbe_non_sfp_link_config(hw);
3468 if (err) 3463 if (err)
3469 DPRINTK(PROBE, ERR, "link_config FAILED %d\n", err); 3464 e_err("link_config FAILED %d\n", err);
3470 } 3465 }
3471 3466
3472 for (i = 0; i < adapter->num_tx_queues; i++) 3467 for (i = 0; i < adapter->num_tx_queues; i++)
@@ -3527,19 +3522,19 @@ void ixgbe_reset(struct ixgbe_adapter *adapter)
3527 case IXGBE_ERR_SFP_NOT_PRESENT: 3522 case IXGBE_ERR_SFP_NOT_PRESENT:
3528 break; 3523 break;
3529 case IXGBE_ERR_MASTER_REQUESTS_PENDING: 3524 case IXGBE_ERR_MASTER_REQUESTS_PENDING:
3530 dev_err(&adapter->pdev->dev, "master disable timed out\n"); 3525 e_dev_err("master disable timed out\n");
3531 break; 3526 break;
3532 case IXGBE_ERR_EEPROM_VERSION: 3527 case IXGBE_ERR_EEPROM_VERSION:
3533 /* We are running on a pre-production device, log a warning */ 3528 /* We are running on a pre-production device, log a warning */
3534 dev_warn(&adapter->pdev->dev, "This device is a pre-production " 3529 e_dev_warn("This device is a pre-production adapter/LOM. "
3535 "adapter/LOM. Please be aware there may be issues " 3530 "Please be aware there may be issuesassociated with "
3536 "associated with your hardware. If you are " 3531 "your hardware. If you are experiencing problems "
3537 "experiencing problems please contact your Intel or " 3532 "please contact your Intel or hardware "
3538 "hardware representative who provided you with this " 3533 "representative who provided you with this "
3539 "hardware.\n"); 3534 "hardware.\n");
3540 break; 3535 break;
3541 default: 3536 default:
3542 dev_err(&adapter->pdev->dev, "Hardware Error: %d\n", err); 3537 e_dev_err("Hardware Error: %d\n", err);
3543 } 3538 }
3544 3539
3545 /* reprogram the RAR[0] in case user changed it. */ 3540 /* reprogram the RAR[0] in case user changed it. */
@@ -3920,12 +3915,12 @@ static inline bool ixgbe_set_fcoe_queues(struct ixgbe_adapter *adapter)
3920 adapter->num_tx_queues = 1; 3915 adapter->num_tx_queues = 1;
3921#ifdef CONFIG_IXGBE_DCB 3916#ifdef CONFIG_IXGBE_DCB
3922 if (adapter->flags & IXGBE_FLAG_DCB_ENABLED) { 3917 if (adapter->flags & IXGBE_FLAG_DCB_ENABLED) {
3923 DPRINTK(PROBE, INFO, "FCoE enabled with DCB\n"); 3918 e_info("FCoE enabled with DCB\n");
3924 ixgbe_set_dcb_queues(adapter); 3919 ixgbe_set_dcb_queues(adapter);
3925 } 3920 }
3926#endif 3921#endif
3927 if (adapter->flags & IXGBE_FLAG_RSS_ENABLED) { 3922 if (adapter->flags & IXGBE_FLAG_RSS_ENABLED) {
3928 DPRINTK(PROBE, INFO, "FCoE enabled with RSS\n"); 3923 e_info("FCoE enabled with RSS\n");
3929 if ((adapter->flags & IXGBE_FLAG_FDIR_HASH_CAPABLE) || 3924 if ((adapter->flags & IXGBE_FLAG_FDIR_HASH_CAPABLE) ||
3930 (adapter->flags & IXGBE_FLAG_FDIR_PERFECT_CAPABLE)) 3925 (adapter->flags & IXGBE_FLAG_FDIR_PERFECT_CAPABLE))
3931 ixgbe_set_fdir_queues(adapter); 3926 ixgbe_set_fdir_queues(adapter);
@@ -4038,7 +4033,8 @@ static void ixgbe_acquire_msix_vectors(struct ixgbe_adapter *adapter,
4038 * This just means we'll go with either a single MSI 4033 * This just means we'll go with either a single MSI
4039 * vector or fall back to legacy interrupts. 4034 * vector or fall back to legacy interrupts.
4040 */ 4035 */
4041 DPRINTK(HW, DEBUG, "Unable to allocate MSI-X interrupts\n"); 4036 netif_printk(adapter, hw, KERN_DEBUG, adapter->netdev,
4037 "Unable to allocate MSI-X interrupts\n");
4042 adapter->flags &= ~IXGBE_FLAG_MSIX_ENABLED; 4038 adapter->flags &= ~IXGBE_FLAG_MSIX_ENABLED;
4043 kfree(adapter->msix_entries); 4039 kfree(adapter->msix_entries);
4044 adapter->msix_entries = NULL; 4040 adapter->msix_entries = NULL;
@@ -4435,8 +4431,9 @@ static int ixgbe_set_interrupt_capability(struct ixgbe_adapter *adapter)
4435 if (!err) { 4431 if (!err) {
4436 adapter->flags |= IXGBE_FLAG_MSI_ENABLED; 4432 adapter->flags |= IXGBE_FLAG_MSI_ENABLED;
4437 } else { 4433 } else {
4438 DPRINTK(HW, DEBUG, "Unable to allocate MSI interrupt, " 4434 netif_printk(adapter, hw, KERN_DEBUG, adapter->netdev,
4439 "falling back to legacy. Error: %d\n", err); 4435 "Unable to allocate MSI interrupt, "
4436 "falling back to legacy. Error: %d\n", err);
4440 /* reset err */ 4437 /* reset err */
4441 err = 0; 4438 err = 0;
4442 } 4439 }
@@ -4557,27 +4554,25 @@ int ixgbe_init_interrupt_scheme(struct ixgbe_adapter *adapter)
4557 4554
4558 err = ixgbe_set_interrupt_capability(adapter); 4555 err = ixgbe_set_interrupt_capability(adapter);
4559 if (err) { 4556 if (err) {
4560 DPRINTK(PROBE, ERR, "Unable to setup interrupt capabilities\n"); 4557 e_dev_err("Unable to setup interrupt capabilities\n");
4561 goto err_set_interrupt; 4558 goto err_set_interrupt;
4562 } 4559 }
4563 4560
4564 err = ixgbe_alloc_q_vectors(adapter); 4561 err = ixgbe_alloc_q_vectors(adapter);
4565 if (err) { 4562 if (err) {
4566 DPRINTK(PROBE, ERR, "Unable to allocate memory for queue " 4563 e_dev_err("Unable to allocate memory for queue vectors\n");
4567 "vectors\n");
4568 goto err_alloc_q_vectors; 4564 goto err_alloc_q_vectors;
4569 } 4565 }
4570 4566
4571 err = ixgbe_alloc_queues(adapter); 4567 err = ixgbe_alloc_queues(adapter);
4572 if (err) { 4568 if (err) {
4573 DPRINTK(PROBE, ERR, "Unable to allocate memory for queues\n"); 4569 e_dev_err("Unable to allocate memory for queues\n");
4574 goto err_alloc_queues; 4570 goto err_alloc_queues;
4575 } 4571 }
4576 4572
4577 DPRINTK(DRV, INFO, "Multiqueue %s: Rx Queue count = %u, " 4573 e_dev_info("Multiqueue %s: Rx Queue count = %u, Tx Queue count = %u\n",
4578 "Tx Queue count = %u\n", 4574 (adapter->num_rx_queues > 1) ? "Enabled" : "Disabled",
4579 (adapter->num_rx_queues > 1) ? "Enabled" : 4575 adapter->num_rx_queues, adapter->num_tx_queues);
4580 "Disabled", adapter->num_rx_queues, adapter->num_tx_queues);
4581 4576
4582 set_bit(__IXGBE_DOWN, &adapter->state); 4577 set_bit(__IXGBE_DOWN, &adapter->state);
4583 4578
@@ -4648,15 +4643,13 @@ static void ixgbe_sfp_task(struct work_struct *work)
4648 goto reschedule; 4643 goto reschedule;
4649 ret = hw->phy.ops.reset(hw); 4644 ret = hw->phy.ops.reset(hw);
4650 if (ret == IXGBE_ERR_SFP_NOT_SUPPORTED) { 4645 if (ret == IXGBE_ERR_SFP_NOT_SUPPORTED) {
4651 dev_err(&adapter->pdev->dev, "failed to initialize " 4646 e_dev_err("failed to initialize because an unsupported "
4652 "because an unsupported SFP+ module type " 4647 "SFP+ module type was detected.\n");
4653 "was detected.\n" 4648 e_dev_err("Reload the driver after installing a "
4654 "Reload the driver after installing a " 4649 "supported module.\n");
4655 "supported module.\n");
4656 unregister_netdev(adapter->netdev); 4650 unregister_netdev(adapter->netdev);
4657 } else { 4651 } else {
4658 DPRINTK(PROBE, INFO, "detected SFP+: %d\n", 4652 e_info("detected SFP+: %d\n", hw->phy.sfp_type);
4659 hw->phy.sfp_type);
4660 } 4653 }
4661 /* don't need this routine any more */ 4654 /* don't need this routine any more */
4662 clear_bit(__IXGBE_SFP_MODULE_NOT_FOUND, &adapter->state); 4655 clear_bit(__IXGBE_SFP_MODULE_NOT_FOUND, &adapter->state);
@@ -4783,7 +4776,7 @@ static int __devinit ixgbe_sw_init(struct ixgbe_adapter *adapter)
4783 4776
4784 /* initialize eeprom parameters */ 4777 /* initialize eeprom parameters */
4785 if (ixgbe_init_eeprom_params_generic(hw)) { 4778 if (ixgbe_init_eeprom_params_generic(hw)) {
4786 dev_err(&pdev->dev, "EEPROM initialization failed\n"); 4779 e_dev_err("EEPROM initialization failed\n");
4787 return -EIO; 4780 return -EIO;
4788 } 4781 }
4789 4782
@@ -4836,8 +4829,7 @@ int ixgbe_setup_tx_resources(struct ixgbe_adapter *adapter,
4836err: 4829err:
4837 vfree(tx_ring->tx_buffer_info); 4830 vfree(tx_ring->tx_buffer_info);
4838 tx_ring->tx_buffer_info = NULL; 4831 tx_ring->tx_buffer_info = NULL;
4839 DPRINTK(PROBE, ERR, "Unable to allocate memory for the transmit " 4832 e_err("Unable to allocate memory for the Tx descriptor ring\n");
4840 "descriptor ring\n");
4841 return -ENOMEM; 4833 return -ENOMEM;
4842} 4834}
4843 4835
@@ -4859,7 +4851,7 @@ static int ixgbe_setup_all_tx_resources(struct ixgbe_adapter *adapter)
4859 err = ixgbe_setup_tx_resources(adapter, adapter->tx_ring[i]); 4851 err = ixgbe_setup_tx_resources(adapter, adapter->tx_ring[i]);
4860 if (!err) 4852 if (!err)
4861 continue; 4853 continue;
4862 DPRINTK(PROBE, ERR, "Allocation for Tx Queue %u failed\n", i); 4854 e_err("Allocation for Tx Queue %u failed\n", i);
4863 break; 4855 break;
4864 } 4856 }
4865 4857
@@ -4884,8 +4876,7 @@ int ixgbe_setup_rx_resources(struct ixgbe_adapter *adapter,
4884 if (!rx_ring->rx_buffer_info) 4876 if (!rx_ring->rx_buffer_info)
4885 rx_ring->rx_buffer_info = vmalloc(size); 4877 rx_ring->rx_buffer_info = vmalloc(size);
4886 if (!rx_ring->rx_buffer_info) { 4878 if (!rx_ring->rx_buffer_info) {
4887 DPRINTK(PROBE, ERR, 4879 e_err("vmalloc allocation failed for the Rx desc ring\n");
4888 "vmalloc allocation failed for the rx desc ring\n");
4889 goto alloc_failed; 4880 goto alloc_failed;
4890 } 4881 }
4891 memset(rx_ring->rx_buffer_info, 0, size); 4882 memset(rx_ring->rx_buffer_info, 0, size);
@@ -4898,8 +4889,7 @@ int ixgbe_setup_rx_resources(struct ixgbe_adapter *adapter,
4898 &rx_ring->dma, GFP_KERNEL); 4889 &rx_ring->dma, GFP_KERNEL);
4899 4890
4900 if (!rx_ring->desc) { 4891 if (!rx_ring->desc) {
4901 DPRINTK(PROBE, ERR, 4892 e_err("Memory allocation failed for the Rx desc ring\n");
4902 "Memory allocation failed for the rx desc ring\n");
4903 vfree(rx_ring->rx_buffer_info); 4893 vfree(rx_ring->rx_buffer_info);
4904 goto alloc_failed; 4894 goto alloc_failed;
4905 } 4895 }
@@ -4932,7 +4922,7 @@ static int ixgbe_setup_all_rx_resources(struct ixgbe_adapter *adapter)
4932 err = ixgbe_setup_rx_resources(adapter, adapter->rx_ring[i]); 4922 err = ixgbe_setup_rx_resources(adapter, adapter->rx_ring[i]);
4933 if (!err) 4923 if (!err)
4934 continue; 4924 continue;
4935 DPRINTK(PROBE, ERR, "Allocation for Rx Queue %u failed\n", i); 4925 e_err("Allocation for Rx Queue %u failed\n", i);
4936 break; 4926 break;
4937 } 4927 }
4938 4928
@@ -5031,8 +5021,7 @@ static int ixgbe_change_mtu(struct net_device *netdev, int new_mtu)
5031 if ((new_mtu < 68) || (max_frame > IXGBE_MAX_JUMBO_FRAME_SIZE)) 5021 if ((new_mtu < 68) || (max_frame > IXGBE_MAX_JUMBO_FRAME_SIZE))
5032 return -EINVAL; 5022 return -EINVAL;
5033 5023
5034 DPRINTK(PROBE, INFO, "changing MTU from %d to %d\n", 5024 e_info("changing MTU from %d to %d\n", netdev->mtu, new_mtu);
5035 netdev->mtu, new_mtu);
5036 /* must set new MTU before calling down or up */ 5025 /* must set new MTU before calling down or up */
5037 netdev->mtu = new_mtu; 5026 netdev->mtu = new_mtu;
5038 5027
@@ -5145,8 +5134,7 @@ static int ixgbe_resume(struct pci_dev *pdev)
5145 5134
5146 err = pci_enable_device_mem(pdev); 5135 err = pci_enable_device_mem(pdev);
5147 if (err) { 5136 if (err) {
5148 printk(KERN_ERR "ixgbe: Cannot enable PCI device from " 5137 e_dev_err("Cannot enable PCI device from suspend\n");
5149 "suspend\n");
5150 return err; 5138 return err;
5151 } 5139 }
5152 pci_set_master(pdev); 5140 pci_set_master(pdev);
@@ -5155,8 +5143,7 @@ static int ixgbe_resume(struct pci_dev *pdev)
5155 5143
5156 err = ixgbe_init_interrupt_scheme(adapter); 5144 err = ixgbe_init_interrupt_scheme(adapter);
5157 if (err) { 5145 if (err) {
5158 printk(KERN_ERR "ixgbe: Cannot initialize interrupts for " 5146 e_dev_err("Cannot initialize interrupts for device\n");
5159 "device\n");
5160 return err; 5147 return err;
5161 } 5148 }
5162 5149
@@ -5512,10 +5499,10 @@ static void ixgbe_sfp_config_module_task(struct work_struct *work)
5512 err = hw->phy.ops.identify_sfp(hw); 5499 err = hw->phy.ops.identify_sfp(hw);
5513 5500
5514 if (err == IXGBE_ERR_SFP_NOT_SUPPORTED) { 5501 if (err == IXGBE_ERR_SFP_NOT_SUPPORTED) {
5515 dev_err(&adapter->pdev->dev, "failed to initialize because " 5502 e_dev_err("failed to initialize because an unsupported SFP+ "
5516 "an unsupported SFP+ module type was detected.\n" 5503 "module type was detected.\n");
5517 "Reload the driver after installing a supported " 5504 e_dev_err("Reload the driver after installing a supported "
5518 "module.\n"); 5505 "module.\n");
5519 unregister_netdev(adapter->netdev); 5506 unregister_netdev(adapter->netdev);
5520 return; 5507 return;
5521 } 5508 }
@@ -5544,8 +5531,8 @@ static void ixgbe_fdir_reinit_task(struct work_struct *work)
5544 set_bit(__IXGBE_FDIR_INIT_DONE, 5531 set_bit(__IXGBE_FDIR_INIT_DONE,
5545 &(adapter->tx_ring[i]->reinit_state)); 5532 &(adapter->tx_ring[i]->reinit_state));
5546 } else { 5533 } else {
5547 DPRINTK(PROBE, ERR, "failed to finish FDIR re-initialization, " 5534 e_err("failed to finish FDIR re-initialization, "
5548 "ignored adding FDIR ATR filters\n"); 5535 "ignored adding FDIR ATR filters\n");
5549 } 5536 }
5550 /* Done FDIR Re-initialization, enable transmits */ 5537 /* Done FDIR Re-initialization, enable transmits */
5551 netif_tx_start_all_queues(adapter->netdev); 5538 netif_tx_start_all_queues(adapter->netdev);
@@ -5616,16 +5603,14 @@ static void ixgbe_watchdog_task(struct work_struct *work)
5616 flow_tx = !!(rmcs & IXGBE_RMCS_TFCE_802_3X); 5603 flow_tx = !!(rmcs & IXGBE_RMCS_TFCE_802_3X);
5617 } 5604 }
5618 5605
5619 printk(KERN_INFO "ixgbe: %s NIC Link is Up %s, " 5606 e_info("NIC Link is Up %s, Flow Control: %s\n",
5620 "Flow Control: %s\n",
5621 netdev->name,
5622 (link_speed == IXGBE_LINK_SPEED_10GB_FULL ? 5607 (link_speed == IXGBE_LINK_SPEED_10GB_FULL ?
5623 "10 Gbps" : 5608 "10 Gbps" :
5624 (link_speed == IXGBE_LINK_SPEED_1GB_FULL ? 5609 (link_speed == IXGBE_LINK_SPEED_1GB_FULL ?
5625 "1 Gbps" : "unknown speed")), 5610 "1 Gbps" : "unknown speed")),
5626 ((flow_rx && flow_tx) ? "RX/TX" : 5611 ((flow_rx && flow_tx) ? "RX/TX" :
5627 (flow_rx ? "RX" : 5612 (flow_rx ? "RX" :
5628 (flow_tx ? "TX" : "None")))); 5613 (flow_tx ? "TX" : "None"))));
5629 5614
5630 netif_carrier_on(netdev); 5615 netif_carrier_on(netdev);
5631 } else { 5616 } else {
@@ -5636,8 +5621,7 @@ static void ixgbe_watchdog_task(struct work_struct *work)
5636 adapter->link_up = false; 5621 adapter->link_up = false;
5637 adapter->link_speed = 0; 5622 adapter->link_speed = 0;
5638 if (netif_carrier_ok(netdev)) { 5623 if (netif_carrier_ok(netdev)) {
5639 printk(KERN_INFO "ixgbe: %s NIC Link is Down\n", 5624 e_info("NIC Link is Down\n");
5640 netdev->name);
5641 netif_carrier_off(netdev); 5625 netif_carrier_off(netdev);
5642 } 5626 }
5643 } 5627 }
@@ -5813,9 +5797,8 @@ static bool ixgbe_tx_csum(struct ixgbe_adapter *adapter,
5813 break; 5797 break;
5814 default: 5798 default:
5815 if (unlikely(net_ratelimit())) { 5799 if (unlikely(net_ratelimit())) {
5816 DPRINTK(PROBE, WARNING, 5800 e_warn("partial checksum but "
5817 "partial checksum but proto=%x!\n", 5801 "proto=%x!\n", skb->protocol);
5818 skb->protocol);
5819 } 5802 }
5820 break; 5803 break;
5821 } 5804 }
@@ -5926,7 +5909,7 @@ static int ixgbe_tx_map(struct ixgbe_adapter *adapter,
5926 return count; 5909 return count;
5927 5910
5928dma_error: 5911dma_error:
5929 dev_err(&pdev->dev, "TX DMA map failed\n"); 5912 e_dev_err("TX DMA map failed\n");
5930 5913
5931 /* clear timestamp and dma mappings for failed tx_buffer_info map */ 5914 /* clear timestamp and dma mappings for failed tx_buffer_info map */
5932 tx_buffer_info->dma = 0; 5915 tx_buffer_info->dma = 0;
@@ -6423,8 +6406,7 @@ static void __devinit ixgbe_probe_vf(struct ixgbe_adapter *adapter,
6423 adapter->flags |= IXGBE_FLAG_SRIOV_ENABLED; 6406 adapter->flags |= IXGBE_FLAG_SRIOV_ENABLED;
6424 err = pci_enable_sriov(adapter->pdev, adapter->num_vfs); 6407 err = pci_enable_sriov(adapter->pdev, adapter->num_vfs);
6425 if (err) { 6408 if (err) {
6426 DPRINTK(PROBE, ERR, 6409 e_err("Failed to enable PCI sriov: %d\n", err);
6427 "Failed to enable PCI sriov: %d\n", err);
6428 goto err_novfs; 6410 goto err_novfs;
6429 } 6411 }
6430 /* If call to enable VFs succeeded then allocate memory 6412 /* If call to enable VFs succeeded then allocate memory
@@ -6448,9 +6430,8 @@ static void __devinit ixgbe_probe_vf(struct ixgbe_adapter *adapter,
6448 } 6430 }
6449 6431
6450 /* Oh oh */ 6432 /* Oh oh */
6451 DPRINTK(PROBE, ERR, 6433 e_err("Unable to allocate memory for VF Data Storage - SRIOV "
6452 "Unable to allocate memory for VF " 6434 "disabled\n");
6453 "Data Storage - SRIOV disabled\n");
6454 pci_disable_sriov(adapter->pdev); 6435 pci_disable_sriov(adapter->pdev);
6455 6436
6456err_novfs: 6437err_novfs:
@@ -6498,8 +6479,8 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
6498 err = dma_set_coherent_mask(&pdev->dev, 6479 err = dma_set_coherent_mask(&pdev->dev,
6499 DMA_BIT_MASK(32)); 6480 DMA_BIT_MASK(32));
6500 if (err) { 6481 if (err) {
6501 dev_err(&pdev->dev, "No usable DMA " 6482 e_dev_err("No usable DMA configuration, "
6502 "configuration, aborting\n"); 6483 "aborting\n");
6503 goto err_dma; 6484 goto err_dma;
6504 } 6485 }
6505 } 6486 }
@@ -6509,8 +6490,7 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
6509 err = pci_request_selected_regions(pdev, pci_select_bars(pdev, 6490 err = pci_request_selected_regions(pdev, pci_select_bars(pdev,
6510 IORESOURCE_MEM), ixgbe_driver_name); 6491 IORESOURCE_MEM), ixgbe_driver_name);
6511 if (err) { 6492 if (err) {
6512 dev_err(&pdev->dev, 6493 e_dev_err("pci_request_selected_regions failed 0x%x\n", err);
6513 "pci_request_selected_regions failed 0x%x\n", err);
6514 goto err_pci_reg; 6494 goto err_pci_reg;
6515 } 6495 }
6516 6496
@@ -6621,8 +6601,7 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
6621 if (adapter->flags & IXGBE_FLAG_FAN_FAIL_CAPABLE) { 6601 if (adapter->flags & IXGBE_FLAG_FAN_FAIL_CAPABLE) {
6622 u32 esdp = IXGBE_READ_REG(hw, IXGBE_ESDP); 6602 u32 esdp = IXGBE_READ_REG(hw, IXGBE_ESDP);
6623 if (esdp & IXGBE_ESDP_SDP1) 6603 if (esdp & IXGBE_ESDP_SDP1)
6624 DPRINTK(PROBE, CRIT, 6604 e_crit("Fan has stopped, replace the adapter\n");
6625 "Fan has stopped, replace the adapter\n");
6626 } 6605 }
6627 6606
6628 /* reset_hw fills in the perm_addr as well */ 6607 /* reset_hw fills in the perm_addr as well */
@@ -6641,19 +6620,19 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
6641 round_jiffies(jiffies + (2 * HZ))); 6620 round_jiffies(jiffies + (2 * HZ)));
6642 err = 0; 6621 err = 0;
6643 } else if (err == IXGBE_ERR_SFP_NOT_SUPPORTED) { 6622 } else if (err == IXGBE_ERR_SFP_NOT_SUPPORTED) {
6644 dev_err(&adapter->pdev->dev, "failed to initialize because " 6623 e_dev_err("failed to initialize because an unsupported SFP+ "
6645 "an unsupported SFP+ module type was detected.\n" 6624 "module type was detected.\n");
6646 "Reload the driver after installing a supported " 6625 e_dev_err("Reload the driver after installing a supported "
6647 "module.\n"); 6626 "module.\n");
6648 goto err_sw_init; 6627 goto err_sw_init;
6649 } else if (err) { 6628 } else if (err) {
6650 dev_err(&adapter->pdev->dev, "HW Init failed: %d\n", err); 6629 e_dev_err("HW Init failed: %d\n", err);
6651 goto err_sw_init; 6630 goto err_sw_init;
6652 } 6631 }
6653 6632
6654 ixgbe_probe_vf(adapter, ii); 6633 ixgbe_probe_vf(adapter, ii);
6655 6634
6656 netdev->features = NETIF_F_SG | 6635 netdev->features = NETIF_F_SG |
6657 NETIF_F_IP_CSUM | 6636 NETIF_F_IP_CSUM |
6658 NETIF_F_HW_VLAN_TX | 6637 NETIF_F_HW_VLAN_TX |
6659 NETIF_F_HW_VLAN_RX | 6638 NETIF_F_HW_VLAN_RX |
@@ -6700,7 +6679,7 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
6700 6679
6701 /* make sure the EEPROM is good */ 6680 /* make sure the EEPROM is good */
6702 if (hw->eeprom.ops.validate_checksum(hw, NULL) < 0) { 6681 if (hw->eeprom.ops.validate_checksum(hw, NULL) < 0) {
6703 dev_err(&pdev->dev, "The EEPROM Checksum Is Not Valid\n"); 6682 e_dev_err("The EEPROM Checksum Is Not Valid\n");
6704 err = -EIO; 6683 err = -EIO;
6705 goto err_eeprom; 6684 goto err_eeprom;
6706 } 6685 }
@@ -6709,7 +6688,7 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
6709 memcpy(netdev->perm_addr, hw->mac.perm_addr, netdev->addr_len); 6688 memcpy(netdev->perm_addr, hw->mac.perm_addr, netdev->addr_len);
6710 6689
6711 if (ixgbe_validate_mac_addr(netdev->perm_addr)) { 6690 if (ixgbe_validate_mac_addr(netdev->perm_addr)) {
6712 dev_err(&pdev->dev, "invalid MAC address\n"); 6691 e_dev_err("invalid MAC address\n");
6713 err = -EIO; 6692 err = -EIO;
6714 goto err_eeprom; 6693 goto err_eeprom;
6715 } 6694 }
@@ -6744,7 +6723,7 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
6744 hw->mac.ops.get_bus_info(hw); 6723 hw->mac.ops.get_bus_info(hw);
6745 6724
6746 /* print bus type/speed/width info */ 6725 /* print bus type/speed/width info */
6747 dev_info(&pdev->dev, "(PCI Express:%s:%s) %pM\n", 6726 e_dev_info("(PCI Express:%s:%s) %pM\n",
6748 ((hw->bus.speed == ixgbe_bus_speed_5000) ? "5.0Gb/s": 6727 ((hw->bus.speed == ixgbe_bus_speed_5000) ? "5.0Gb/s":
6749 (hw->bus.speed == ixgbe_bus_speed_2500) ? "2.5Gb/s":"Unknown"), 6728 (hw->bus.speed == ixgbe_bus_speed_2500) ? "2.5Gb/s":"Unknown"),
6750 ((hw->bus.width == ixgbe_bus_width_pcie_x8) ? "Width x8" : 6729 ((hw->bus.width == ixgbe_bus_width_pcie_x8) ? "Width x8" :
@@ -6754,20 +6733,20 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
6754 netdev->dev_addr); 6733 netdev->dev_addr);
6755 ixgbe_read_pba_num_generic(hw, &part_num); 6734 ixgbe_read_pba_num_generic(hw, &part_num);
6756 if (ixgbe_is_sfp(hw) && hw->phy.sfp_type != ixgbe_sfp_type_not_present) 6735 if (ixgbe_is_sfp(hw) && hw->phy.sfp_type != ixgbe_sfp_type_not_present)
6757 dev_info(&pdev->dev, "MAC: %d, PHY: %d, SFP+: %d, PBA No: %06x-%03x\n", 6736 e_dev_info("MAC: %d, PHY: %d, SFP+: %d, "
6758 hw->mac.type, hw->phy.type, hw->phy.sfp_type, 6737 "PBA No: %06x-%03x\n",
6759 (part_num >> 8), (part_num & 0xff)); 6738 hw->mac.type, hw->phy.type, hw->phy.sfp_type,
6739 (part_num >> 8), (part_num & 0xff));
6760 else 6740 else
6761 dev_info(&pdev->dev, "MAC: %d, PHY: %d, PBA No: %06x-%03x\n", 6741 e_dev_info("MAC: %d, PHY: %d, PBA No: %06x-%03x\n",
6762 hw->mac.type, hw->phy.type, 6742 hw->mac.type, hw->phy.type,
6763 (part_num >> 8), (part_num & 0xff)); 6743 (part_num >> 8), (part_num & 0xff));
6764 6744
6765 if (hw->bus.width <= ixgbe_bus_width_pcie_x4) { 6745 if (hw->bus.width <= ixgbe_bus_width_pcie_x4) {
6766 dev_warn(&pdev->dev, "PCI-Express bandwidth available for " 6746 e_dev_warn("PCI-Express bandwidth available for this card is "
6767 "this card is not sufficient for optimal " 6747 "not sufficient for optimal performance.\n");
6768 "performance.\n"); 6748 e_dev_warn("For optimal performance a x8 PCI-Express slot "
6769 dev_warn(&pdev->dev, "For optimal performance a x8 " 6749 "is required.\n");
6770 "PCI-Express slot is required.\n");
6771 } 6750 }
6772 6751
6773 /* save off EEPROM version number */ 6752 /* save off EEPROM version number */
@@ -6778,12 +6757,12 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
6778 6757
6779 if (err == IXGBE_ERR_EEPROM_VERSION) { 6758 if (err == IXGBE_ERR_EEPROM_VERSION) {
6780 /* We are running on a pre-production device, log a warning */ 6759 /* We are running on a pre-production device, log a warning */
6781 dev_warn(&pdev->dev, "This device is a pre-production " 6760 e_dev_warn("This device is a pre-production adapter/LOM. "
6782 "adapter/LOM. Please be aware there may be issues " 6761 "Please be aware there may be issues associated "
6783 "associated with your hardware. If you are " 6762 "with your hardware. If you are experiencing "
6784 "experiencing problems please contact your Intel or " 6763 "problems please contact your Intel or hardware "
6785 "hardware representative who provided you with this " 6764 "representative who provided you with this "
6786 "hardware.\n"); 6765 "hardware.\n");
6787 } 6766 }
6788 strcpy(netdev->name, "eth%d"); 6767 strcpy(netdev->name, "eth%d");
6789 err = register_netdev(netdev); 6768 err = register_netdev(netdev);
@@ -6806,8 +6785,7 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
6806 } 6785 }
6807#endif 6786#endif
6808 if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED) { 6787 if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED) {
6809 DPRINTK(PROBE, INFO, "IOV is enabled with %d VFs\n", 6788 e_info("IOV is enabled with %d VFs\n", adapter->num_vfs);
6810 adapter->num_vfs);
6811 for (i = 0; i < adapter->num_vfs; i++) 6789 for (i = 0; i < adapter->num_vfs; i++)
6812 ixgbe_vf_configuration(pdev, (i | 0x10000000)); 6790 ixgbe_vf_configuration(pdev, (i | 0x10000000));
6813 } 6791 }
@@ -6815,7 +6793,7 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
6815 /* add san mac addr to netdev */ 6793 /* add san mac addr to netdev */
6816 ixgbe_add_sanmac_netdev(netdev); 6794 ixgbe_add_sanmac_netdev(netdev);
6817 6795
6818 dev_info(&pdev->dev, "Intel(R) 10 Gigabit Network Connection\n"); 6796 e_dev_info("Intel(R) 10 Gigabit Network Connection\n");
6819 cards_found++; 6797 cards_found++;
6820 return 0; 6798 return 0;
6821 6799
@@ -6905,7 +6883,7 @@ static void __devexit ixgbe_remove(struct pci_dev *pdev)
6905 pci_release_selected_regions(pdev, pci_select_bars(pdev, 6883 pci_release_selected_regions(pdev, pci_select_bars(pdev,
6906 IORESOURCE_MEM)); 6884 IORESOURCE_MEM));
6907 6885
6908 DPRINTK(PROBE, INFO, "complete\n"); 6886 e_dev_info("complete\n");
6909 6887
6910 free_netdev(netdev); 6888 free_netdev(netdev);
6911 6889
@@ -6955,8 +6933,7 @@ static pci_ers_result_t ixgbe_io_slot_reset(struct pci_dev *pdev)
6955 int err; 6933 int err;
6956 6934
6957 if (pci_enable_device_mem(pdev)) { 6935 if (pci_enable_device_mem(pdev)) {
6958 DPRINTK(PROBE, ERR, 6936 e_err("Cannot re-enable PCI device after reset.\n");
6959 "Cannot re-enable PCI device after reset.\n");
6960 result = PCI_ERS_RESULT_DISCONNECT; 6937 result = PCI_ERS_RESULT_DISCONNECT;
6961 } else { 6938 } else {
6962 pci_set_master(pdev); 6939 pci_set_master(pdev);
@@ -6972,8 +6949,8 @@ static pci_ers_result_t ixgbe_io_slot_reset(struct pci_dev *pdev)
6972 6949
6973 err = pci_cleanup_aer_uncorrect_error_status(pdev); 6950 err = pci_cleanup_aer_uncorrect_error_status(pdev);
6974 if (err) { 6951 if (err) {
6975 dev_err(&pdev->dev, 6952 e_dev_err("pci_cleanup_aer_uncorrect_error_status "
6976 "pci_cleanup_aer_uncorrect_error_status failed 0x%0x\n", err); 6953 "failed 0x%0x\n", err);
6977 /* non-fatal, continue */ 6954 /* non-fatal, continue */
6978 } 6955 }
6979 6956
@@ -6994,7 +6971,7 @@ static void ixgbe_io_resume(struct pci_dev *pdev)
6994 6971
6995 if (netif_running(netdev)) { 6972 if (netif_running(netdev)) {
6996 if (ixgbe_up(adapter)) { 6973 if (ixgbe_up(adapter)) {
6997 DPRINTK(PROBE, INFO, "ixgbe_up failed after reset\n"); 6974 e_info("ixgbe_up failed after reset\n");
6998 return; 6975 return;
6999 } 6976 }
7000 } 6977 }
@@ -7030,10 +7007,9 @@ static struct pci_driver ixgbe_driver = {
7030static int __init ixgbe_init_module(void) 7007static int __init ixgbe_init_module(void)
7031{ 7008{
7032 int ret; 7009 int ret;
7033 printk(KERN_INFO "%s: %s - version %s\n", ixgbe_driver_name, 7010 pr_info("%s - version %s\n", ixgbe_driver_string,
7034 ixgbe_driver_string, ixgbe_driver_version); 7011 ixgbe_driver_version);
7035 7012 pr_info("%s\n", ixgbe_copyright);
7036 printk(KERN_INFO "%s: %s\n", ixgbe_driver_name, ixgbe_copyright);
7037 7013
7038#ifdef CONFIG_IXGBE_DCA 7014#ifdef CONFIG_IXGBE_DCA
7039 dca_register_notify(&dca_notifier); 7015 dca_register_notify(&dca_notifier);
@@ -7072,18 +7048,17 @@ static int ixgbe_notify_dca(struct notifier_block *nb, unsigned long event,
7072} 7048}
7073 7049
7074#endif /* CONFIG_IXGBE_DCA */ 7050#endif /* CONFIG_IXGBE_DCA */
7075#ifdef DEBUG 7051
7076/** 7052/**
7077 * ixgbe_get_hw_dev_name - return device name string 7053 * ixgbe_get_hw_dev return device
7078 * used by hardware layer to print debugging information 7054 * used by hardware layer to print debugging information
7079 **/ 7055 **/
7080char *ixgbe_get_hw_dev_name(struct ixgbe_hw *hw) 7056struct net_device *ixgbe_get_hw_dev(struct ixgbe_hw *hw)
7081{ 7057{
7082 struct ixgbe_adapter *adapter = hw->back; 7058 struct ixgbe_adapter *adapter = hw->back;
7083 return adapter->netdev->name; 7059 return adapter->netdev;
7084} 7060}
7085 7061
7086#endif
7087module_exit(ixgbe_exit_module); 7062module_exit(ixgbe_exit_module);
7088 7063
7089/* ixgbe_main.c */ 7064/* ixgbe_main.c */