aboutsummaryrefslogtreecommitdiff
path: root/drivers/mtd/lpddr/lpddr_cmds.c
diff options
context:
space:
mode:
authorNeeraj Upadhyay <[email protected]>2017-08-07 11:51:25 +0530
committerGreg Kroah-Hartman <[email protected]>2017-08-28 20:51:19 +0200
commit4d691f75924171787bce2853eb236f89b62ec736 (patch)
tree5d6b5c8b2b4a1abd87bbde236a215bbab912d36f /drivers/mtd/lpddr/lpddr_cmds.c
parent62f466ee0398d9c67e7a867090324794afff1525 (diff)
tty: serial: msm: Move request_irq to the end of startup
Move the request_irq() call to the end of the msm_startup(), so that we don't handle interrupts while msm_startup() is running. This avoids potential races while initialization is in progress. For example, consider below scenario where rx handler reads the intermediate value of dma->chan, set in msm_request_rx_dma(), and tries to do dma mapping, which results in data abort. uart_port_startup() msm_startup() request_irq() ... msm_request_rx_dma() ... dma->chan = dma_request_slave_channel_reason(dev, "rx"); <UART RX IRQ> msm_uart_irq() msm_handle_rx_dm() msm_start_rx_dma() dma->desc = dma_map_single() <data abort> Signed-off-by: Neeraj Upadhyay <[email protected]> Reviewd-by: Andy Gross <[email protected]> Reviewed-by: Stephen Boyd <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'drivers/mtd/lpddr/lpddr_cmds.c')
0 files changed, 0 insertions, 0 deletions