diff options
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/bonding/bond_main.c | 6 | ||||
-rw-r--r-- | drivers/net/gianfar.c | 24 | ||||
-rw-r--r-- | drivers/net/gianfar.h | 3 | ||||
-rw-r--r-- | drivers/net/pppoe.c | 3 | ||||
-rw-r--r-- | drivers/net/r6040.c | 8 | ||||
-rw-r--r-- | drivers/net/tulip/dmfe.c | 4 |
6 files changed, 31 insertions, 17 deletions
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 61265f74ed3d..b9eaf5c0dc72 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c | |||
@@ -1415,9 +1415,9 @@ out: | |||
1415 | return features; | 1415 | return features; |
1416 | } | 1416 | } |
1417 | 1417 | ||
1418 | #define BOND_VLAN_FEATURES (NETIF_F_ALL_TX_OFFLOADS | \ | 1418 | #define BOND_VLAN_FEATURES (NETIF_F_ALL_CSUM | NETIF_F_SG | \ |
1419 | NETIF_F_SOFT_FEATURES | \ | 1419 | NETIF_F_FRAGLIST | NETIF_F_ALL_TSO | \ |
1420 | NETIF_F_LRO) | 1420 | NETIF_F_HIGHDMA | NETIF_F_LRO) |
1421 | 1421 | ||
1422 | static void bond_compute_features(struct bonding *bond) | 1422 | static void bond_compute_features(struct bonding *bond) |
1423 | { | 1423 | { |
diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c index 3321d714ca22..d265c6e13873 100644 --- a/drivers/net/gianfar.c +++ b/drivers/net/gianfar.c | |||
@@ -2287,6 +2287,23 @@ static int gfar_set_mac_address(struct net_device *dev) | |||
2287 | return 0; | 2287 | return 0; |
2288 | } | 2288 | } |
2289 | 2289 | ||
2290 | /* Check if rx parser should be activated */ | ||
2291 | void gfar_check_rx_parser_mode(struct gfar_private *priv) | ||
2292 | { | ||
2293 | struct gfar __iomem *regs; | ||
2294 | u32 tempval; | ||
2295 | |||
2296 | regs = priv->gfargrp[0].regs; | ||
2297 | |||
2298 | tempval = gfar_read(®s->rctrl); | ||
2299 | /* If parse is no longer required, then disable parser */ | ||
2300 | if (tempval & RCTRL_REQ_PARSER) | ||
2301 | tempval |= RCTRL_PRSDEP_INIT; | ||
2302 | else | ||
2303 | tempval &= ~RCTRL_PRSDEP_INIT; | ||
2304 | gfar_write(®s->rctrl, tempval); | ||
2305 | } | ||
2306 | |||
2290 | 2307 | ||
2291 | /* Enables and disables VLAN insertion/extraction */ | 2308 | /* Enables and disables VLAN insertion/extraction */ |
2292 | static void gfar_vlan_rx_register(struct net_device *dev, | 2309 | static void gfar_vlan_rx_register(struct net_device *dev, |
@@ -2323,12 +2340,9 @@ static void gfar_vlan_rx_register(struct net_device *dev, | |||
2323 | /* Disable VLAN tag extraction */ | 2340 | /* Disable VLAN tag extraction */ |
2324 | tempval = gfar_read(®s->rctrl); | 2341 | tempval = gfar_read(®s->rctrl); |
2325 | tempval &= ~RCTRL_VLEX; | 2342 | tempval &= ~RCTRL_VLEX; |
2326 | /* If parse is no longer required, then disable parser */ | ||
2327 | if (tempval & RCTRL_REQ_PARSER) | ||
2328 | tempval |= RCTRL_PRSDEP_INIT; | ||
2329 | else | ||
2330 | tempval &= ~RCTRL_PRSDEP_INIT; | ||
2331 | gfar_write(®s->rctrl, tempval); | 2343 | gfar_write(®s->rctrl, tempval); |
2344 | |||
2345 | gfar_check_rx_parser_mode(priv); | ||
2332 | } | 2346 | } |
2333 | 2347 | ||
2334 | gfar_change_mtu(dev, dev->mtu); | 2348 | gfar_change_mtu(dev, dev->mtu); |
diff --git a/drivers/net/gianfar.h b/drivers/net/gianfar.h index 27499c606a4a..87c1d8608b73 100644 --- a/drivers/net/gianfar.h +++ b/drivers/net/gianfar.h | |||
@@ -286,7 +286,7 @@ extern const char gfar_driver_version[]; | |||
286 | #define RCTRL_PROM 0x00000008 | 286 | #define RCTRL_PROM 0x00000008 |
287 | #define RCTRL_EMEN 0x00000002 | 287 | #define RCTRL_EMEN 0x00000002 |
288 | #define RCTRL_REQ_PARSER (RCTRL_VLEX | RCTRL_IPCSEN | \ | 288 | #define RCTRL_REQ_PARSER (RCTRL_VLEX | RCTRL_IPCSEN | \ |
289 | RCTRL_TUCSEN) | 289 | RCTRL_TUCSEN | RCTRL_FILREN) |
290 | #define RCTRL_CHECKSUMMING (RCTRL_IPCSEN | RCTRL_TUCSEN | \ | 290 | #define RCTRL_CHECKSUMMING (RCTRL_IPCSEN | RCTRL_TUCSEN | \ |
291 | RCTRL_PRSDEP_INIT) | 291 | RCTRL_PRSDEP_INIT) |
292 | #define RCTRL_EXTHASH (RCTRL_GHTX) | 292 | #define RCTRL_EXTHASH (RCTRL_GHTX) |
@@ -1182,6 +1182,7 @@ extern void gfar_configure_coalescing(struct gfar_private *priv, | |||
1182 | unsigned long tx_mask, unsigned long rx_mask); | 1182 | unsigned long tx_mask, unsigned long rx_mask); |
1183 | void gfar_init_sysfs(struct net_device *dev); | 1183 | void gfar_init_sysfs(struct net_device *dev); |
1184 | int gfar_set_features(struct net_device *dev, u32 features); | 1184 | int gfar_set_features(struct net_device *dev, u32 features); |
1185 | extern void gfar_check_rx_parser_mode(struct gfar_private *priv); | ||
1185 | 1186 | ||
1186 | extern const struct ethtool_ops gfar_ethtool_ops; | 1187 | extern const struct ethtool_ops gfar_ethtool_ops; |
1187 | 1188 | ||
diff --git a/drivers/net/pppoe.c b/drivers/net/pppoe.c index 718879b35b7d..bc9a4bb31980 100644 --- a/drivers/net/pppoe.c +++ b/drivers/net/pppoe.c | |||
@@ -348,8 +348,9 @@ static int pppoe_device_event(struct notifier_block *this, | |||
348 | 348 | ||
349 | /* Only look at sockets that are using this specific device. */ | 349 | /* Only look at sockets that are using this specific device. */ |
350 | switch (event) { | 350 | switch (event) { |
351 | case NETDEV_CHANGEADDR: | ||
351 | case NETDEV_CHANGEMTU: | 352 | case NETDEV_CHANGEMTU: |
352 | /* A change in mtu is a bad thing, requiring | 353 | /* A change in mtu or address is a bad thing, requiring |
353 | * LCP re-negotiation. | 354 | * LCP re-negotiation. |
354 | */ | 355 | */ |
355 | 356 | ||
diff --git a/drivers/net/r6040.c b/drivers/net/r6040.c index 00f06e9a7796..b64fcee483aa 100644 --- a/drivers/net/r6040.c +++ b/drivers/net/r6040.c | |||
@@ -677,9 +677,11 @@ static irqreturn_t r6040_interrupt(int irq, void *dev_id) | |||
677 | if (status & RX_FIFO_FULL) | 677 | if (status & RX_FIFO_FULL) |
678 | dev->stats.rx_fifo_errors++; | 678 | dev->stats.rx_fifo_errors++; |
679 | 679 | ||
680 | /* Mask off RX interrupt */ | 680 | if (likely(napi_schedule_prep(&lp->napi))) { |
681 | misr &= ~RX_INTS; | 681 | /* Mask off RX interrupt */ |
682 | napi_schedule(&lp->napi); | 682 | misr &= ~RX_INTS; |
683 | __napi_schedule(&lp->napi); | ||
684 | } | ||
683 | } | 685 | } |
684 | 686 | ||
685 | /* TX interrupt request */ | 687 | /* TX interrupt request */ |
diff --git a/drivers/net/tulip/dmfe.c b/drivers/net/tulip/dmfe.c index 468512731966..9a21ca3873fc 100644 --- a/drivers/net/tulip/dmfe.c +++ b/drivers/net/tulip/dmfe.c | |||
@@ -879,7 +879,6 @@ static void dmfe_free_tx_pkt(struct DEVICE *dev, struct dmfe_board_info * db) | |||
879 | txptr = db->tx_remove_ptr; | 879 | txptr = db->tx_remove_ptr; |
880 | while(db->tx_packet_cnt) { | 880 | while(db->tx_packet_cnt) { |
881 | tdes0 = le32_to_cpu(txptr->tdes0); | 881 | tdes0 = le32_to_cpu(txptr->tdes0); |
882 | pr_debug("tdes0=%x\n", tdes0); | ||
883 | if (tdes0 & 0x80000000) | 882 | if (tdes0 & 0x80000000) |
884 | break; | 883 | break; |
885 | 884 | ||
@@ -889,7 +888,6 @@ static void dmfe_free_tx_pkt(struct DEVICE *dev, struct dmfe_board_info * db) | |||
889 | 888 | ||
890 | /* Transmit statistic counter */ | 889 | /* Transmit statistic counter */ |
891 | if ( tdes0 != 0x7fffffff ) { | 890 | if ( tdes0 != 0x7fffffff ) { |
892 | pr_debug("tdes0=%x\n", tdes0); | ||
893 | dev->stats.collisions += (tdes0 >> 3) & 0xf; | 891 | dev->stats.collisions += (tdes0 >> 3) & 0xf; |
894 | dev->stats.tx_bytes += le32_to_cpu(txptr->tdes1) & 0x7ff; | 892 | dev->stats.tx_bytes += le32_to_cpu(txptr->tdes1) & 0x7ff; |
895 | if (tdes0 & TDES0_ERR_MASK) { | 893 | if (tdes0 & TDES0_ERR_MASK) { |
@@ -986,7 +984,6 @@ static void dmfe_rx_packet(struct DEVICE *dev, struct dmfe_board_info * db) | |||
986 | /* error summary bit check */ | 984 | /* error summary bit check */ |
987 | if (rdes0 & 0x8000) { | 985 | if (rdes0 & 0x8000) { |
988 | /* This is a error packet */ | 986 | /* This is a error packet */ |
989 | pr_debug("rdes0: %x\n", rdes0); | ||
990 | dev->stats.rx_errors++; | 987 | dev->stats.rx_errors++; |
991 | if (rdes0 & 1) | 988 | if (rdes0 & 1) |
992 | dev->stats.rx_fifo_errors++; | 989 | dev->stats.rx_fifo_errors++; |
@@ -1638,7 +1635,6 @@ static u8 dmfe_sense_speed(struct dmfe_board_info * db) | |||
1638 | else /* DM9102/DM9102A */ | 1635 | else /* DM9102/DM9102A */ |
1639 | phy_mode = phy_read(db->ioaddr, | 1636 | phy_mode = phy_read(db->ioaddr, |
1640 | db->phy_addr, 17, db->chip_id) & 0xf000; | 1637 | db->phy_addr, 17, db->chip_id) & 0xf000; |
1641 | pr_debug("Phy_mode %x\n", phy_mode); | ||
1642 | switch (phy_mode) { | 1638 | switch (phy_mode) { |
1643 | case 0x1000: db->op_mode = DMFE_10MHF; break; | 1639 | case 0x1000: db->op_mode = DMFE_10MHF; break; |
1644 | case 0x2000: db->op_mode = DMFE_10MFD; break; | 1640 | case 0x2000: db->op_mode = DMFE_10MFD; break; |