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

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

Merge 4.9.323 into android-4.9-q



Changes in 4.9.323
	mm/slub: add missing TID updates on slab deactivation
	can: grcan: grcan_probe(): remove extra of_node_get()
	can: gs_usb: gs_usb_open/close(): fix memory leak
	usbnet: fix memory leak in error case
	net: rose: fix UAF bug caused by rose_t0timer_expiry
	iommu/vt-d: Fix PCI bus rescan device hot add
	video: of_display_timing.h: include errno.h
	xfs: remove incorrect ASSERT in xfs_rename
	pinctrl: sunxi: a83t: Fix NAND function name for some pins
	i2c: cadence: Unregister the clk notifier in error path
	ida: don't use BUG_ON() for debugging
	dmaengine: at_xdma: handle errors of at_xdmac_alloc_desc() correctly
	dmaengine: ti: Fix refcount leak in ti_dra7_xbar_route_allocate
	dmaengine: ti: Add missing put_device in ti_dra7_xbar_route_allocate
	Linux 4.9.323

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
Change-Id: I0a0ef5dbd604cb266fa242c95e0868ab89fc1319
parents e5b48fd0 dadca36d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
VERSION = 4
PATCHLEVEL = 9
SUBLEVEL = 322
SUBLEVEL = 323
EXTRAVERSION =
NAME = Roaring Lionus

+5 −0
Original line number Diff line number Diff line
@@ -1806,6 +1806,11 @@ static int at_xdmac_alloc_chan_resources(struct dma_chan *chan)
	for (i = 0; i < init_nr_desc_per_channel; i++) {
		desc = at_xdmac_alloc_desc(chan, GFP_ATOMIC);
		if (!desc) {
			if (i == 0) {
				dev_warn(chan2dev(chan),
					 "can't allocate any descriptors\n");
				return -EIO;
			}
			dev_warn(chan2dev(chan),
				"only %d descriptors have been allocated\n", i);
			break;
+5 −0
Original line number Diff line number Diff line
@@ -251,6 +251,7 @@ static void *ti_dra7_xbar_route_allocate(struct of_phandle_args *dma_spec,
	if (dma_spec->args[0] >= xbar->xbar_requests) {
		dev_err(&pdev->dev, "Invalid XBAR request number: %d\n",
			dma_spec->args[0]);
		put_device(&pdev->dev);
		return ERR_PTR(-EINVAL);
	}

@@ -258,12 +259,14 @@ static void *ti_dra7_xbar_route_allocate(struct of_phandle_args *dma_spec,
	dma_spec->np = of_parse_phandle(ofdma->of_node, "dma-masters", 0);
	if (!dma_spec->np) {
		dev_err(&pdev->dev, "Can't get DMA master\n");
		put_device(&pdev->dev);
		return ERR_PTR(-EINVAL);
	}

	map = kzalloc(sizeof(*map), GFP_KERNEL);
	if (!map) {
		of_node_put(dma_spec->np);
		put_device(&pdev->dev);
		return ERR_PTR(-ENOMEM);
	}

@@ -274,6 +277,8 @@ static void *ti_dra7_xbar_route_allocate(struct of_phandle_args *dma_spec,
		mutex_unlock(&xbar->mutex);
		dev_err(&pdev->dev, "Run out of free DMA requests\n");
		kfree(map);
		of_node_put(dma_spec->np);
		put_device(&pdev->dev);
		return ERR_PTR(-ENOMEM);
	}
	set_bit(map->xbar_out, xbar->dma_inuse);
+1 −0
Original line number Diff line number Diff line
@@ -992,6 +992,7 @@ static int cdns_i2c_probe(struct platform_device *pdev)
	return 0;

err_clk_dis:
	clk_notifier_unregister(id->clk, &id->clk_rate_change_nb);
	clk_disable_unprepare(id->clk);
	pm_runtime_set_suspended(&pdev->dev);
	pm_runtime_disable(&pdev->dev);
+1 −1
Original line number Diff line number Diff line
@@ -373,7 +373,7 @@ static int dmar_pci_bus_notifier(struct notifier_block *nb,

static struct notifier_block dmar_pci_bus_nb = {
	.notifier_call = dmar_pci_bus_notifier,
	.priority = INT_MIN,
	.priority = 1,
};

static struct dmar_drhd_unit *
Loading