qlcnic: Rename the IRQ description.
authorHimanshu Madhani <himanshu.madhani@qlogic.com>
Wed, 24 Apr 2013 12:42:43 +0000 (12:42 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 24 Apr 2013 23:34:06 +0000 (19:34 -0400)
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>
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c

index 767c683a4870322756220afbe9ce24fba054a426..b2206db9043e40ed898041874206e2ab5b9d2626 100644 (file)
@@ -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;
index 4e0bcb17e209af4a7d02b68c8482105e77361950..1310b7b6bc5c76572390f16300304b10ec40efcc 100644 (file)
@@ -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)