| .. | .. |
|---|
| 23 | 23 | */ |
|---|
| 24 | 24 | |
|---|
| 25 | 25 | #define DRV_NAME "3c515" |
|---|
| 26 | | -#define DRV_VERSION "0.99t-ac" |
|---|
| 27 | | -#define DRV_RELDATE "28-Oct-2002" |
|---|
| 28 | | - |
|---|
| 29 | | -static char *version = |
|---|
| 30 | | -DRV_NAME ".c:v" DRV_VERSION " " DRV_RELDATE " becker@scyld.com and others\n"; |
|---|
| 31 | 26 | |
|---|
| 32 | 27 | #define CORKSCREW 1 |
|---|
| 33 | 28 | |
|---|
| .. | .. |
|---|
| 84 | 79 | MODULE_AUTHOR("Donald Becker <becker@scyld.com>"); |
|---|
| 85 | 80 | MODULE_DESCRIPTION("3Com 3c515 Corkscrew driver"); |
|---|
| 86 | 81 | MODULE_LICENSE("GPL"); |
|---|
| 87 | | -MODULE_VERSION(DRV_VERSION); |
|---|
| 88 | 82 | |
|---|
| 89 | 83 | /* "Knobs" for adjusting internal parameters. */ |
|---|
| 90 | 84 | /* Put out somewhat more debugging messages. (0 - no msg, 1 minimal msgs). */ |
|---|
| .. | .. |
|---|
| 371 | 365 | static netdev_tx_t corkscrew_start_xmit(struct sk_buff *skb, |
|---|
| 372 | 366 | struct net_device *dev); |
|---|
| 373 | 367 | static int corkscrew_rx(struct net_device *dev); |
|---|
| 374 | | -static void corkscrew_timeout(struct net_device *dev); |
|---|
| 368 | +static void corkscrew_timeout(struct net_device *dev, unsigned int txqueue); |
|---|
| 375 | 369 | static int boomerang_rx(struct net_device *dev); |
|---|
| 376 | 370 | static irqreturn_t corkscrew_interrupt(int irq, void *dev_id); |
|---|
| 377 | 371 | static int corkscrew_close(struct net_device *dev); |
|---|
| .. | .. |
|---|
| 418 | 412 | int found = 0; |
|---|
| 419 | 413 | if (debug >= 0) |
|---|
| 420 | 414 | corkscrew_debug = debug; |
|---|
| 421 | | - if (corkscrew_debug) |
|---|
| 422 | | - pr_debug("%s", version); |
|---|
| 423 | 415 | while (corkscrew_scan(-1)) |
|---|
| 424 | 416 | found++; |
|---|
| 425 | 417 | return found ? 0 : -ENODEV; |
|---|
| .. | .. |
|---|
| 429 | 421 | struct net_device *tc515_probe(int unit) |
|---|
| 430 | 422 | { |
|---|
| 431 | 423 | struct net_device *dev = corkscrew_scan(unit); |
|---|
| 432 | | - static int printed; |
|---|
| 433 | 424 | |
|---|
| 434 | 425 | if (!dev) |
|---|
| 435 | 426 | return ERR_PTR(-ENODEV); |
|---|
| 436 | | - |
|---|
| 437 | | - if (corkscrew_debug > 0 && !printed) { |
|---|
| 438 | | - printed = 1; |
|---|
| 439 | | - pr_debug("%s", version); |
|---|
| 440 | | - } |
|---|
| 441 | 427 | |
|---|
| 442 | 428 | return dev; |
|---|
| 443 | 429 | } |
|---|
| .. | .. |
|---|
| 961 | 947 | #endif /* AUTOMEDIA */ |
|---|
| 962 | 948 | } |
|---|
| 963 | 949 | |
|---|
| 964 | | -static void corkscrew_timeout(struct net_device *dev) |
|---|
| 950 | +static void corkscrew_timeout(struct net_device *dev, unsigned int txqueue) |
|---|
| 965 | 951 | { |
|---|
| 966 | 952 | int i; |
|---|
| 967 | 953 | struct corkscrew_private *vp = netdev_priv(dev); |
|---|
| .. | .. |
|---|
| 1177 | 1163 | if (inl(ioaddr + DownListPtr) == isa_virt_to_bus(&lp->tx_ring[entry])) |
|---|
| 1178 | 1164 | break; /* It still hasn't been processed. */ |
|---|
| 1179 | 1165 | if (lp->tx_skbuff[entry]) { |
|---|
| 1180 | | - dev_kfree_skb_irq(lp->tx_skbuff[entry]); |
|---|
| 1166 | + dev_consume_skb_irq(lp->tx_skbuff[entry]); |
|---|
| 1181 | 1167 | lp->tx_skbuff[entry] = NULL; |
|---|
| 1182 | 1168 | } |
|---|
| 1183 | 1169 | dirty_tx++; |
|---|
| .. | .. |
|---|
| 1192 | 1178 | #ifdef VORTEX_BUS_MASTER |
|---|
| 1193 | 1179 | if (status & DMADone) { |
|---|
| 1194 | 1180 | outw(0x1000, ioaddr + Wn7_MasterStatus); /* Ack the event. */ |
|---|
| 1195 | | - dev_kfree_skb_irq(lp->tx_skb); /* Release the transferred buffer */ |
|---|
| 1181 | + dev_consume_skb_irq(lp->tx_skb); /* Release the transferred buffer */ |
|---|
| 1196 | 1182 | netif_wake_queue(dev); |
|---|
| 1197 | 1183 | } |
|---|
| 1198 | 1184 | #endif |
|---|
| .. | .. |
|---|
| 1521 | 1507 | static void set_rx_mode(struct net_device *dev) |
|---|
| 1522 | 1508 | { |
|---|
| 1523 | 1509 | int ioaddr = dev->base_addr; |
|---|
| 1524 | | - short new_mode; |
|---|
| 1510 | + unsigned short new_mode; |
|---|
| 1525 | 1511 | |
|---|
| 1526 | 1512 | if (dev->flags & IFF_PROMISC) { |
|---|
| 1527 | 1513 | if (corkscrew_debug > 3) |
|---|
| .. | .. |
|---|
| 1540 | 1526 | struct ethtool_drvinfo *info) |
|---|
| 1541 | 1527 | { |
|---|
| 1542 | 1528 | strlcpy(info->driver, DRV_NAME, sizeof(info->driver)); |
|---|
| 1543 | | - strlcpy(info->version, DRV_VERSION, sizeof(info->version)); |
|---|
| 1544 | 1529 | snprintf(info->bus_info, sizeof(info->bus_info), "ISA 0x%lx", |
|---|
| 1545 | 1530 | dev->base_addr); |
|---|
| 1546 | 1531 | } |
|---|