.. | .. |
---|
114 | 114 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
---|
115 | 115 | |
---|
116 | 116 | #define DRV_NAME "nmclan_cs" |
---|
117 | | -#define DRV_VERSION "0.16" |
---|
118 | | - |
---|
119 | 117 | |
---|
120 | 118 | /* ---------------------------------------------------------------------------- |
---|
121 | 119 | Conditional Compilation Options |
---|
.. | .. |
---|
367 | 365 | |
---|
368 | 366 | char tx_free_frames; /* Number of free transmit frame buffers */ |
---|
369 | 367 | char tx_irq_disabled; /* MACE TX interrupt disabled */ |
---|
370 | | - |
---|
| 368 | + |
---|
371 | 369 | spinlock_t bank_lock; /* Must be held if you step off bank 0 */ |
---|
372 | 370 | } mace_private; |
---|
373 | 371 | |
---|
.. | .. |
---|
407 | 405 | static int mace_close(struct net_device *dev); |
---|
408 | 406 | static netdev_tx_t mace_start_xmit(struct sk_buff *skb, |
---|
409 | 407 | struct net_device *dev); |
---|
410 | | -static void mace_tx_timeout(struct net_device *dev); |
---|
| 408 | +static void mace_tx_timeout(struct net_device *dev, unsigned int txqueue); |
---|
411 | 409 | static irqreturn_t mace_interrupt(int irq, void *dev_id); |
---|
412 | 410 | static struct net_device_stats *mace_get_stats(struct net_device *dev); |
---|
413 | 411 | static int mace_rx(struct net_device *dev, unsigned char RxCnt); |
---|
.. | .. |
---|
444 | 442 | lp = netdev_priv(dev); |
---|
445 | 443 | lp->p_dev = link; |
---|
446 | 444 | link->priv = dev; |
---|
447 | | - |
---|
| 445 | + |
---|
448 | 446 | spin_lock_init(&lp->bank_lock); |
---|
449 | 447 | link->resource[0]->end = 32; |
---|
450 | 448 | link->resource[0]->flags |= IO_DATA_PATH_WIDTH_AUTO; |
---|
.. | .. |
---|
652 | 650 | } else { |
---|
653 | 651 | pr_notice("mace id not found: %x %x should be 0x40 0x?9\n", |
---|
654 | 652 | sig[0], sig[1]); |
---|
655 | | - return -ENODEV; |
---|
| 653 | + goto failed; |
---|
656 | 654 | } |
---|
657 | 655 | } |
---|
658 | 656 | |
---|
.. | .. |
---|
817 | 815 | struct ethtool_drvinfo *info) |
---|
818 | 816 | { |
---|
819 | 817 | strlcpy(info->driver, DRV_NAME, sizeof(info->driver)); |
---|
820 | | - strlcpy(info->version, DRV_VERSION, sizeof(info->version)); |
---|
821 | 818 | snprintf(info->bus_info, sizeof(info->bus_info), |
---|
822 | 819 | "PCMCIA 0x%lx", dev->base_addr); |
---|
823 | 820 | } |
---|
.. | .. |
---|
837 | 834 | failed, put skb back into a list." |
---|
838 | 835 | ---------------------------------------------------------------------------- */ |
---|
839 | 836 | |
---|
840 | | -static void mace_tx_timeout(struct net_device *dev) |
---|
| 837 | +static void mace_tx_timeout(struct net_device *dev, unsigned int txqueue) |
---|
841 | 838 | { |
---|
842 | 839 | mace_private *lp = netdev_priv(dev); |
---|
843 | 840 | struct pcmcia_device *link = lp->p_dev; |
---|
.. | .. |
---|
1110 | 1107 | if (pkt_len & 1) |
---|
1111 | 1108 | *(skb_tail_pointer(skb) - 1) = inb(ioaddr + AM2150_RCV); |
---|
1112 | 1109 | skb->protocol = eth_type_trans(skb, dev); |
---|
1113 | | - |
---|
| 1110 | + |
---|
1114 | 1111 | netif_rx(skb); /* Send the packet to the upper (protocol) layers. */ |
---|
1115 | 1112 | |
---|
1116 | 1113 | dev->stats.rx_packets++; |
---|