From: David S. Miller <davem@davemloft.net>
Date: Wed, 23 Oct 2013 20:28:39 +0000 (-0400)
Subject: Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
X-Git-Tag: v3.13-rc1~105^2~136
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=c3fa32b9764dc45dcf8a2231b1c110abc4a63e0b;p=users%2Fjedix%2Flinux-maple.git

Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

Conflicts:
	drivers/net/usb/qmi_wwan.c
	include/net/dst.h

Trivial merge conflicts, both were overlapping changes.

Signed-off-by: David S. Miller <davem@davemloft.net>
---

c3fa32b9764dc45dcf8a2231b1c110abc4a63e0b
diff --cc drivers/net/ethernet/broadcom/bnx2x/bnx2x.h
index 5fb18cd99da2,c5e375ddd6c0..4e01c57d8c8d
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x.h
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x.h
@@@ -2494,5 -2492,15 +2495,9 @@@ enum 
  
  #define NUM_MACS	8
  
 -enum bnx2x_pci_bus_speed {
 -	BNX2X_PCI_LINK_SPEED_2500 = 2500,
 -	BNX2X_PCI_LINK_SPEED_5000 = 5000,
 -	BNX2X_PCI_LINK_SPEED_8000 = 8000
 -};
 -
  void bnx2x_set_local_cmng(struct bnx2x *bp);
+ 
+ #define MCPR_SCRATCH_BASE(bp) \
+ 	(CHIP_IS_E1x(bp) ? MCP_REG_MCPR_SCRATCH : MCP_A_REG_MCPR_SCRATCH)
+ 
  #endif /* bnx2x.h */
diff --cc drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c
index 58dc89af7c6a,28757dfacf0d..9199adf32d33
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c
@@@ -1020,14 -980,17 +1020,14 @@@ static int bnx2x_copy32_vf_dmae(struct 
  	dmae.len = len32;
  
  	/* issue the command and wait for completion */
- 	return bnx2x_issue_dmae_with_comp(bp, &dmae);
+ 	return bnx2x_issue_dmae_with_comp(bp, &dmae, bnx2x_sp(bp, wb_comp));
  }
  
 -static void bnx2x_vf_mbx_resp(struct bnx2x *bp, struct bnx2x_virtf *vf)
 +static void bnx2x_vf_mbx_resp_single_tlv(struct bnx2x *bp,
 +					 struct bnx2x_virtf *vf)
  {
  	struct bnx2x_vf_mbx *mbx = BP_VF_MBX(bp, vf->index);
 -	u64 vf_addr;
 -	dma_addr_t pf_addr;
  	u16 length, type;
 -	int rc;
 -	struct pfvf_general_resp_tlv *resp = &mbx->msg->resp.general_resp;
  
  	/* prepare response */
  	type = mbx->first_tlv.tl.type;
diff --cc drivers/net/usb/qmi_wwan.c
index d03b6b6c64c0,818ce90185b5..e0a4a2b08e45
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@@ -729,7 -714,7 +729,8 @@@ static const struct usb_device_id produ
  	{QMI_FIXED_INTF(0x2357, 0x0201, 4)},	/* TP-LINK HSUPA Modem MA180 */
  	{QMI_FIXED_INTF(0x2357, 0x9000, 4)},	/* TP-LINK MA260 */
  	{QMI_FIXED_INTF(0x1bc7, 0x1200, 5)},	/* Telit LE920 */
 +	{QMI_FIXED_INTF(0x1bc7, 0x1201, 2)},	/* Telit LE920 */
+ 	{QMI_FIXED_INTF(0x0b3c, 0xc005, 6)},    /* Olivetti Olicard 200 */
  	{QMI_FIXED_INTF(0x1e2d, 0x0060, 4)},	/* Cinterion PLxx */
  
  	/* 4. Gobi 1000 devices */
diff --cc include/net/dst.h
index 211dcf1e758e,3c4c944096c9..44995c13e941
--- a/include/net/dst.h
+++ b/include/net/dst.h
@@@ -478,10 -479,22 +478,22 @@@ static inline struct dst_entry *xfrm_lo
  {
  	return dst_orig;
  } 
+ 
+ static inline struct xfrm_state *dst_xfrm(const struct dst_entry *dst)
+ {
+ 	return NULL;
+ }
+ 
  #else
 -extern struct dst_entry *xfrm_lookup(struct net *net, struct dst_entry *dst_orig,
 -				     const struct flowi *fl, struct sock *sk,
 -				     int flags);
 +struct dst_entry *xfrm_lookup(struct net *net, struct dst_entry *dst_orig,
 +			      const struct flowi *fl, struct sock *sk,
 +			      int flags);
+ 
+ /* skb attached with this dst needs transformation if dst->xfrm is valid */
+ static inline struct xfrm_state *dst_xfrm(const struct dst_entry *dst)
+ {
+ 	return dst->xfrm;
+ }
  #endif
  
  #endif /* _NET_DST_H */
diff --cc net/core/secure_seq.c
index 90e8a8250255,8d9d05edd2eb..897da56f3aff
--- a/net/core/secure_seq.c
+++ b/net/core/secure_seq.c
@@@ -15,10 -15,22 +16,11 @@@
  
  static u32 net_secret[NET_SECRET_SIZE] ____cacheline_aligned;
  
 -static void net_secret_init(void)
 +static __always_inline void net_secret_init(void)
  {
 -	u32 tmp;
 -	int i;
 -
 -	if (likely(net_secret[0]))
 -		return;
 -
 -	for (i = NET_SECRET_SIZE; i > 0;) {
 -		do {
 -			get_random_bytes(&tmp, sizeof(tmp));
 -		} while (!tmp);
 -		cmpxchg(&net_secret[--i], 0, tmp);
 -	}
 +	net_get_random_once(net_secret, sizeof(net_secret));
  }
+ #endif
  
  #ifdef CONFIG_INET
  static u32 seq_scale(u32 seq)