diff --git a/arch/arm/src/kinetis/kinetis_lpserial.c b/arch/arm/src/kinetis/kinetis_lpserial.c index 117dd3de4a1..515f1f370e0 100644 --- a/arch/arm/src/kinetis/kinetis_lpserial.c +++ b/arch/arm/src/kinetis/kinetis_lpserial.c @@ -615,12 +615,12 @@ static int kinetis_ioctl(struct file *filep, int cmd, unsigned long arg) { #if defined(CONFIG_SERIAL_TERMIOS) || defined(CONFIG_SERIAL_TIOCSERGSTRUCT) || \ defined(CONFIG_KINETIS_SERIALBRK_BSDCOMPAT) - struct inode *inode = filep->f_inode; - struct uart_dev_s *dev = inode->i_private; + struct inode *inode; + struct uart_dev_s *dev; uint8_t regval; #endif #if defined(CONFIG_SERIAL_TERMIOS) || defined(CONFIG_KINETIS_SERIALBRK_BSDCOMPAT) - struct kinetis_dev_s *priv = (struct kinetis_dev_s *)dev->priv; + struct kinetis_dev_s *priv; bool iflow = false; bool oflow = false; #endif @@ -634,6 +634,10 @@ static int kinetis_ioctl(struct file *filep, int cmd, unsigned long arg) DEBUGASSERT(dev != NULL && dev->priv != NULL); #endif +#if defined(CONFIG_SERIAL_TERMIOS) || defined(CONFIG_KINETIS_SERIALBRK_BSDCOMPAT) + priv = (struct kinetis_dev_s *)dev->priv; +#endif + switch (cmd) { #ifdef CONFIG_SERIAL_TIOCSERGSTRUCT diff --git a/arch/arm/src/kinetis/kinetis_serial.c b/arch/arm/src/kinetis/kinetis_serial.c index b7c6aeebc76..0f2a4b2ee46 100644 --- a/arch/arm/src/kinetis/kinetis_serial.c +++ b/arch/arm/src/kinetis/kinetis_serial.c @@ -980,7 +980,7 @@ static int up_ioctl(struct file *filep, int cmd, unsigned long arg) uint8_t regval; #endif #if defined(CONFIG_SERIAL_TERMIOS) || defined(CONFIG_KINETIS_SERIALBRK_BSDCOMPAT) - struct up_dev_s *priv = (struct up_dev_s *)dev->priv; + struct up_dev_s *priv; bool iflow = false; bool oflow = false; #endif @@ -994,6 +994,10 @@ static int up_ioctl(struct file *filep, int cmd, unsigned long arg) DEBUGASSERT(dev != NULL && dev->priv != NULL); #endif +#if defined(CONFIG_SERIAL_TERMIOS) || defined(CONFIG_KINETIS_SERIALBRK_BSDCOMPAT) + priv = (struct up_dev_s *)dev->priv; +#endif + switch (cmd) { #ifdef CONFIG_SERIAL_TIOCSERGSTRUCT