]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit54ccb40ed4b8f55d858df70dcb9342cfd55e288c
tree3221b6a995853fe0a29887c1f83c158477845cd3
parent8b8a038b3b6d0fb34b5db5022bf1b13a161d27e8
tulip: fix crash on iface up with shirq debug

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>
drivers/net/tulip/tulip_core.c