From: Dhananjay Phadke Date: Mon, 27 Jul 2009 03:17:21 +0000 (-0700) Subject: netxen: reset ring consumer during cleanup X-Git-Tag: v2.6.31-rc6~41^2~37 X-Git-Url: http://ftp.safe.ca/?a=commitdiff_plain;h=c8a5a658b826508c7c61b57e9a590f7b8760fb51;p=safe%2Fjmp%2Flinux-2.6 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 Signed-off-by: David S. Miller --- diff --git a/drivers/net/netxen/netxen_nic_init.c b/drivers/net/netxen/netxen_nic_init.c index 5d3343e..7acf204 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;