From 12288d450b18fd67293122fcd41761469fe5734b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Tue, 31 Jan 2017 14:21:53 +0100 Subject: kernel: update bcma to fix devm memory leaks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rafał Miłecki --- .../generic/patches-4.4/023-bcma-from-4.9.patch | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'target/linux/generic/patches-4.4/023-bcma-from-4.9.patch') diff --git a/target/linux/generic/patches-4.4/023-bcma-from-4.9.patch b/target/linux/generic/patches-4.4/023-bcma-from-4.9.patch index 0391bcb802..027054c162 100644 --- a/target/linux/generic/patches-4.4/023-bcma-from-4.9.patch +++ b/target/linux/generic/patches-4.4/023-bcma-from-4.9.patch @@ -80,3 +80,29 @@ /* Board types (on PCI usually equals to the subsystem dev id) */ /* BCM4313 */ +--- a/drivers/bcma/main.c ++++ b/drivers/bcma/main.c +@@ -209,6 +209,8 @@ static void bcma_of_fill_device(struct p + core->dev.of_node = node; + + core->irq = bcma_of_get_irq(parent, core, 0); ++ ++ of_dma_configure(&core->dev, node); + } + + unsigned int bcma_core_irq(struct bcma_device *core, int num) +@@ -248,12 +250,12 @@ void bcma_prepare_core(struct bcma_bus * + core->irq = bus->host_pci->irq; + break; + case BCMA_HOSTTYPE_SOC: +- core->dev.dma_mask = &core->dev.coherent_dma_mask; +- if (bus->host_pdev) { ++ if (IS_ENABLED(CONFIG_OF) && bus->host_pdev) { + core->dma_dev = &bus->host_pdev->dev; + core->dev.parent = &bus->host_pdev->dev; + bcma_of_fill_device(bus->host_pdev, core); + } else { ++ core->dev.dma_mask = &core->dev.coherent_dma_mask; + core->dma_dev = &core->dev; + } + break; -- cgit v1.2.3