tty: amba-pl011: don't dereference NULL platform data
authorRobin Murphy <robin.murphy@arm.com>
Thu, 3 Mar 2016 16:35:35 +0000 (16:35 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 8 Mar 2016 00:11:14 +0000 (16:11 -0800)
When only a TX DMA channel is specified in DT, pl011_dma_probe() falls
back to looking for the optional RX channel in platform data. What it
doesn't do is check whether that platform data actually exists...

Add the missing check to avoid crashing the kernel.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/amba-pl011.c

index 500232ad38f32c1a1b4ee358078a3ae4ee247689..3f169275f9fa60665379686bfe14ac58852f5a83 100644 (file)
@@ -420,7 +420,7 @@ static void pl011_dma_probe(struct uart_amba_port *uap)
        /* Optionally make use of an RX channel as well */
        chan = dma_request_slave_channel(dev, "rx");
 
-       if (!chan && plat->dma_rx_param) {
+       if (!chan && plat && plat->dma_rx_param) {
                chan = dma_request_channel(mask, plat->dma_filter, plat->dma_rx_param);
 
                if (!chan) {