diff options
author | Dhananjay Phadke <dhananjay@netxen.com> | 2009-07-26 20:17:21 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-07-26 20:17:21 -0700 |
commit | c8a5a658b826508c7c61b57e9a590f7b8760fb51 (patch) | |
tree | 33f2e37b2513eb16d823cf122fbf4e2c458e242f /drivers/net/netxen/netxen_nic_init.c | |
parent | c587aea951a56d29741a3cef4ea3e142c93b3207 (diff) |
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/netxen/netxen_nic_init.c')
-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 5d3343ef3d8..7acf204e38c 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; |