serial:ifx6x60:SPI header is decoded incorrectly
authorchao bi <chao.bi@intel.com>
Tue, 6 Nov 2012 03:13:59 +0000 (11:13 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 16 Nov 2012 00:47:35 +0000 (16:47 -0800)
This patch is to correct the bit mapping of "MORE" and "CTS" in SPI frame header.
Per SPI protocol, SPI header is encoded with length of 4 byte, which is defined
as below:
bit 0 ~ 11: current data size;
bit 12: "MORE" bit;
bit 13: reserve
bit 14 ~ 15: reserve
bit 16 ~ 27: next data size
bit 28: RI
bit 29: DCD
bit 30: CTS/RTS
bit 31: DSR/DTR

According to above SPI header structure, the bit mapping of "MORE" and "CTS" is
incorrect in function ifx_spi_decode_spi_header();

Cc: Chen Jun <jun.d.chen@intel.com>
Signed-off-by: channing <chao.bi@intel.com>
Acked-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/ifx6x60.c

index fbda37415f01ca4e5fbdf942ced406743cecd34b..21eb70bcb6a0d80f4f0fc158ea8b4199fda8677e 100644 (file)
@@ -64,8 +64,8 @@
 #include "ifx6x60.h"
 
 #define IFX_SPI_MORE_MASK              0x10
-#define IFX_SPI_MORE_BIT               12      /* bit position in u16 */
-#define IFX_SPI_CTS_BIT                        13      /* bit position in u16 */
+#define IFX_SPI_MORE_BIT               4       /* bit position in u8 */
+#define IFX_SPI_CTS_BIT                        6       /* bit position in u8 */
 #define IFX_SPI_MODE                   SPI_MODE_1
 #define IFX_SPI_TTY_ID                 0
 #define IFX_SPI_TIMEOUT_SEC            2