diff options
| -rw-r--r-- | drivers/char/sx.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/char/sx.c b/drivers/char/sx.c index 588e75ec1630..a6b4f02bdceb 100644 --- a/drivers/char/sx.c +++ b/drivers/char/sx.c | |||
| @@ -1095,17 +1095,17 @@ static inline void sx_receive_chars (struct sx_port *port) | |||
| 1095 | 1095 | ||
| 1096 | sx_dprintk (SX_DEBUG_RECEIVE, "rxop=%d, c = %d.\n", rx_op, c); | 1096 | sx_dprintk (SX_DEBUG_RECEIVE, "rxop=%d, c = %d.\n", rx_op, c); |
| 1097 | 1097 | ||
| 1098 | /* Don't copy past the end of the hardware receive buffer */ | ||
| 1099 | if (rx_op + c > 0x100) c = 0x100 - rx_op; | ||
| 1100 | |||
| 1101 | sx_dprintk (SX_DEBUG_RECEIVE, "c = %d.\n", c); | ||
| 1102 | |||
| 1098 | /* Don't copy more bytes than there is room for in the buffer */ | 1103 | /* Don't copy more bytes than there is room for in the buffer */ |
| 1099 | 1104 | ||
| 1100 | c = tty_prepare_flip_string(tty, &rp, c); | 1105 | c = tty_prepare_flip_string(tty, &rp, c); |
| 1101 | 1106 | ||
| 1102 | sx_dprintk (SX_DEBUG_RECEIVE, "c = %d.\n", c); | 1107 | sx_dprintk (SX_DEBUG_RECEIVE, "c = %d.\n", c); |
| 1103 | 1108 | ||
| 1104 | /* Don't copy past the end of the hardware receive buffer */ | ||
| 1105 | if (rx_op + c > 0x100) c = 0x100 - rx_op; | ||
| 1106 | |||
| 1107 | sx_dprintk (SX_DEBUG_RECEIVE, "c = %d.\n", c); | ||
| 1108 | |||
| 1109 | /* If for one reason or another, we can't copy more data, we're done! */ | 1109 | /* If for one reason or another, we can't copy more data, we're done! */ |
| 1110 | if (c == 0) break; | 1110 | if (c == 0) break; |
| 1111 | 1111 | ||
