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

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

Merge 4.9.330 into android-4.9-q



Changes in 4.9.330
	parisc: ccio-dma: Add missing iounmap in error path in ccio_probe()
	cifs: don't send down the destination address to sendmsg for a SOCK_STREAM
	video: fbdev: pxa3xx-gcu: Fix integer overflow in pxa3xx_gcu_write
	wifi: mac80211: Fix UAF in ieee80211_scan_rx()
	USB: core: Fix RST error in hub.c
	ALSA: hda/tegra: set depop delay for tegra
	ALSA: hda: add Intel 5 Series / 3400 PCI DID
	mm/slub: fix to return errno if kmalloc() fails
	netfilter: nf_conntrack_sip: fix ct_sip_walk_headers
	netfilter: nf_conntrack_irc: Tighten matching on DCC message
	ipvlan: Fix out-of-bound bugs caused by unset skb->mac_header
	net: team: Unsync device addresses on ndo_stop
	MIPS: lantiq: export clk_get_io() for lantiq_wdt.ko
	can: gs_usb: gs_can_open(): fix race dev->can.state condition
	perf kcore_copy: Do not check /proc/modules is unchanged
	net: sunhme: Fix packet reception for len < RX_COPY_THRESHOLD
	serial: Create uart_xmit_advance()
	serial: tegra: Use uart_xmit_advance(), fixes icount.tx accounting
	s390/dasd: fix Oops in dasd_alias_get_start_dev due to missing pavgroup
	Drivers: hv: Never allocate anything besides framebuffer from framebuffer memory region
	ext4: make directory inode spreading reflect flexbg size
	Linux 4.9.330

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
Change-Id: I099a661ffb5877ee7d7fd9669c33625b05baa26f
parents bdfaf54d 66fd5eaa
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
VERSION = 4
PATCHLEVEL = 9
SUBLEVEL = 329
SUBLEVEL = 330
EXTRAVERSION =
NAME = Roaring Lionus

+1 −0
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@ struct clk *clk_get_io(void)
{
	return &cpu_clk_generic[2];
}
EXPORT_SYMBOL_GPL(clk_get_io);

struct clk *clk_get_ppe(void)
{
+9 −1
Original line number Diff line number Diff line
@@ -1186,7 +1186,7 @@ int vmbus_allocate_mmio(struct resource **new, struct hv_device *device_obj,
			bool fb_overlap_ok)
{
	struct resource *iter, *shadow;
	resource_size_t range_min, range_max, start;
	resource_size_t range_min, range_max, start, end;
	const char *dev_n = dev_name(&device_obj->device);
	int retval;

@@ -1221,6 +1221,14 @@ int vmbus_allocate_mmio(struct resource **new, struct hv_device *device_obj,
		range_max = iter->end;
		start = (range_min + align - 1) & ~(align - 1);
		for (; start + size - 1 <= range_max; start += align) {
			end = start + size - 1;

			/* Skip the whole fb_mmio region if not fb_overlap_ok */
			if (!fb_overlap_ok && fb_mmio &&
			    (((start >= fb_mmio->start) && (start <= fb_mmio->end)) ||
			     ((end >= fb_mmio->start) && (end <= fb_mmio->end))))
				continue;

			shadow = __request_region(iter, start, size, NULL,
						  IORESOURCE_BUSY);
			if (!shadow)
+2 −2
Original line number Diff line number Diff line
@@ -687,6 +687,7 @@ static int gs_can_open(struct net_device *netdev)
		flags |= GS_CAN_MODE_TRIPLE_SAMPLE;

	/* finally start device */
	dev->can.state = CAN_STATE_ERROR_ACTIVE;
	dm->mode = cpu_to_le32(GS_CAN_MODE_START);
	dm->flags = cpu_to_le32(flags);
	rc = usb_control_msg(interface_to_usbdev(dev->iface),
@@ -703,13 +704,12 @@ static int gs_can_open(struct net_device *netdev)
	if (rc < 0) {
		netdev_err(netdev, "Couldn't start device (err=%d)\n", rc);
		kfree(dm);
		dev->can.state = CAN_STATE_STOPPED;
		return rc;
	}

	kfree(dm);

	dev->can.state = CAN_STATE_ERROR_ACTIVE;

	parent->active_channels++;
	if (!(dev->can.ctrlmode & CAN_CTRLMODE_LISTENONLY))
		netif_start_queue(netdev);
+2 −2
Original line number Diff line number Diff line
@@ -2064,9 +2064,9 @@ static void happy_meal_rx(struct happy_meal *hp, struct net_device *dev)

			skb_reserve(copy_skb, 2);
			skb_put(copy_skb, len);
			dma_sync_single_for_cpu(hp->dma_dev, dma_addr, len, DMA_FROM_DEVICE);
			dma_sync_single_for_cpu(hp->dma_dev, dma_addr, len + 2, DMA_FROM_DEVICE);
			skb_copy_from_linear_data(skb, copy_skb->data, len);
			dma_sync_single_for_device(hp->dma_dev, dma_addr, len, DMA_FROM_DEVICE);
			dma_sync_single_for_device(hp->dma_dev, dma_addr, len + 2, DMA_FROM_DEVICE);
			/* Reuse original ring buffer. */
			hme_write_rxd(hp, this,
				      (RXFLAG_OWN|((RX_BUF_ALLOC_SIZE-RX_OFFSET)<<16)),
Loading