Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 75fa6770 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
  xfrm: Fix xfrm_policy_gc_lock handling.
  niu: Use pci_ioremap_bar().
  bnx2x: Version Update
  bnx2x: Calling netif_carrier_off at the end of the probe
  bnx2x: PCI configuration bug on big-endian
  bnx2x: Removing the PMF indication when unloading
  mv643xx_eth: fix SMI bus access timeouts
  net: kconfig cleanup
  fs_enet: fix polling
  XFRM: copy_to_user_kmaddress() reports local address twice
  SMC91x: Fix compilation on some platforms.
  udp: Fix the SNMP counter of UDP_MIB_INERRORS
  udp: Fix the SNMP counter of UDP_MIB_INDATAGRAMS
  drivers/net/smc911x.c: Fix lockdep warning on xmit.
parents 4edfd20f bbb770e7
Loading
Loading
Loading
Loading
+15 −3
Original line number Original line Diff line number Diff line
@@ -2010,9 +2010,13 @@ config IGB_LRO
	  If in doubt, say N.
	  If in doubt, say N.


config IGB_DCA
config IGB_DCA
	bool "Enable DCA"
	bool "Direct Cache Access (DCA) Support"
	default y
	default y
	depends on IGB && DCA && !(IGB=y && DCA=m)
	depends on IGB && DCA && !(IGB=y && DCA=m)
	---help---
	  Say Y here if you want to use Direct Cache Access (DCA) in the
	  driver.  DCA is a method for warming the CPU cache before data
	  is used, with the intent of lessening the impact of cache misses.


source "drivers/net/ixp2000/Kconfig"
source "drivers/net/ixp2000/Kconfig"


@@ -2437,9 +2441,13 @@ config IXGBE
	  will be called ixgbe.
	  will be called ixgbe.


config IXGBE_DCA
config IXGBE_DCA
	bool
	bool "Direct Cache Access (DCA) Support"
	default y
	default y
	depends on IXGBE && DCA && !(IXGBE=y && DCA=m)
	depends on IXGBE && DCA && !(IXGBE=y && DCA=m)
	---help---
	  Say Y here if you want to use Direct Cache Access (DCA) in the
	  driver.  DCA is a method for warming the CPU cache before data
	  is used, with the intent of lessening the impact of cache misses.


config IXGB
config IXGB
	tristate "Intel(R) PRO/10GbE support"
	tristate "Intel(R) PRO/10GbE support"
@@ -2489,9 +2497,13 @@ config MYRI10GE
	  will be called myri10ge.
	  will be called myri10ge.


config MYRI10GE_DCA
config MYRI10GE_DCA
	bool
	bool "Direct Cache Access (DCA) Support"
	default y
	default y
	depends on MYRI10GE && DCA && !(MYRI10GE=y && DCA=m)
	depends on MYRI10GE && DCA && !(MYRI10GE=y && DCA=m)
	---help---
	  Say Y here if you want to use Direct Cache Access (DCA) in the
	  driver.  DCA is a method for warming the CPU cache before data
	  is used, with the intent of lessening the impact of cache misses.


config NETXEN_NIC
config NETXEN_NIC
	tristate "NetXen Multi port (1/10) Gigabit Ethernet NIC"
	tristate "NetXen Multi port (1/10) Gigabit Ethernet NIC"
