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

Commit 78f9bbb5 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
  ariadne: remove redundant NULL check
  ip6ip6: autoload ip6 tunnel
  net: bridge builtin vs. ipv6 modular
  ipv6: Don't create clones of host routes.
  pktgen: fix errata in show results
  ipv4: Fix erroneous uses of ifa_address.
  vxge: update MAINTAINERS
  r6040: bump to version 0.27 and date 23Feb2011
  r6040: fix multicast operations
  rds: prevent BUG_ON triggering on congestion map updates
  bonding 802.3ad: Rename rx_machine_lock to state_machine_lock
  bonding 802.3ad: Fix the state machine locking v2
  drivers/net/macvtap: fix error check
  net: fix multithreaded signal handling in unix recv routines
  net: Enter net/ipv6/ even if CONFIG_IPV6=n
  net/smsc911x.c: Set the VLAN1 register to fix VLAN MTU problem
  bnx2x: fix MaxBW configuration
  bnx2x: (NPAR) prevent HW access in D3 state
  bnx2x: fix link notification
  bnx2x: fix non-pmf device load flow

Doing my first --no-ff merge here, to get the explicit merge commit.

David did a back-merge in order to get commit 8909c9ad ("net: don't
allow CAP_NET_ADMIN to load non-netdev kernel modules") so that we can
add Stephen Hemminger's fix to handle ip6 tunnels as well, which uses
the MODULE_ALIAS_NETDEV() macro created by that change.
parents 91797466 75c0fd93
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -4292,10 +4292,7 @@ S: Maintained
F:	net/sched/sch_netem.c

NETERION 10GbE DRIVERS (s2io/vxge)
M:	Ramkrishna Vepa <ramkrishna.vepa@exar.com>
M:	Sivakumar Subramani <sivakumar.subramani@exar.com>
M:	Sreenivasa Honnur <sreenivasa.honnur@exar.com>
M:	Jon Mason <jon.mason@exar.com>
M:	Jon Mason <jdmason@kudzu.us>
L:	netdev@vger.kernel.org
W:	http://trac.neterion.com/cgi-bin/trac.cgi/wiki/Linux?Anonymous
W:	http://trac.neterion.com/cgi-bin/trac.cgi/wiki/X3100Linux?Anonymous
+0 −5
Original line number Diff line number Diff line
@@ -425,11 +425,6 @@ static irqreturn_t ariadne_interrupt(int irq, void *data)
    int csr0, boguscnt;
    int handled = 0;

    if (dev == NULL) {
	printk(KERN_WARNING "ariadne_interrupt(): irq for unknown device.\n");
	return IRQ_NONE;
    }

    lance->RAP = CSR0;			/* PCnet-ISA Controller Status */

    if (!(lance->RDP & INTR))		/* Check if any interrupt has been */
+3 −2
Original line number Diff line number Diff line
@@ -1211,6 +1211,7 @@ struct bnx2x {
	/* DCBX Negotation results */
	struct dcbx_features			dcbx_local_feat;
	u32					dcbx_error;
	u32					pending_max;
};

/**
@@ -1616,8 +1617,8 @@ static inline u32 reg_poll(struct bnx2x *bp, u32 reg, u32 expected, int ms,
/* CMNG constants, as derived from system spec calculations */
/* default MIN rate in case VNIC min rate is configured to zero - 100Mbps */
#define DEF_MIN_RATE					100
/* resolution of the rate shaping timer - 100 usec */
#define RS_PERIODIC_TIMEOUT_USEC			100
/* resolution of the rate shaping timer - 400 usec */
#define RS_PERIODIC_TIMEOUT_USEC			400
/* number of bytes in single QM arbitration cycle -
 * coefficient for calculating the fairness timer */
#define QM_ARB_BYTES					160000
+22 −0
Original line number Diff line number Diff line
@@ -996,6 +996,23 @@ void bnx2x_free_skbs(struct bnx2x *bp)
	bnx2x_free_rx_skbs(bp);
}

void bnx2x_update_max_mf_config(struct bnx2x *bp, u32 value)
{
	/* load old values */
	u32 mf_cfg = bp->mf_config[BP_VN(bp)];

	if (value != bnx2x_extract_max_cfg(bp, mf_cfg)) {
		/* leave all but MAX value */
		mf_cfg &= ~FUNC_MF_CFG_MAX_BW_MASK;

		/* set new MAX value */
		mf_cfg |= (value << FUNC_MF_CFG_MAX_BW_SHIFT)
				& FUNC_MF_CFG_MAX_BW_MASK;

		bnx2x_fw_command(bp, DRV_MSG_CODE_SET_MF_BW, mf_cfg);
	}
}

static void bnx2x_free_msix_irqs(struct bnx2x *bp)
{
	int i, offset = 1;
@@ -1464,6 +1481,11 @@ int bnx2x_nic_load(struct bnx2x *bp, int load_mode)

	bnx2x_set_eth_mac(bp, 1);

	if (bp->pending_max) {
		bnx2x_update_max_mf_config(bp, bp->pending_max);
		bp->pending_max = 0;
	}

	if (bp->port.pmf)
		bnx2x_initial_phy_init(bp, load_mode);

+9 −0
Original line number Diff line number Diff line
@@ -341,6 +341,15 @@ void bnx2x_dcbx_init(struct bnx2x *bp);
 */
int bnx2x_set_power_state(struct bnx2x *bp, pci_power_t state);

/**
 * Updates MAX part of MF configuration in HW
 * (if required)
 *
 * @param bp
 * @param value
 */
void bnx2x_update_max_mf_config(struct bnx2x *bp, u32 value);

/* dev_close main block */
int bnx2x_nic_unload(struct bnx2x *bp, int unload_mode);

Loading