From: Chad Dupuis <cdupuis@redhat.com> Date: Wed, 22 Sep 2010 20:11:23 -0400 Subject: [net] netxen: fix poll implementation Message-id: <20100922201122.2527.95944.sendpatchset@localhost.localdomain> Patchwork-id: 28348 O-Subject: [RHEL 5.6 PATCH 5/6] netxen: fix poll implementation Bugzilla: 625079 RH-Acked-by: David S. Miller <davem@redhat.com> Bugzilla -------- Bug 625079 (https://bugzilla.redhat.com/show_bug.cgi?id=625079) Upstream Status --------------- net-2.6 commit id 7b589a35a1063b52f98c8b0f1b8f69afe91c3dba Description ----------- >From e309ebfbd50305516e024b41f4083aa3db2f5def Mon Sep 17 00:00:00 2001 From: Yinglin Luan <synmyth@gmail.com> Date: Sun, 22 Aug 2010 21:56:19 +0000 Subject: [PATCH] netxen: fix poll implementation Function netxen_intr has pointer to nx_host_sds_ring as second parameter not pointer to netxen_adapter. Signed-off-by: Yinglin Luan <synmyth@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c index d45f489..36cad7b 100644 --- a/drivers/net/netxen/netxen_nic_main.c +++ b/drivers/net/netxen/netxen_nic_main.c @@ -2172,9 +2172,16 @@ static int netxen_nic_poll(struct net_device *netdev, int *budget) #ifdef CONFIG_NET_POLL_CONTROLLER static void netxen_nic_poll_controller(struct net_device *netdev) { + int ring; + struct nx_host_sds_ring *sds_ring; struct netxen_adapter *adapter = netdev_priv(netdev); + struct netxen_recv_context *recv_ctx = &adapter->recv_ctx; + disable_irq(adapter->irq); - netxen_intr(adapter->irq, adapter, NULL); + for (ring = 0; ring < adapter->max_sds_rings; ring++) { + sds_ring = &recv_ctx->sds_rings[ring]; + netxen_intr(adapter->irq, sds_ring, NULL); + } enable_irq(adapter->irq); } #endif