diff options
Diffstat (limited to 'drivers/net/ns83820.c')
| -rw-r--r-- | drivers/net/ns83820.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/ns83820.c b/drivers/net/ns83820.c index b0127c71a5b6..312e0e331712 100644 --- a/drivers/net/ns83820.c +++ b/drivers/net/ns83820.c | |||
| @@ -427,6 +427,7 @@ struct ns83820 { | |||
| 427 | u8 __iomem *base; | 427 | u8 __iomem *base; |
| 428 | 428 | ||
| 429 | struct pci_dev *pci_dev; | 429 | struct pci_dev *pci_dev; |
| 430 | struct net_device *ndev; | ||
| 430 | 431 | ||
| 431 | #ifdef NS83820_VLAN_ACCEL_SUPPORT | 432 | #ifdef NS83820_VLAN_ACCEL_SUPPORT |
| 432 | struct vlan_group *vlgrp; | 433 | struct vlan_group *vlgrp; |
| @@ -631,10 +632,10 @@ static void fastcall rx_refill_atomic(struct net_device *ndev) | |||
| 631 | } | 632 | } |
| 632 | 633 | ||
| 633 | /* REFILL */ | 634 | /* REFILL */ |
| 634 | static inline void queue_refill(void *_dev) | 635 | static inline void queue_refill(struct work_struct *work) |
| 635 | { | 636 | { |
| 636 | struct net_device *ndev = _dev; | 637 | struct ns83820 *dev = container_of(work, struct ns83820, tq_refill); |
| 637 | struct ns83820 *dev = PRIV(ndev); | 638 | struct net_device *ndev = dev->ndev; |
| 638 | 639 | ||
| 639 | rx_refill(ndev, GFP_KERNEL); | 640 | rx_refill(ndev, GFP_KERNEL); |
| 640 | if (dev->rx_info.up) | 641 | if (dev->rx_info.up) |
| @@ -1841,6 +1842,7 @@ static int __devinit ns83820_init_one(struct pci_dev *pci_dev, const struct pci_ | |||
| 1841 | 1842 | ||
| 1842 | ndev = alloc_etherdev(sizeof(struct ns83820)); | 1843 | ndev = alloc_etherdev(sizeof(struct ns83820)); |
| 1843 | dev = PRIV(ndev); | 1844 | dev = PRIV(ndev); |
| 1845 | dev->ndev = ndev; | ||
| 1844 | err = -ENOMEM; | 1846 | err = -ENOMEM; |
| 1845 | if (!dev) | 1847 | if (!dev) |
| 1846 | goto out; | 1848 | goto out; |
| @@ -1853,7 +1855,7 @@ static int __devinit ns83820_init_one(struct pci_dev *pci_dev, const struct pci_ | |||
| 1853 | SET_MODULE_OWNER(ndev); | 1855 | SET_MODULE_OWNER(ndev); |
| 1854 | SET_NETDEV_DEV(ndev, &pci_dev->dev); | 1856 | SET_NETDEV_DEV(ndev, &pci_dev->dev); |
| 1855 | 1857 | ||
| 1856 | INIT_WORK(&dev->tq_refill, queue_refill, ndev); | 1858 | INIT_WORK(&dev->tq_refill, queue_refill); |
| 1857 | tasklet_init(&dev->rx_tasklet, rx_action, (unsigned long)ndev); | 1859 | tasklet_init(&dev->rx_tasklet, rx_action, (unsigned long)ndev); |
| 1858 | 1860 | ||
| 1859 | err = pci_enable_device(pci_dev); | 1861 | err = pci_enable_device(pci_dev); |
