]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
enic: Bug Fix: Fix hardware transmit queue indexing in enic_poll_controller
authorVasanthy Kolluri <vkolluri@cisco.com>
Thu, 9 Jun 2011 10:37:07 +0000 (10:37 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 11 Nov 2011 17:36:35 +0000 (09:36 -0800)
commit b880a954b9e2585ce325aedd76e4741880cab180 upstream.

Signed-off-by: Christian Benvenuti <benve@cisco.com>
Signed-off-by: Danny Guo <dannguo@cisco.com>
Signed-off-by: Vasanthy Kolluri <vkolluri@cisco.com>
Signed-off-by: Roopa Prabhu <roprabhu@cisco.com>
Signed-off-by: David Wang <dwang2@cisco.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: Chun-Yi Lee <jlee@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/net/enic/enic_main.c

index 2f433fbfca0cfa30e8e95fd38aefb901792fad17..51fba5fe94bda5b291f88b58e7cd6e563dd471bc 100644 (file)
@@ -1718,8 +1718,12 @@ static void enic_poll_controller(struct net_device *netdev)
                        enic_isr_msix_rq(enic->msix_entry[intr].vector,
                                &enic->napi[i]);
                }
-               intr = enic_msix_wq_intr(enic, i);
-               enic_isr_msix_wq(enic->msix_entry[intr].vector, enic);
+
+               for (i = 0; i < enic->wq_count; i++) {
+                       intr = enic_msix_wq_intr(enic, i);
+                       enic_isr_msix_wq(enic->msix_entry[intr].vector, enic);
+               }
+
                break;
        case VNIC_DEV_INTR_MODE_MSI:
                enic_isr_msi(enic->pdev->irq, enic);