diff options
author | Dhananjay Phadke <dhananjay@netxen.com> | 2009-07-27 05:17:21 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-07-27 05:17:21 +0200 |
commit | c8a5a658b826508c7c61b57e9a590f7b8760fb51 (patch) | |
tree | 33f2e37b2513eb16d823cf122fbf4e2c458e242f /drivers/net | |
parent | net/bridge: use kobject_put to release kobject in br_add_if error path (diff) | |
download | linux-c8a5a658b826508c7c61b57e9a590f7b8760fb51.tar.xz linux-c8a5a658b826508c7c61b57e9a590f7b8760fb51.zip |
netxen: reset ring consumer during cleanup
Reset consumer of status rings to 0 when cleaning
up sw resources. Status rings are not deleted
during suspend since they have napi objects.
This ensures correct rx processing across suspen-resume.
Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/netxen/netxen_nic_init.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/netxen/netxen_nic_init.c b/drivers/net/netxen/netxen_nic_init.c index 5d3343ef3d86..7acf204e38c9 100644 --- a/drivers/net/netxen/netxen_nic_init.c +++ b/drivers/net/netxen/netxen_nic_init.c @@ -184,6 +184,13 @@ void netxen_free_sw_resources(struct netxen_adapter *adapter) kfree(recv_ctx->rds_rings); skip_rds: + if (recv_ctx->sds_rings == NULL) + goto skip_sds; + + for(ring = 0; ring < adapter->max_sds_rings; ring++) + recv_ctx->sds_rings[ring].consumer = 0; + +skip_sds: if (adapter->tx_ring == NULL) return; |