Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 27922b4260f65d317aabda37e42bbbff > files > 3004

kernel-2.6.18-238.el5.src.rpm

From: Chad Dupuis <cdupuis@redhat.com>
Date: Mon, 27 Sep 2010 20:35:23 -0400
Subject: [net] qlcnic: fix poll implementation
Message-id: <20100927203522.3859.56039.sendpatchset@localhost.localdomain>
Patchwork-id: 28435
O-Subject: [RHEL 5.6 PATCH 6/6] qlcnic: fix poll implementation
Bugzilla: 625084
RH-Acked-by: Andy Gospodarek <gospo@redhat.com>
RH-Acked-by: Stefan Assmann <sassmann@redhat.com>

Bugzilla
--------

Bug 625084 (https://bugzilla.redhat.com/show_bug.cgi?id=625084)

Upstream Status
---------------

net-2.6 commit id bf82791ed667758a0f18a4b76be2d931d2c1b39d

Description
-----------

>From 5c2156d6f71013348150f3b6528fe6a4921edfe8 Mon Sep 17 00:00:00 2001
From: Yinglin Luan <synmyth@gmail.com>
Date: Thu, 2 Sep 2010 16:01:45 -0800
Subject: [PATCH] qlcnic: fix poll implementation

Function qlcnic_intr has pointer to qlcnic_host_sds_ring
as second parameter not pointer to qlcnic_adapter.

Signed-off-by: Yinglin Luan <synmyth@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

diff --git a/drivers/net/qlcnic/qlcnic_main.c b/drivers/net/qlcnic/qlcnic_main.c
index d4ac0d2..dbb1b76 100644
--- a/drivers/net/qlcnic/qlcnic_main.c
+++ b/drivers/net/qlcnic/qlcnic_main.c
@@ -2205,9 +2205,16 @@ static int qlcnic_rx_poll(struct net_device *netdev, int *budget)
 #ifdef CONFIG_NET_POLL_CONTROLLER
 static void qlcnic_poll_controller(struct net_device *netdev)
 {
+	int ring;
+	struct qlcnic_host_sds_ring *sds_ring;
 	struct qlcnic_adapter *adapter = netdev_priv(netdev);
+	struct qlcnic_recv_context *recv_ctx = &adapter->recv_ctx;
+
 	disable_irq(adapter->irq);
-	qlcnic_intr(adapter->irq, adapter, NULL);
+	for (ring = 0; ring < adapter->max_sds_rings; ring++) {
+		sds_ring = &recv_ctx->sds_rings[ring];
+		qlcnic_intr(adapter->irq, sds_ring, NULL);
+	}
 	enable_irq(adapter->irq);
 }
 #endif