mirror of https://github.com/hak5/openwrt.git
61 lines
1.7 KiB
Diff
61 lines
1.7 KiB
Diff
--- a/drivers/net/ethernet/via/via-rhine.c
|
|
+++ b/drivers/net/ethernet/via/via-rhine.c
|
|
@@ -689,9 +689,12 @@ static void __devinit rhine_reload_eepro
|
|
#ifdef CONFIG_NET_POLL_CONTROLLER
|
|
static void rhine_poll(struct net_device *dev)
|
|
{
|
|
- disable_irq(dev->irq);
|
|
- rhine_interrupt(dev->irq, (void *)dev);
|
|
- enable_irq(dev->irq);
|
|
+ struct rhine_private *rp = netdev_priv(dev);
|
|
+ const int irq = rp->pdev->irq;
|
|
+
|
|
+ disable_irq(irq);
|
|
+ rhine_interrupt(irq, dev);
|
|
+ enable_irq(irq);
|
|
}
|
|
#endif
|
|
|
|
@@ -929,7 +932,6 @@ static int __devinit rhine_init_one(stru
|
|
dev = alloc_etherdev(sizeof(struct rhine_private));
|
|
if (!dev) {
|
|
rc = -ENOMEM;
|
|
- dev_err(&pdev->dev, "alloc_etherdev failed\n");
|
|
goto err_out;
|
|
}
|
|
SET_NETDEV_DEV(dev, &pdev->dev);
|
|
@@ -973,7 +975,6 @@ static int __devinit rhine_init_one(stru
|
|
}
|
|
#endif /* USE_MMIO */
|
|
|
|
- dev->base_addr = (unsigned long)ioaddr;
|
|
rp->base = ioaddr;
|
|
|
|
/* Get chip registers into a sane state */
|
|
@@ -996,8 +997,6 @@ static int __devinit rhine_init_one(stru
|
|
if (!phy_id)
|
|
phy_id = ioread8(ioaddr + 0x6C);
|
|
|
|
- dev->irq = pdev->irq;
|
|
-
|
|
spin_lock_init(&rp->lock);
|
|
mutex_init(&rp->task_lock);
|
|
INIT_WORK(&rp->reset_task, rhine_reset_task);
|
|
@@ -1158,7 +1157,6 @@ static void alloc_rbufs(struct net_devic
|
|
rp->rx_skbuff[i] = skb;
|
|
if (skb == NULL)
|
|
break;
|
|
- skb->dev = dev; /* Mark as being used by this device. */
|
|
|
|
rp->rx_skbuff_dma[i] =
|
|
pci_map_single(rp->pdev, skb->data, rp->rx_buf_sz,
|
|
@@ -1943,7 +1941,6 @@ static int rhine_rx(struct net_device *d
|
|
rp->rx_skbuff[entry] = skb;
|
|
if (skb == NULL)
|
|
break; /* Better luck next round. */
|
|
- skb->dev = dev; /* Mark as being used by this device. */
|
|
rp->rx_skbuff_dma[entry] =
|
|
pci_map_single(rp->pdev, skb->data,
|
|
rp->rx_buf_sz,
|
|
|