diff -urpN -X ../dontdiff linux-2.6.17-rc3/drivers/serial/s3c2410.c linux-2.6.17-rc3-uartclk1/drivers/serial/s3c2410.c
--- linux-2.6.17-rc3/drivers/serial/s3c2410.c	2006-05-01 22:51:09.000000000 +0100
+++ linux-2.6.17-rc3-uartclk1/drivers/serial/s3c2410.c	2006-05-01 23:47:59.000000000 +0100
@@ -506,6 +506,8 @@ static void s3c24xx_serial_shutdown(stru
 		ourport->rx_claimed = 0;
 		rx_enabled(port) = 0;
 	}
+
+	clk_disable(ourport->clk);
 }
 
 
@@ -517,6 +519,9 @@ static int s3c24xx_serial_startup(struct
 	dbg("s3c24xx_serial_startup: port=%p (%08lx,%p)\n",
 	    port->mapbase, port->membase);
 
+	/* ensure the port clock is enabled */
+	clk_enable(ourport->clk);
+
 	rx_enabled(port) = 1;
 
 	ret = request_irq(RX_IRQ(port),

