From: Haavard Skinnemoen Introduced by atmel_serial-split-the-interrupt-handler.patch. Thanks to michael for spotting it. Signed-off-by: Haavard Skinnemoen Signed-off-by: Andrew Morton --- drivers/serial/atmel_serial.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff -puN drivers/serial/atmel_serial.c~atmel_serial-fix-broken-rx-buffer-allocation drivers/serial/atmel_serial.c --- a/drivers/serial/atmel_serial.c~atmel_serial-fix-broken-rx-buffer-allocation +++ a/drivers/serial/atmel_serial.c @@ -1469,7 +1469,8 @@ static int __devinit atmel_serial_probe( if (!atmel_use_dma_rx(&port->uart)) { ret = -ENOMEM; - data = kmalloc(ATMEL_SERIAL_RINGSIZE, GFP_KERNEL); + data = kmalloc(sizeof(struct atmel_uart_char) + * ATMEL_SERIAL_RINGSIZE, GFP_KERNEL); if (!data) goto err_alloc_ring; port->rx_ring.buf = data; _