Эх сурвалжийг харах

[PATCH] synclink_gt: fix receive tty error handling

Fix receive tty error handling in synclink_gt driver.  Adrian reported
compiler warning for incorrect bit test against char variable.  I
determined these and other device specific error bits were incorrectly
defined.

Signed-off-by: Paul Fulghum <paulkf@microgate.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Paul Fulghum 18 жил өмнө
parent
commit
202af6d501

+ 7 - 7
drivers/char/synclink_gt.c

@@ -391,8 +391,8 @@ static MGSL_PARAMS default_params = {
 #define DESC_LIST_SIZE 4096
 #define DESC_LIST_SIZE 4096
 
 
 #define MASK_PARITY  BIT1
 #define MASK_PARITY  BIT1
-#define MASK_FRAMING BIT2
-#define MASK_BREAK   BIT3
+#define MASK_FRAMING BIT0
+#define MASK_BREAK   BIT14
 #define MASK_OVERRUN BIT4
 #define MASK_OVERRUN BIT4
 
 
 #define GSR   0x00 /* global status */
 #define GSR   0x00 /* global status */
@@ -1800,17 +1800,17 @@ static void rx_async(struct slgt_info *info)
 
 
 			stat = 0;
 			stat = 0;
 
 
-			if ((status = *(p+1) & (BIT9 + BIT8))) {
-				if (status & BIT9)
+			if ((status = *(p+1) & (BIT1 + BIT0))) {
+				if (status & BIT1)
 					icount->parity++;
 					icount->parity++;
-				else if (status & BIT8)
+				else if (status & BIT0)
 					icount->frame++;
 					icount->frame++;
 				/* discard char if tty control flags say so */
 				/* discard char if tty control flags say so */
 				if (status & info->ignore_status_mask)
 				if (status & info->ignore_status_mask)
 					continue;
 					continue;
-				if (status & BIT9)
+				if (status & BIT1)
 					stat = TTY_PARITY;
 					stat = TTY_PARITY;
-				else if (status & BIT8)
+				else if (status & BIT0)
 					stat = TTY_FRAME;
 					stat = TTY_FRAME;
 			}
 			}
 			if (tty) {
 			if (tty) {