spidernet: compile break.
authorLinas Vepstas <linas@austin.ibm.com>
Tue, 20 Feb 2007 22:32:00 +0000 (16:32 -0600)
committerJeff Garzik <jeff@garzik.org>
Tue, 27 Feb 2007 09:16:02 +0000 (04:16 -0500)
As of 2.6.20-git4, the spider_net driver does not compile.
This appears to be due to some archaic usage involving kobjects.

It also fixes a nasty double-free during ifdown of the interface.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Cc: Jens Osterkamp <Jens.Osterkamp@de.ibm.com>
Cc: Kou Ishizaki <kou.ishizaki@toshiba.co.jp>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/spider_net.c

index 64ed8ff..de26254 100644 (file)
@@ -1906,8 +1906,7 @@ spider_net_stop(struct net_device *netdev)
        spider_net_write_reg(card, SPIDER_NET_GHIINT1MSK, 0);
        spider_net_write_reg(card, SPIDER_NET_GHIINT2MSK, 0);
 
-       /* free_irq(netdev->irq, netdev);*/
-       free_irq(to_pci_dev(netdev->dev.parent)->irq, netdev);
+       free_irq(netdev->irq, netdev);
 
        spider_net_write_reg(card, SPIDER_NET_GDTDMACCNTR,
                             SPIDER_NET_DMA_TX_FEND_VALUE);
@@ -1919,8 +1918,6 @@ spider_net_stop(struct net_device *netdev)
        spider_net_release_tx_chain(card, 1);
        spider_net_free_rx_chain_contents(card);
 
-       spider_net_free_rx_chain_contents(card);
-
        spider_net_free_chain(card, &card->tx_chain);
        spider_net_free_chain(card, &card->rx_chain);