I just ran the static analyser cppcheck over the source code of the linux kernel version 3.5-rc5. It said [linux-3.5-rc5/drivers/tty/serial/pch_uart.c:1265]: (warning) Redundant assignment of "fifo_size" in switch The source code is switch (priv->fifo_size) { case 256: fifo_size = PCH_UART_HAL_FIFO256; break; case 64: fifo_size = PCH_UART_HAL_FIFO64; break; case 16: fifo_size = PCH_UART_HAL_FIFO16; case 1: default: fifo_size = PCH_UART_HAL_FIFO_DIS; break; } I think you might be better off with a break on the case 16.
Patch queued
A patch referencing this bug report has been merged in Linux v3.6-rc1: commit 9bc03743fff0770dc5a5324ba92e67cc377f16ca Author: Alan Cox <alan@linux.intel.com> Date: Mon Jul 2 18:51:38 2012 +0100 pch_uart: Fix missing break for 16 byte fifo
A patch referencing this bug report has been merged in Linux v3.7-rc1: commit 669bd45f117cc8c7309acd6b6bb054fe4d9e46c0 Author: Alan Cox <alan@linux.intel.com> Date: Mon Jul 2 18:51:38 2012 +0100 pch_uart: Fix missing break for 16 byte fifo