tulip: fix crash on iface up with shirq debug
authorKyle McMartin <kyle@redhat.com>
Thu, 19 Mar 2009 01:49:01 +0000 (18:49 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 19 Mar 2009 01:49:01 +0000 (18:49 -0700)
Tulip is currently doing request_irq before it has done its
initialization. This is usually not a problem because it hasn't
enable interrupts yet, but with DEBUG_SHIRQ on, we call the irq handler
when registering the interrupt as a sanity check.

This can result in a NULL ptr dereference, so call tulip_init_ring
before request_irq, and add a free_ring function to do the freeing
now shared with tulip_close.

Tested with a shell loop running ifup, ifdown in a loop a few hundred
times with DEBUG_SHIRQ on.

Signed-off-by: Kyle McMartin <kyle@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

No differences found