diff options
Diffstat (limited to 'drivers/net/qlcnic/qlcnic_init.c')
-rw-r--r-- | drivers/net/qlcnic/qlcnic_init.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/qlcnic/qlcnic_init.c b/drivers/net/qlcnic/qlcnic_init.c index 01ce74ee99f9..9ef9f58f84dd 100644 --- a/drivers/net/qlcnic/qlcnic_init.c +++ b/drivers/net/qlcnic/qlcnic_init.c | |||
@@ -1287,6 +1287,7 @@ qlcnic_alloc_rx_skb(struct qlcnic_adapter *adapter, | |||
1287 | rds_ring->dma_size, PCI_DMA_FROMDEVICE); | 1287 | rds_ring->dma_size, PCI_DMA_FROMDEVICE); |
1288 | 1288 | ||
1289 | if (pci_dma_mapping_error(pdev, dma)) { | 1289 | if (pci_dma_mapping_error(pdev, dma)) { |
1290 | adapter->stats.rx_dma_map_error++; | ||
1290 | dev_kfree_skb_any(skb); | 1291 | dev_kfree_skb_any(skb); |
1291 | buffer->skb = NULL; | 1292 | buffer->skb = NULL; |
1292 | return -ENOMEM; | 1293 | return -ENOMEM; |
@@ -1311,8 +1312,10 @@ static struct sk_buff *qlcnic_process_rxbuf(struct qlcnic_adapter *adapter, | |||
1311 | PCI_DMA_FROMDEVICE); | 1312 | PCI_DMA_FROMDEVICE); |
1312 | 1313 | ||
1313 | skb = buffer->skb; | 1314 | skb = buffer->skb; |
1314 | if (!skb) | 1315 | if (!skb) { |
1316 | adapter->stats.null_skb++; | ||
1315 | goto no_skb; | 1317 | goto no_skb; |
1318 | } | ||
1316 | 1319 | ||
1317 | if (likely(adapter->rx_csum && cksum == STATUS_CKSUM_OK)) { | 1320 | if (likely(adapter->rx_csum && cksum == STATUS_CKSUM_OK)) { |
1318 | adapter->stats.csummed++; | 1321 | adapter->stats.csummed++; |
@@ -1502,6 +1505,8 @@ qlcnic_process_rcv_ring(struct qlcnic_host_sds_ring *sds_ring, int max) | |||
1502 | 1505 | ||
1503 | if (rxbuf) | 1506 | if (rxbuf) |
1504 | list_add_tail(&rxbuf->list, &sds_ring->free_list[ring]); | 1507 | list_add_tail(&rxbuf->list, &sds_ring->free_list[ring]); |
1508 | else | ||
1509 | adapter->stats.null_rxbuf++; | ||
1505 | 1510 | ||
1506 | skip: | 1511 | skip: |
1507 | for (; desc_cnt > 0; desc_cnt--) { | 1512 | for (; desc_cnt > 0; desc_cnt--) { |