|
@@ -1985,11 +1985,13 @@ static int sci_startup(struct uart_port *port)
|
|
|
|
|
|
dev_dbg(port->dev, "%s(%d)\n", __func__, port->line);
|
|
dev_dbg(port->dev, "%s(%d)\n", __func__, port->line);
|
|
|
|
|
|
|
|
+ sci_request_dma(port);
|
|
|
|
+
|
|
ret = sci_request_irq(s);
|
|
ret = sci_request_irq(s);
|
|
- if (unlikely(ret < 0))
|
|
|
|
|
|
+ if (unlikely(ret < 0)) {
|
|
|
|
+ sci_free_dma(port);
|
|
return ret;
|
|
return ret;
|
|
-
|
|
|
|
- sci_request_dma(port);
|
|
|
|
|
|
+ }
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
@@ -2021,8 +2023,8 @@ static void sci_shutdown(struct uart_port *port)
|
|
}
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
|
|
- sci_free_dma(port);
|
|
|
|
sci_free_irq(s);
|
|
sci_free_irq(s);
|
|
|
|
+ sci_free_dma(port);
|
|
}
|
|
}
|
|
|
|
|
|
static int sci_sck_calc(struct sci_port *s, unsigned int bps,
|
|
static int sci_sck_calc(struct sci_port *s, unsigned int bps,
|