+5 −4
Original line number Original line Diff line number Diff line
@@ -564,14 +564,15 @@ static const struct arb_line write_arb_addr[NUM_WR_Q-1] = {


static void bnx2x_init_pxp(struct bnx2x *bp)
static void bnx2x_init_pxp(struct bnx2x *bp)
{
{
	u16 devctl;
	int r_order, w_order;
	int r_order, w_order;
	u32 val, i;
	u32 val, i;


	pci_read_config_word(bp->pdev,
	pci_read_config_word(bp->pdev,
			     bp->pcie_cap + PCI_EXP_DEVCTL, (u16 *)&val);
			     bp->pcie_cap + PCI_EXP_DEVCTL, &devctl);
	DP(NETIF_MSG_HW, "read 0x%x from devctl\n", (u16)val);
	DP(NETIF_MSG_HW, "read 0x%x from devctl\n", devctl);
	w_order = ((val & PCI_EXP_DEVCTL_PAYLOAD) >> 5);
	w_order = ((devctl & PCI_EXP_DEVCTL_PAYLOAD) >> 5);
	r_order = ((val & PCI_EXP_DEVCTL_READRQ) >> 12);
	r_order = ((devctl & PCI_EXP_DEVCTL_READRQ) >> 12);


	if (r_order > MAX_RD_ORD) {
	if (r_order > MAX_RD_ORD) {
		DP(NETIF_MSG_HW, "read order of %d  order adjusted to %d\n",
		DP(NETIF_MSG_HW, "read order of %d  order adjusted to %d\n",
+6 −4
Original line number Original line Diff line number Diff line
@@ -59,8 +59,8 @@
#include "bnx2x.h"
#include "bnx2x.h"
#include "bnx2x_init.h"
#include "bnx2x_init.h"


#define DRV_MODULE_VERSION	"1.45.22"
#define DRV_MODULE_VERSION	"1.45.23"
#define DRV_MODULE_RELDATE	"2008/09/09"
#define DRV_MODULE_RELDATE	"2008/11/03"
#define BNX2X_BC_VER		0x040200
#define BNX2X_BC_VER		0x040200


/* Time in jiffies before concluding the transmitter is hung */
/* Time in jiffies before concluding the transmitter is hung */
@@ -6481,6 +6481,7 @@ load_int_disable:
	bnx2x_free_irq(bp);
	bnx2x_free_irq(bp);
load_error:
load_error:
	bnx2x_free_mem(bp);
	bnx2x_free_mem(bp);
	bp->port.pmf = 0;


	/* TBD we really need to reset the chip
	/* TBD we really need to reset the chip
	   if we want to recover from this */
	   if we want to recover from this */
@@ -6791,6 +6792,7 @@ unload_error:
	/* Report UNLOAD_DONE to MCP */
	/* Report UNLOAD_DONE to MCP */
	if (!BP_NOMCP(bp))
	if (!BP_NOMCP(bp))
		bnx2x_fw_command(bp, DRV_MSG_CODE_UNLOAD_DONE);
		bnx2x_fw_command(bp, DRV_MSG_CODE_UNLOAD_DONE);
	bp->port.pmf = 0;


	/* Free SKBs, SGEs, TPA pool and driver internals */
	/* Free SKBs, SGEs, TPA pool and driver internals */
	bnx2x_free_skbs(bp);
	bnx2x_free_skbs(bp);
@@ -10204,8 +10206,6 @@ static int __devinit bnx2x_init_one(struct pci_dev *pdev,
		return -ENOMEM;
		return -ENOMEM;
	}
	}


	netif_carrier_off(dev);

	bp = netdev_priv(dev);
	bp = netdev_priv(dev);
	bp->msglevel = debug;
	bp->msglevel = debug;


@@ -10229,6 +10229,8 @@ static int __devinit bnx2x_init_one(struct pci_dev *pdev,
		goto init_one_exit;
		goto init_one_exit;
	}
	}


	netif_carrier_off(dev);

	bp->common.name = board_info[ent->driver_data].name;
	bp->common.name = board_info[ent->driver_data].name;
	printk(KERN_INFO "%s: %s (%c%d) PCI-E x%d %s found at mem %lx,"
	printk(KERN_INFO "%s: %s (%c%d) PCI-E x%d %s found at mem %lx,"
	       " IRQ %d, ", dev->name, bp->common.name,
	       " IRQ %d, ", dev->name, bp->common.name,
+4 −2
Original line number Original line Diff line number Diff line
@@ -1099,7 +1099,9 @@ static int __devinit fs_enet_probe(struct of_device *ofdev,
	ndev->stop = fs_enet_close;
	ndev->stop = fs_enet_close;
	ndev->get_stats = fs_enet_get_stats;
	ndev->get_stats = fs_enet_get_stats;
	ndev->set_multicast_list = fs_set_multicast_list;
	ndev->set_multicast_list = fs_set_multicast_list;

#ifdef CONFIG_NET_POLL_CONTROLLER
	ndev->poll_controller = fs_enet_netpoll;
#endif
	if (fpi->use_napi)
	if (fpi->use_napi)
		netif_napi_add(ndev, &fep->napi, fs_enet_rx_napi,
		netif_napi_add(ndev, &fep->napi, fs_enet_rx_napi,
		               fpi->napi_weight);
		               fpi->napi_weight);
@@ -1209,7 +1211,7 @@ static void __exit fs_cleanup(void)
static void fs_enet_netpoll(struct net_device *dev)
static void fs_enet_netpoll(struct net_device *dev)
{
{
       disable_irq(dev->irq);
       disable_irq(dev->irq);
       fs_enet_interrupt(dev->irq, dev, NULL);
       fs_enet_interrupt(dev->irq, dev);
       enable_irq(dev->irq);
       enable_irq(dev->irq);
}
}
#endif
#endif
+6 −3
Original line number Original line Diff line number Diff line
@@ -1066,9 +1066,12 @@ static int smi_wait_ready(struct mv643xx_eth_shared_private *msp)
		return 0;
		return 0;
	}
	}


	if (!wait_event_timeout(msp->smi_busy_wait, smi_is_done(msp),
	if (!smi_is_done(msp)) {
				msecs_to_jiffies(100)))
		wait_event_timeout(msp->smi_busy_wait, smi_is_done(msp),
				   msecs_to_jiffies(100));
		if (!smi_is_done(msp))
			return -ETIMEDOUT;
			return -ETIMEDOUT;
	}


	return 0;
	return 0;
}
}
Loading