diff options
Diffstat (limited to 'drivers/net')
| -rw-r--r-- | drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c | 2 | ||||
| -rw-r--r-- | drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c | 18 | ||||
| -rw-r--r-- | drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 10 |
3 files changed, 19 insertions, 11 deletions
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c index 304e247bdf33..ffbae293cef5 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c | |||
| @@ -136,7 +136,7 @@ int qlcnic_82xx_issue_cmd(struct qlcnic_adapter *adapter, | |||
| 136 | rsp = qlcnic_poll_rsp(adapter); | 136 | rsp = qlcnic_poll_rsp(adapter); |
| 137 | 137 | ||
| 138 | if (rsp == QLCNIC_CDRP_RSP_TIMEOUT) { | 138 | if (rsp == QLCNIC_CDRP_RSP_TIMEOUT) { |
| 139 | dev_err(&pdev->dev, "card response timeout.\n"); | 139 | dev_err(&pdev->dev, "command timeout, response = 0x%x\n", rsp); |
| 140 | cmd->rsp.arg[0] = QLCNIC_RCODE_TIMEOUT; | 140 | cmd->rsp.arg[0] = QLCNIC_RCODE_TIMEOUT; |
| 141 | } else if (rsp == QLCNIC_CDRP_RSP_FAIL) { | 141 | } else if (rsp == QLCNIC_CDRP_RSP_FAIL) { |
| 142 | cmd->rsp.arg[0] = QLCRD32(adapter, QLCNIC_CDRP_ARG(1), &err); | 142 | cmd->rsp.arg[0] = QLCRD32(adapter, QLCNIC_CDRP_ARG(1), &err); |
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c index 1b7f3dbae289..141f116eb868 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c | |||
| @@ -1290,17 +1290,25 @@ static u64 *qlcnic_fill_stats(u64 *data, void *stats, int type) | |||
| 1290 | 1290 | ||
| 1291 | void qlcnic_update_stats(struct qlcnic_adapter *adapter) | 1291 | void qlcnic_update_stats(struct qlcnic_adapter *adapter) |
| 1292 | { | 1292 | { |
| 1293 | struct qlcnic_tx_queue_stats tx_stats; | ||
| 1293 | struct qlcnic_host_tx_ring *tx_ring; | 1294 | struct qlcnic_host_tx_ring *tx_ring; |
| 1294 | int ring; | 1295 | int ring; |
| 1295 | 1296 | ||
| 1297 | memset(&tx_stats, 0, sizeof(tx_stats)); | ||
| 1296 | for (ring = 0; ring < adapter->drv_tx_rings; ring++) { | 1298 | for (ring = 0; ring < adapter->drv_tx_rings; ring++) { |
| 1297 | tx_ring = &adapter->tx_ring[ring]; | 1299 | tx_ring = &adapter->tx_ring[ring]; |
| 1298 | adapter->stats.xmit_on += tx_ring->tx_stats.xmit_on; | 1300 | tx_stats.xmit_on += tx_ring->tx_stats.xmit_on; |
| 1299 | adapter->stats.xmit_off += tx_ring->tx_stats.xmit_off; | 1301 | tx_stats.xmit_off += tx_ring->tx_stats.xmit_off; |
| 1300 | adapter->stats.xmitcalled += tx_ring->tx_stats.xmit_called; | 1302 | tx_stats.xmit_called += tx_ring->tx_stats.xmit_called; |
| 1301 | adapter->stats.xmitfinished += tx_ring->tx_stats.xmit_finished; | 1303 | tx_stats.xmit_finished += tx_ring->tx_stats.xmit_finished; |
| 1302 | adapter->stats.txbytes += tx_ring->tx_stats.tx_bytes; | 1304 | tx_stats.tx_bytes += tx_ring->tx_stats.tx_bytes; |
| 1303 | } | 1305 | } |
| 1306 | |||
| 1307 | adapter->stats.xmit_on = tx_stats.xmit_on; | ||
| 1308 | adapter->stats.xmit_off = tx_stats.xmit_off; | ||
| 1309 | adapter->stats.xmitcalled = tx_stats.xmit_called; | ||
| 1310 | adapter->stats.xmitfinished = tx_stats.xmit_finished; | ||
| 1311 | adapter->stats.txbytes = tx_stats.tx_bytes; | ||
| 1304 | } | 1312 | } |
| 1305 | 1313 | ||
| 1306 | static u64 *qlcnic_fill_tx_queue_stats(u64 *data, void *stats) | 1314 | static u64 *qlcnic_fill_tx_queue_stats(u64 *data, void *stats) |
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c index 4fc186713b66..3187bc0c471b 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | |||
| @@ -2323,14 +2323,14 @@ qlcnic_setup_netdev(struct qlcnic_adapter *adapter, struct net_device *netdev, | |||
| 2323 | if (err) | 2323 | if (err) |
| 2324 | return err; | 2324 | return err; |
| 2325 | 2325 | ||
| 2326 | qlcnic_dcb_init_dcbnl_ops(adapter->dcb); | ||
| 2327 | |||
| 2326 | err = register_netdev(netdev); | 2328 | err = register_netdev(netdev); |
| 2327 | if (err) { | 2329 | if (err) { |
| 2328 | dev_err(&pdev->dev, "failed to register net device\n"); | 2330 | dev_err(&pdev->dev, "failed to register net device\n"); |
| 2329 | return err; | 2331 | return err; |
| 2330 | } | 2332 | } |
| 2331 | 2333 | ||
| 2332 | qlcnic_dcb_init_dcbnl_ops(adapter->dcb); | ||
| 2333 | |||
| 2334 | return 0; | 2334 | return 0; |
| 2335 | } | 2335 | } |
| 2336 | 2336 | ||
| @@ -2623,13 +2623,13 @@ qlcnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
| 2623 | if (err) | 2623 | if (err) |
| 2624 | goto err_out_disable_mbx_intr; | 2624 | goto err_out_disable_mbx_intr; |
| 2625 | 2625 | ||
| 2626 | if (adapter->portnum == 0) | ||
| 2627 | qlcnic_set_drv_version(adapter); | ||
| 2628 | |||
| 2626 | err = qlcnic_setup_netdev(adapter, netdev, pci_using_dac); | 2629 | err = qlcnic_setup_netdev(adapter, netdev, pci_using_dac); |
| 2627 | if (err) | 2630 | if (err) |
| 2628 | goto err_out_disable_mbx_intr; | 2631 | goto err_out_disable_mbx_intr; |
| 2629 | 2632 | ||
| 2630 | if (adapter->portnum == 0) | ||
| 2631 | qlcnic_set_drv_version(adapter); | ||
| 2632 | |||
| 2633 | pci_set_drvdata(pdev, adapter); | 2633 | pci_set_drvdata(pdev, adapter); |
| 2634 | 2634 | ||
| 2635 | if (qlcnic_82xx_check(adapter)) | 2635 | if (qlcnic_82xx_check(adapter)) |
