serial: sh-sci: Handle request_irq() failures.

request_irq() can fail, so actually do something with the error path
instead of blindly ignoring it.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
diff --git a/drivers/serial/sh-sci.c b/drivers/serial/sh-sci.c
index 3fd1577..31ac092 100644
--- a/drivers/serial/sh-sci.c
+++ b/drivers/serial/sh-sci.c
@@ -830,6 +830,7 @@
 	if ((phase == CPUFREQ_POSTCHANGE) ||
 	    (phase == CPUFREQ_RESUMECHANGE)) {
 		struct uart_port *port = &sci_port->port;
+
 		spin_lock_irqsave(&port->lock, flags);
 		port->uartclk = clk_get_rate(sci_port->iclk);
 		spin_unlock_irqrestore(&port->lock, flags);
@@ -1428,14 +1429,19 @@
 static int sci_startup(struct uart_port *port)
 {
 	struct sci_port *s = to_sci_port(port);
+	int ret;
 
 	dev_dbg(port->dev, "%s(%d)\n", __func__, port->line);
 
 	if (s->enable)
 		s->enable(port);
 
-	sci_request_irq(s);
+	ret = sci_request_irq(s);
+	if (unlikely(ret < 0))
+		return ret;
+
 	sci_request_dma(port);
+
 	sci_start_tx(port);
 	sci_start_rx(port);
 
@@ -1450,6 +1456,7 @@
 
 	sci_stop_rx(port);
 	sci_stop_tx(port);
+
 	sci_free_dma(port);
 	sci_free_irq(s);