diff options
author | Himanshu Madhani <himanshu.madhani@qlogic.com> | 2013-04-24 12:42:43 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-04-24 19:34:06 -0400 |
commit | ddb2e1745daeef3bf2646213cbccca2830b8b211 (patch) | |
tree | c645ff54c483e0f20f2b36aa1ca85dca9e9a1e28 | |
parent | be273dc197eb84304b740db8965a2103005c49ba (diff) |
qlcnic: Rename the IRQ description.
Here's what modified vectors will look like
in the /proc/interrupts
MSIx INTx
-----------------------------------------
83xx qlcnic[MB]
qlcnic-ethX[Rx0]
qlcnic-ethX[Rx1]
..
qlcnic-ethX[RxN]
qlcnic-ethx[Tx0] qlcnic[MB+Tx0+Rx0]
82xx qlcnic-ethX[Rx0]
qlcnic-ethX[Rx1]
..
qlcnic-ethX[Tx0+RxN] qlcnic-ethX[Tx0+Rx0]
Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com>
Signed-off-by: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/qlogic/qlcnic/qlcnic.h | 4 | ||||
-rw-r--r-- | drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 23 |
2 files changed, 18 insertions, 9 deletions
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic.h b/drivers/net/ethernet/qlogic/qlcnic/qlcnic.h index 767c683a487..b2206db9043 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic.h +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic.h @@ -519,13 +519,13 @@ struct qlcnic_host_sds_ring { int irq; dma_addr_t phys_addr; - char name[IFNAMSIZ+4]; + char name[IFNAMSIZ + 12]; } ____cacheline_internodealigned_in_smp; struct qlcnic_host_tx_ring { int irq; void __iomem *crb_intr_mask; - char name[IFNAMSIZ+4]; + char name[IFNAMSIZ + 12]; u16 ctx_id; u32 producer; u32 sw_consumer; diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c index 4e0bcb17e20..1310b7b6bc5 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c @@ -1287,7 +1287,7 @@ qlcnic_request_irq(struct qlcnic_adapter *adapter) irq_handler_t handler; struct qlcnic_host_sds_ring *sds_ring; struct qlcnic_host_tx_ring *tx_ring; - int err, ring; + int err, ring, num_sds_rings; unsigned long flags = 0; struct net_device *netdev = adapter->netdev; @@ -1318,10 +1318,20 @@ qlcnic_request_irq(struct qlcnic_adapter *adapter) if (qlcnic_82xx_check(adapter) || (qlcnic_83xx_check(adapter) && (adapter->flags & QLCNIC_MSIX_ENABLED))) { - for (ring = 0; ring < adapter->max_sds_rings; ring++) { + num_sds_rings = adapter->max_sds_rings; + for (ring = 0; ring < num_sds_rings; ring++) { sds_ring = &recv_ctx->sds_rings[ring]; - snprintf(sds_ring->name, sizeof(int) + IFNAMSIZ, - "%s[%d]", netdev->name, ring); + if (qlcnic_82xx_check(adapter) && + (ring == (num_sds_rings - 1))) + snprintf(sds_ring->name, + sizeof(sds_ring->name), + "qlcnic-%s[Tx0+Rx%d]", + netdev->name, ring); + else + snprintf(sds_ring->name, + sizeof(sds_ring->name), + "qlcnic-%s[Rx%d]", + netdev->name, ring); err = request_irq(sds_ring->irq, handler, flags, sds_ring->name, sds_ring); if (err) @@ -1335,9 +1345,8 @@ qlcnic_request_irq(struct qlcnic_adapter *adapter) for (ring = 0; ring < adapter->max_drv_tx_rings; ring++) { tx_ring = &adapter->tx_ring[ring]; - snprintf(tx_ring->name, sizeof(int) + IFNAMSIZ, - "%s[%d]", netdev->name, - adapter->max_sds_rings + ring); + snprintf(tx_ring->name, sizeof(tx_ring->name), + "qlcnic-%s[Tx%d]", netdev->name, ring); err = request_irq(tx_ring->irq, handler, flags, tx_ring->name, tx_ring); if (err) |