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

Commit a927120b authored by Matt Wagantall's avatar Matt Wagantall
Browse files

Merge tag 'v3.18.1' into msm-3.18



This is the 3.18.1 stable release

Change-Id: I138dd459e8b987ff7d52318c51eb0b236034ac7b
Signed-off-by: default avatarMatt Wagantall <mattw@codeaurora.org>
parents 35afb780 39ca4845
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
VERSION = 3
PATCHLEVEL = 18
SUBLEVEL = 0
SUBLEVEL = 1
EXTRAVERSION =
NAME = Shuffling Zombie Juror

+2 −2
Original line number Diff line number Diff line
@@ -426,7 +426,7 @@ static inline void emit_mod(unsigned int dst, unsigned int src,
		u32 *p = &ctx->target[ctx->idx];
		uasm_i_divu(&p, dst, src);
		p = &ctx->target[ctx->idx + 1];
		uasm_i_mflo(&p, dst);
		uasm_i_mfhi(&p, dst);
	}
	ctx->idx += 2; /* 2 insts */
}
@@ -971,7 +971,7 @@ load_ind:
			break;
		case BPF_ALU | BPF_MOD | BPF_K:
			/* A %= k */
			if (k == 1 || optimize_div(&k)) {
			if (k == 1) {
				ctx->flags |= SEEN_A;
				emit_jit_reg_move(r_A, r_zero, ctx);
			} else {
+1 −1
Original line number Diff line number Diff line
@@ -164,7 +164,7 @@ static void spufs_prune_dir(struct dentry *dir)
	struct dentry *dentry, *tmp;

	mutex_lock(&dir->d_inode->i_mutex);
	list_for_each_entry_safe(dentry, tmp, &dir->d_subdirs, d_u.d_child) {
	list_for_each_entry_safe(dentry, tmp, &dir->d_subdirs, d_child) {
		spin_lock(&dentry->d_lock);
		if (!(d_unhashed(dentry)) && dentry->d_inode) {
			dget_dlock(dentry);
+3 −2
Original line number Diff line number Diff line
@@ -216,7 +216,7 @@
/* Various constants */

/* Coalescing */
#define MVNETA_TXDONE_COAL_PKTS		16
#define MVNETA_TXDONE_COAL_PKTS		1
#define MVNETA_RX_COAL_PKTS		32
#define MVNETA_RX_COAL_USEC		100

@@ -1721,6 +1721,7 @@ static int mvneta_tx(struct sk_buff *skb, struct net_device *dev)
	u16 txq_id = skb_get_queue_mapping(skb);
	struct mvneta_tx_queue *txq = &pp->txqs[txq_id];
	struct mvneta_tx_desc *tx_desc;
	int len = skb->len;
	int frags = 0;
	u32 tx_cmd;

@@ -1788,7 +1789,7 @@ out:

		u64_stats_update_begin(&stats->syncp);
		stats->tx_packets++;
		stats->tx_bytes  += skb->len;
		stats->tx_bytes  += len;
		u64_stats_update_end(&stats->syncp);
	} else {
		dev->stats.tx_dropped++;
+3 −7
Original line number Diff line number Diff line
@@ -1995,9 +1995,8 @@ static int vxlan_init(struct net_device *dev)
	spin_lock(&vn->sock_lock);
	vs = vxlan_find_sock(vxlan->net, ipv6 ? AF_INET6 : AF_INET,
			     vxlan->dst_port);
	if (vs) {
	if (vs && atomic_add_unless(&vs->refcnt, 1, 0)) {
		/* If we have a socket with same port already, reuse it */
		atomic_inc(&vs->refcnt);
		vxlan_vs_add_dev(vs, vxlan);
	} else {
		/* otherwise make new socket outside of RTNL */
@@ -2396,12 +2395,9 @@ struct vxlan_sock *vxlan_sock_add(struct net *net, __be16 port,

	spin_lock(&vn->sock_lock);
	vs = vxlan_find_sock(net, ipv6 ? AF_INET6 : AF_INET, port);
	if (vs) {
		if (vs->rcv == rcv)
			atomic_inc(&vs->refcnt);
		else
	if (vs && ((vs->rcv != rcv) ||
		   !atomic_add_unless(&vs->refcnt, 1, 0)))
			vs = ERR_PTR(-EBUSY);
	}
	spin_unlock(&vn->sock_lock);

	if (!vs)
Loading