diff options
author | Yinglin Luan <synmyth@gmail.com> | 2010-08-22 23:56:19 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-08-24 05:28:55 +0200 |
commit | 7b589a35a1063b52f98c8b0f1b8f69afe91c3dba (patch) | |
tree | b74468073f1b6f1edebef94afad544b933584956 /drivers | |
parent | bridge: netfilter: fix a memory leak (diff) | |
download | linux-7b589a35a1063b52f98c8b0f1b8f69afe91c3dba.tar.xz linux-7b589a35a1063b52f98c8b0f1b8f69afe91c3dba.zip |
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/netxen/netxen_nic_main.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c index cb30df106a2c..73d314592230 100644 --- a/drivers/net/netxen/netxen_nic_main.c +++ b/drivers/net/netxen/netxen_nic_main.c @@ -2131,9 +2131,16 @@ static int netxen_nic_poll(struct napi_struct *napi, 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); + for (ring = 0; ring < adapter->max_sds_rings; ring++) { + sds_ring = &recv_ctx->sds_rings[ring]; + netxen_intr(adapter->irq, sds_ring); + } enable_irq(adapter->irq); } #endif |