mirror of
https://github.com/apache/nuttx.git
synced 2026-05-28 20:08:15 +08:00
arch: serial: fix all TCGETS retrieving zero baud rate
cfsetispeed() now stores baud rate to c_cflag member of struct termios, so it must not be overridden later on. Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
This commit is contained in:
committed by
Xiang Xiao
parent
9928088868
commit
94f0f55911
@@ -1270,8 +1270,6 @@ static int up_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
* that only one speed is supported.
|
* that only one speed is supported.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Get the c_speed field in the termios struct */
|
|
||||||
|
|
||||||
priv->baud = cfgetispeed(termiosp);
|
priv->baud = cfgetispeed(termiosp);
|
||||||
|
|
||||||
/* TODO: Re-calculate the optimal CCLK divisor for the new baud and
|
/* TODO: Re-calculate the optimal CCLK divisor for the new baud and
|
||||||
|
|||||||
@@ -1090,8 +1090,6 @@ static int up_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
* that only one speed is supported.
|
* that only one speed is supported.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Get the c_speed field in the termios struct */
|
|
||||||
|
|
||||||
priv->baud = cfgetispeed(termiosp);
|
priv->baud = cfgetispeed(termiosp);
|
||||||
|
|
||||||
/* TODO: Re-calculate the optimal CCLK divisor for the new baud and
|
/* TODO: Re-calculate the optimal CCLK divisor for the new baud and
|
||||||
|
|||||||
@@ -778,8 +778,6 @@ static int up_ioctl(FAR struct file *filep, int cmd, unsigned long arg)
|
|||||||
|
|
||||||
flags = spin_lock_irqsave();
|
flags = spin_lock_irqsave();
|
||||||
|
|
||||||
cfsetispeed(termiosp, priv->baud);
|
|
||||||
|
|
||||||
termiosp->c_cflag = ((priv->parity != 0) ? PARENB : 0) |
|
termiosp->c_cflag = ((priv->parity != 0) ? PARENB : 0) |
|
||||||
((priv->parity == 1) ? PARODD : 0) |
|
((priv->parity == 1) ? PARODD : 0) |
|
||||||
#ifdef CONFIG_SERIAL_OFLOWCONTROL
|
#ifdef CONFIG_SERIAL_OFLOWCONTROL
|
||||||
@@ -790,6 +788,8 @@ static int up_ioctl(FAR struct file *filep, int cmd, unsigned long arg)
|
|||||||
#endif
|
#endif
|
||||||
((priv->stopbits2) ? CSTOPB : 0);
|
((priv->stopbits2) ? CSTOPB : 0);
|
||||||
|
|
||||||
|
cfsetispeed(termiosp, priv->baud);
|
||||||
|
|
||||||
switch (priv->bits)
|
switch (priv->bits)
|
||||||
{
|
{
|
||||||
case 5:
|
case 5:
|
||||||
|
|||||||
@@ -839,8 +839,6 @@ static int efm32_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
cfsetispeed(termiosp, priv->config->baud);
|
|
||||||
|
|
||||||
/* Note that since we only support 8/9 bit modes and
|
/* Note that since we only support 8/9 bit modes and
|
||||||
* there is no way to report 9-bit mode, we always claim 8.
|
* there is no way to report 9-bit mode, we always claim 8.
|
||||||
*/
|
*/
|
||||||
@@ -848,6 +846,8 @@ static int efm32_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
termiosp->c_cflag = CS8;
|
termiosp->c_cflag = CS8;
|
||||||
|
|
||||||
/* TODO: PARENB, PARODD, CSTOPB, CCTS_IFLOW, CCTS_OFLOW */
|
/* TODO: PARENB, PARODD, CSTOPB, CCTS_IFLOW, CCTS_OFLOW */
|
||||||
|
|
||||||
|
cfsetispeed(termiosp, priv->config->baud);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|||||||
@@ -1155,10 +1155,6 @@ static int imxrt_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return baud */
|
|
||||||
|
|
||||||
cfsetispeed(termiosp, priv->baud);
|
|
||||||
|
|
||||||
/* Return parity */
|
/* Return parity */
|
||||||
|
|
||||||
termiosp->c_cflag = ((priv->parity != 0) ? PARENB : 0) |
|
termiosp->c_cflag = ((priv->parity != 0) ? PARENB : 0) |
|
||||||
@@ -1176,6 +1172,10 @@ static int imxrt_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
#ifdef CONFIG_SERIAL_IFLOWCONTROL
|
#ifdef CONFIG_SERIAL_IFLOWCONTROL
|
||||||
termiosp->c_cflag |= ((priv->iflow) ? CRTS_IFLOW : 0);
|
termiosp->c_cflag |= ((priv->iflow) ? CRTS_IFLOW : 0);
|
||||||
#endif
|
#endif
|
||||||
|
/* Return baud */
|
||||||
|
|
||||||
|
cfsetispeed(termiosp, priv->baud);
|
||||||
|
|
||||||
/* Return number of bits */
|
/* Return number of bits */
|
||||||
|
|
||||||
switch (priv->bits)
|
switch (priv->bits)
|
||||||
|
|||||||
@@ -1341,8 +1341,6 @@ static int up_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
cfsetispeed(termiosp, priv->baud);
|
|
||||||
|
|
||||||
/* Note: CSIZE only supports 5-8 bits. The driver only support 8/9 bit
|
/* Note: CSIZE only supports 5-8 bits. The driver only support 8/9 bit
|
||||||
* modes and therefore is no way to report 9-bit mode, we always claim
|
* modes and therefore is no way to report 9-bit mode, we always claim
|
||||||
* 8 bit mode.
|
* 8 bit mode.
|
||||||
@@ -1360,6 +1358,8 @@ static int up_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
# endif
|
# endif
|
||||||
CS8;
|
CS8;
|
||||||
|
|
||||||
|
cfsetispeed(termiosp, priv->baud);
|
||||||
|
|
||||||
/* TODO: CCTS_IFLOW, CCTS_OFLOW */
|
/* TODO: CCTS_IFLOW, CCTS_OFLOW */
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -757,8 +757,6 @@ static int up_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
cfsetispeed(termiosp, priv->baud);
|
|
||||||
|
|
||||||
/* Note that since we only support 8/9 bit modes and
|
/* Note that since we only support 8/9 bit modes and
|
||||||
* there is no way to report 9-bit mode, we always claim 8.
|
* there is no way to report 9-bit mode, we always claim 8.
|
||||||
*/
|
*/
|
||||||
@@ -773,6 +771,8 @@ static int up_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
((priv->iflow) ? CRTS_IFLOW : 0) |
|
((priv->iflow) ? CRTS_IFLOW : 0) |
|
||||||
#endif
|
#endif
|
||||||
CS8;
|
CS8;
|
||||||
|
|
||||||
|
cfsetispeed(termiosp, priv->baud);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|||||||
@@ -1391,8 +1391,6 @@ static int up_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
* that only one speed is supported.
|
* that only one speed is supported.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Get the c_speed field in the termios struct */
|
|
||||||
|
|
||||||
priv->baud = cfgetispeed(termiosp);
|
priv->baud = cfgetispeed(termiosp);
|
||||||
|
|
||||||
/* TODO: Re-calculate the optimal CCLK divisor for the new baud and
|
/* TODO: Re-calculate the optimal CCLK divisor for the new baud and
|
||||||
|
|||||||
@@ -475,12 +475,6 @@ static int nrf52_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get baud */
|
|
||||||
|
|
||||||
cfsetispeed(termiosp, config->baud);
|
|
||||||
|
|
||||||
/* Get flags */
|
|
||||||
|
|
||||||
termiosp->c_cflag = ((config->parity != 0) ? PARENB : 0)
|
termiosp->c_cflag = ((config->parity != 0) ? PARENB : 0)
|
||||||
| ((config->parity == 1) ? PARODD : 0)
|
| ((config->parity == 1) ? PARODD : 0)
|
||||||
| ((config->stopbits2) ? CSTOPB : 0) |
|
| ((config->stopbits2) ? CSTOPB : 0) |
|
||||||
@@ -492,6 +486,8 @@ static int nrf52_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
#endif
|
#endif
|
||||||
CS8;
|
CS8;
|
||||||
|
|
||||||
|
cfsetispeed(termiosp, config->baud);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -797,8 +797,6 @@ static int up_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
* that only one speed is supported.
|
* that only one speed is supported.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Get the c_speed field in the termios struct */
|
|
||||||
|
|
||||||
priv->baud = cfgetispeed(termiosp);
|
priv->baud = cfgetispeed(termiosp);
|
||||||
|
|
||||||
/* Reset the baud */
|
/* Reset the baud */
|
||||||
|
|||||||
@@ -727,10 +727,6 @@ static int s32k1xx_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return baud */
|
|
||||||
|
|
||||||
cfsetispeed(termiosp, priv->baud);
|
|
||||||
|
|
||||||
/* Return parity */
|
/* Return parity */
|
||||||
|
|
||||||
termiosp->c_cflag = ((priv->parity != 0) ? PARENB : 0) |
|
termiosp->c_cflag = ((priv->parity != 0) ? PARENB : 0) |
|
||||||
@@ -748,6 +744,10 @@ static int s32k1xx_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
#ifdef CONFIG_SERIAL_IFLOWCONTROL
|
#ifdef CONFIG_SERIAL_IFLOWCONTROL
|
||||||
termiosp->c_cflag |= ((priv->iflow) ? CRTS_IFLOW : 0);
|
termiosp->c_cflag |= ((priv->iflow) ? CRTS_IFLOW : 0);
|
||||||
#endif
|
#endif
|
||||||
|
/* Return baud */
|
||||||
|
|
||||||
|
cfsetispeed(termiosp, priv->baud);
|
||||||
|
|
||||||
/* Return number of bits */
|
/* Return number of bits */
|
||||||
|
|
||||||
switch (priv->bits)
|
switch (priv->bits)
|
||||||
|
|||||||
@@ -1013,10 +1013,6 @@ static int up_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return baud */
|
|
||||||
|
|
||||||
cfsetispeed(termiosp, priv->baud);
|
|
||||||
|
|
||||||
/* Return parity */
|
/* Return parity */
|
||||||
|
|
||||||
termiosp->c_cflag = ((priv->parity != 0) ? PARENB : 0) |
|
termiosp->c_cflag = ((priv->parity != 0) ? PARENB : 0) |
|
||||||
@@ -1031,6 +1027,10 @@ static int up_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
#if defined(CONFIG_SERIAL_IFLOWCONTROL) || defined(CONFIG_SERIAL_OFLOWCONTROL)
|
#if defined(CONFIG_SERIAL_IFLOWCONTROL) || defined(CONFIG_SERIAL_OFLOWCONTROL)
|
||||||
termiosp->c_cflag |= (priv->flowc) ? (CCTS_OFLOW | CRTS_IFLOW): 0;
|
termiosp->c_cflag |= (priv->flowc) ? (CCTS_OFLOW | CRTS_IFLOW): 0;
|
||||||
#endif
|
#endif
|
||||||
|
/* Return baud */
|
||||||
|
|
||||||
|
cfsetispeed(termiosp, priv->baud);
|
||||||
|
|
||||||
/* Return number of bits */
|
/* Return number of bits */
|
||||||
|
|
||||||
switch (priv->bits)
|
switch (priv->bits)
|
||||||
|
|||||||
@@ -820,10 +820,6 @@ static int flexus_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return baud */
|
|
||||||
|
|
||||||
cfsetispeed(termiosp, priv->baud);
|
|
||||||
|
|
||||||
/* Return parity */
|
/* Return parity */
|
||||||
|
|
||||||
termiosp->c_cflag = ((priv->parity != 0) ? PARENB : 0) |
|
termiosp->c_cflag = ((priv->parity != 0) ? PARENB : 0) |
|
||||||
@@ -838,6 +834,10 @@ static int flexus_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
#if defined(CONFIG_SERIAL_IFLOWCONTROL) || defined(CONFIG_SERIAL_OFLOWCONTROL)
|
#if defined(CONFIG_SERIAL_IFLOWCONTROL) || defined(CONFIG_SERIAL_OFLOWCONTROL)
|
||||||
termiosp->c_cflag |= (priv->flowc) ? (CCTS_OFLOW | CRTS_IFLOW): 0;
|
termiosp->c_cflag |= (priv->flowc) ? (CCTS_OFLOW | CRTS_IFLOW): 0;
|
||||||
#endif
|
#endif
|
||||||
|
/* Return baud */
|
||||||
|
|
||||||
|
cfsetispeed(termiosp, priv->baud);
|
||||||
|
|
||||||
/* Return number of bits */
|
/* Return number of bits */
|
||||||
|
|
||||||
switch (priv->bits)
|
switch (priv->bits)
|
||||||
|
|||||||
@@ -1270,10 +1270,6 @@ static int up_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return baud */
|
|
||||||
|
|
||||||
cfsetispeed(termiosp, priv->baud);
|
|
||||||
|
|
||||||
/* Return parity */
|
/* Return parity */
|
||||||
|
|
||||||
termiosp->c_cflag = ((priv->parity != 0) ? PARENB : 0) |
|
termiosp->c_cflag = ((priv->parity != 0) ? PARENB : 0) |
|
||||||
@@ -1288,6 +1284,10 @@ static int up_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
#if defined(CONFIG_SERIAL_IFLOWCONTROL) || defined(CONFIG_SERIAL_OFLOWCONTROL)
|
#if defined(CONFIG_SERIAL_IFLOWCONTROL) || defined(CONFIG_SERIAL_OFLOWCONTROL)
|
||||||
termiosp->c_cflag |= (priv->flowc) ? (CCTS_OFLOW | CRTS_IFLOW): 0;
|
termiosp->c_cflag |= (priv->flowc) ? (CCTS_OFLOW | CRTS_IFLOW): 0;
|
||||||
#endif
|
#endif
|
||||||
|
/* Return baud */
|
||||||
|
|
||||||
|
cfsetispeed(termiosp, priv->baud);
|
||||||
|
|
||||||
/* Return number of bits */
|
/* Return number of bits */
|
||||||
|
|
||||||
switch (priv->bits)
|
switch (priv->bits)
|
||||||
|
|||||||
@@ -1081,10 +1081,6 @@ static int sam_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return baud */
|
|
||||||
|
|
||||||
cfsetispeed(termiosp, priv->baud);
|
|
||||||
|
|
||||||
/* Return parity */
|
/* Return parity */
|
||||||
|
|
||||||
termiosp->c_cflag = ((priv->parity != 0) ? PARENB : 0) |
|
termiosp->c_cflag = ((priv->parity != 0) ? PARENB : 0) |
|
||||||
@@ -1099,6 +1095,10 @@ static int sam_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
#if defined(CONFIG_SERIAL_IFLOWCONTROL) || defined(CONFIG_SERIAL_OFLOWCONTROL)
|
#if defined(CONFIG_SERIAL_IFLOWCONTROL) || defined(CONFIG_SERIAL_OFLOWCONTROL)
|
||||||
termiosp->c_cflag |= (priv->flowc) ? (CCTS_OFLOW | CRTS_IFLOW): 0;
|
termiosp->c_cflag |= (priv->flowc) ? (CCTS_OFLOW | CRTS_IFLOW): 0;
|
||||||
#endif
|
#endif
|
||||||
|
/* Return baud */
|
||||||
|
|
||||||
|
cfsetispeed(termiosp, priv->baud);
|
||||||
|
|
||||||
/* Return number of bits */
|
/* Return number of bits */
|
||||||
|
|
||||||
switch (priv->bits)
|
switch (priv->bits)
|
||||||
|
|||||||
@@ -2019,8 +2019,6 @@ static int up_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
cfsetispeed(termiosp, priv->baud);
|
|
||||||
|
|
||||||
/* Note that since we only support 8/9 bit modes and
|
/* Note that since we only support 8/9 bit modes and
|
||||||
* there is no way to report 9-bit mode, we always claim 8.
|
* there is no way to report 9-bit mode, we always claim 8.
|
||||||
*/
|
*/
|
||||||
@@ -2037,6 +2035,8 @@ static int up_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
#endif
|
#endif
|
||||||
CS8;
|
CS8;
|
||||||
|
|
||||||
|
cfsetispeed(termiosp, priv->baud);
|
||||||
|
|
||||||
/* TODO: CCTS_IFLOW, CCTS_OFLOW */
|
/* TODO: CCTS_IFLOW, CCTS_OFLOW */
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -2568,8 +2568,6 @@ static int up_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
cfsetispeed(termiosp, priv->baud);
|
|
||||||
|
|
||||||
/* Note that since we only support 8/9 bit modes and
|
/* Note that since we only support 8/9 bit modes and
|
||||||
* there is no way to report 9-bit mode, we always claim 8.
|
* there is no way to report 9-bit mode, we always claim 8.
|
||||||
*/
|
*/
|
||||||
@@ -2586,6 +2584,8 @@ static int up_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
#endif
|
#endif
|
||||||
CS8;
|
CS8;
|
||||||
|
|
||||||
|
cfsetispeed(termiosp, priv->baud);
|
||||||
|
|
||||||
/* TODO: CCTS_IFLOW, CCTS_OFLOW */
|
/* TODO: CCTS_IFLOW, CCTS_OFLOW */
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -1670,8 +1670,6 @@ static int up_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
cfsetispeed(termiosp, priv->baud);
|
|
||||||
|
|
||||||
/* Note that since we only support 8/9 bit modes and
|
/* Note that since we only support 8/9 bit modes and
|
||||||
* there is no way to report 9-bit mode, we always claim 8.
|
* there is no way to report 9-bit mode, we always claim 8.
|
||||||
*/
|
*/
|
||||||
@@ -1688,6 +1686,8 @@ static int up_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
#endif
|
#endif
|
||||||
CS8;
|
CS8;
|
||||||
|
|
||||||
|
cfsetispeed(termiosp, priv->baud);
|
||||||
|
|
||||||
/* TODO: CCTS_IFLOW, CCTS_OFLOW */
|
/* TODO: CCTS_IFLOW, CCTS_OFLOW */
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -2013,8 +2013,6 @@ static int stm32l4serial_ioctl(FAR struct file *filep, int cmd,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
cfsetispeed(termiosp, priv->baud);
|
|
||||||
|
|
||||||
/* Note that since we only support 8/9 bit modes and
|
/* Note that since we only support 8/9 bit modes and
|
||||||
* there is no way to report 9-bit mode, we always claim 8.
|
* there is no way to report 9-bit mode, we always claim 8.
|
||||||
*/
|
*/
|
||||||
@@ -2031,6 +2029,8 @@ static int stm32l4serial_ioctl(FAR struct file *filep, int cmd,
|
|||||||
#endif
|
#endif
|
||||||
CS8;
|
CS8;
|
||||||
|
|
||||||
|
cfsetispeed(termiosp, priv->baud);
|
||||||
|
|
||||||
/* TODO: CCTS_IFLOW, CCTS_OFLOW */
|
/* TODO: CCTS_IFLOW, CCTS_OFLOW */
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -1073,8 +1073,6 @@ static int up_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
cfsetispeed(termiosp, priv->baud);
|
|
||||||
|
|
||||||
if (priv->bits >= 5 && priv->bits <= 8)
|
if (priv->bits >= 5 && priv->bits <= 8)
|
||||||
{
|
{
|
||||||
ccflag |= (CS5 + (priv->bits - 5));
|
ccflag |= (CS5 + (priv->bits - 5));
|
||||||
@@ -1099,6 +1097,8 @@ static int up_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
termiosp->c_cflag = ccflag;
|
termiosp->c_cflag = ccflag;
|
||||||
|
|
||||||
|
cfsetispeed(termiosp, priv->baud);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|||||||
@@ -551,10 +551,6 @@ static int tms570_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return baud */
|
|
||||||
|
|
||||||
cfsetispeed(termiosp, priv->config.baud);
|
|
||||||
|
|
||||||
/* Return parity */
|
/* Return parity */
|
||||||
|
|
||||||
termiosp->c_cflag = ((priv->config.parity != 0) ? PARENB : 0) |
|
termiosp->c_cflag = ((priv->config.parity != 0) ? PARENB : 0) |
|
||||||
@@ -564,6 +560,10 @@ static int tms570_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
|
|
||||||
termiosp->c_cflag |= (priv->config.stopbits2) ? CSTOPB : 0;
|
termiosp->c_cflag |= (priv->config.stopbits2) ? CSTOPB : 0;
|
||||||
|
|
||||||
|
/* Return baud */
|
||||||
|
|
||||||
|
cfsetispeed(termiosp, priv->config.baud);
|
||||||
|
|
||||||
/* Return number of bits */
|
/* Return number of bits */
|
||||||
|
|
||||||
switch (priv->config.bits)
|
switch (priv->config.bits)
|
||||||
|
|||||||
@@ -845,10 +845,6 @@ static int esp32_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return baud */
|
|
||||||
|
|
||||||
cfsetispeed(termiosp, priv->baud);
|
|
||||||
|
|
||||||
/* Return parity */
|
/* Return parity */
|
||||||
|
|
||||||
termiosp->c_cflag = ((priv->parity != 0) ? PARENB : 0) |
|
termiosp->c_cflag = ((priv->parity != 0) ? PARENB : 0) |
|
||||||
@@ -863,6 +859,10 @@ static int esp32_ioctl(struct file *filep, int cmd, unsigned long arg)
|
|||||||
#if defined(CONFIG_SERIAL_IFLOWCONTROL) || defined(CONFIG_SERIAL_OFLOWCONTROL)
|
#if defined(CONFIG_SERIAL_IFLOWCONTROL) || defined(CONFIG_SERIAL_OFLOWCONTROL)
|
||||||
termiosp->c_cflag |= (priv->flowc) ? (CCTS_OFLOW | CRTS_IFLOW): 0;
|
termiosp->c_cflag |= (priv->flowc) ? (CCTS_OFLOW | CRTS_IFLOW): 0;
|
||||||
#endif
|
#endif
|
||||||
|
/* Return baud */
|
||||||
|
|
||||||
|
cfsetispeed(termiosp, priv->baud);
|
||||||
|
|
||||||
/* Return number of bits */
|
/* Return number of bits */
|
||||||
|
|
||||||
switch (priv->bits)
|
switch (priv->bits)
|
||||||
|
|||||||
Reference in New Issue
Block a user