diff options
author | Rafał Miłecki <rafal@milecki.pl> | 2017-01-31 14:21:53 +0100 |
---|---|---|
committer | Rafał Miłecki <rafal@milecki.pl> | 2017-01-31 14:31:13 +0100 |
commit | 12288d450b18fd67293122fcd41761469fe5734b (patch) | |
tree | d8081ffdaceade245a14639f4b7e84d69ed0eea9 /target/linux/generic/patches-4.4/023-bcma-from-4.9.patch | |
parent | 1a14ffaf2bd5929c20fb5d4c2d5a6fa6d2cad65e (diff) | |
download | upstream-12288d450b18fd67293122fcd41761469fe5734b.tar.gz upstream-12288d450b18fd67293122fcd41761469fe5734b.tar.bz2 upstream-12288d450b18fd67293122fcd41761469fe5734b.zip |
kernel: update bcma to fix devm memory leaks
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Diffstat (limited to 'target/linux/generic/patches-4.4/023-bcma-from-4.9.patch')
-rw-r--r-- | target/linux/generic/patches-4.4/023-bcma-from-4.9.patch | 26 |
1 files changed, 26 insertions, 0 deletions
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; |