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

Commit c6e002a1 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge 3.18.8 into android-3.18



Changes in 3.18.8:
	ip: zero sockaddr returned on error queue
	net: rps: fix cpu unplug
	ipv6: stop sending PTB packets for MTU < 1280
	netxen: fix netxen_nic_poll() logic
	net: sctp: fix slab corruption from use after free on INIT collisions
	ipv4: try to cache dst_entries which would cause a redirect
	udp_diag: Fix socket skipping within chain
	ping: Fix race in free in receive path
	ipv6: replacing a rt6_info needs to purge possible propagated rt6_infos too
	bnx2x: fix napi poll return value for repoll
	net: don't OOPS on socket aio
	bridge: dont send notification when skb->len == 0 in rtnl_bridge_notify
	tcp: ipv4: initialize unicast_sock sk_pacing_rate
	ipv4: tcp: get rid of ugly unicast_sock
	ppp: deflate: never return len larger than output buffer
	net: sctp: fix passing wrong parameter header to param_type2af in sctp_process_param
	hyperv: Fix the error processing in netvsc_send()
	net: sched: fix panic in rate estimators
	ext4: ignore journal checksum on remount; don't fail
	media/rc: Send sync space information on the lirc device
	Linux 3.18.8

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parents 471422f3 e5c9f0bb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
VERSION = 3
PATCHLEVEL = 18
SUBLEVEL = 7
SUBLEVEL = 8
EXTRAVERSION =
NAME = Shuffling Zombie Juror

+9 −3
Original line number Diff line number Diff line
@@ -42,11 +42,17 @@ static int ir_lirc_decode(struct rc_dev *dev, struct ir_raw_event ev)
		return -EINVAL;

	/* Packet start */
	if (ev.reset)
		return 0;
	if (ev.reset) {
		/* Userspace expects a long space event before the start of
		 * the signal to use as a sync.  This may be done with repeat
		 * packets and normal samples.  But if a reset has been sent
		 * then we assume that a long time has passed, so we send a
		 * space with the maximum time value. */
		sample = LIRC_SPACE(LIRC_VALUE_MASK);
		IR_dprintk(2, "delivering reset sync space to lirc_dev\n");

	/* Carrier reports */
	if (ev.carrier_report) {
	} else if (ev.carrier_report) {
		sample = LIRC_FREQUENCY(ev.carrier);
		IR_dprintk(2, "carrier report (freq: %d)\n", sample);

+1 −1
Original line number Diff line number Diff line
@@ -3175,7 +3175,7 @@ static int bnx2x_poll(struct napi_struct *napi, int budget)
		}
#endif
		if (!bnx2x_fp_lock_napi(fp))
			return work_done;
			return budget;

		for_each_cos_in_tx_queue(fp, cos)
			if (bnx2x_tx_queue_has_work(fp->txdata_ptr[cos]))
+4 −1
Original line number Diff line number Diff line
@@ -2388,7 +2388,10 @@ static int netxen_nic_poll(struct napi_struct *napi, int budget)

	work_done = netxen_process_rcv_ring(sds_ring, budget);

	if ((work_done < budget) && tx_complete) {
	if (!tx_complete)
		work_done = budget;

	if (work_done < budget) {
		napi_complete(&sds_ring->napi);
		if (test_bit(__NX_DEV_UP, &adapter->state))
			netxen_nic_enable_int(sds_ring);
+8 −3
Original line number Diff line number Diff line
@@ -716,7 +716,7 @@ int netvsc_send(struct hv_device *device,
	u64 req_id;
	unsigned int section_index = NETVSC_INVALID_INDEX;
	u32 msg_size = 0;
	struct sk_buff *skb;
	struct sk_buff *skb = NULL;
	u16 q_idx = packet->q_idx;


@@ -743,8 +743,6 @@ int netvsc_send(struct hv_device *device,
							   packet);
			skb = (struct sk_buff *)
			      (unsigned long)packet->send_completion_tid;
			if (skb)
				dev_kfree_skb_any(skb);
			packet->page_buf_cnt = 0;
		}
	}
@@ -807,6 +805,13 @@ int netvsc_send(struct hv_device *device,
			   packet, ret);
	}

	if (ret != 0) {
		if (section_index != NETVSC_INVALID_INDEX)
			netvsc_free_send_slot(net_device, section_index);
	} else if (skb) {
		dev_kfree_skb_any(skb);
	}

	return ret;
}

Loading