Skip to content
  1. Nov 04, 2017
  2. Oct 23, 2017
  3. Oct 20, 2017
  4. Oct 04, 2017
    • Joe Perches's avatar
      vt: Use consistent logging style · bccf1da3
      Joe Perches authored
      
      
      vt has a mixture of pr_<level> and printk.
      Convert to using only pr_<level>.
      
      Miscellanea:
      
      o Coalesce formats
      o Realign arguments
      o Add missing braces around an if/else with the printk conversion
      
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      bccf1da3
    • Jibin Xu's avatar
      sysrq : fix Show Regs call trace on ARM · b00bebbc
      Jibin Xu authored
      
      
      When kernel configuration SMP,PREEMPT and DEBUG_PREEMPT are enabled,
      echo 1 >/proc/sys/kernel/sysrq
      echo p >/proc/sysrq-trigger
      kernel will print call trace as below:
      
      sysrq: SysRq : Show Regs
      BUG: using __this_cpu_read() in preemptible [00000000] code: sh/435
      caller is __this_cpu_preempt_check+0x18/0x20
      Call trace:
      [<ffffff8008088e80>] dump_backtrace+0x0/0x1d0
      [<ffffff8008089074>] show_stack+0x24/0x30
      [<ffffff8008447970>] dump_stack+0x90/0xb0
      [<ffffff8008463950>] check_preemption_disabled+0x100/0x108
      [<ffffff8008463998>] __this_cpu_preempt_check+0x18/0x20
      [<ffffff80084c9194>] sysrq_handle_showregs+0x1c/0x40
      [<ffffff80084c9c7c>] __handle_sysrq+0x12c/0x1a0
      [<ffffff80084ca140>] write_sysrq_trigger+0x60/0x70
      [<ffffff8008251e00>] proc_reg_write+0x90/0xd0
      [<ffffff80081f1788>] __vfs_write+0x48/0x90
      [<ffffff80081f241c>] vfs_write+0xa4/0x190
      [<ffffff80081f3354>] SyS_write+0x54/0xb0
      [<ffffff80080833f0>] el0_svc_naked+0x24/0x28
      
      This can be seen on a common board like an r-pi3.
      This happens because when echo p >/proc/sysrq-trigger,
      get_irq_regs() is called outside of IRQ context,
      if preemption is enabled in this situation,kernel will
      print the call trace. Since many prior discussions on
      the mailing lists have made it clear that get_irq_regs
      either just returns NULL or stale data when used outside
      of IRQ context,we simply avoid calling it outside of
      IRQ context.
      
      Signed-off-by: default avatarJibin Xu <jibin.xu@windriver.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      b00bebbc
    • Ed Blake's avatar
      serial: 8250_dw: Improve clock rate setting · de9e33bd
      Ed Blake authored
      
      
      Currently dw8250_set_termios sets the input clock to the nearest
      achievable rate to baudx16.  If necessary, the input clock is then
      divided down to baudx16 using an integer divider within the UART
      device, with the divisor calculated in the 8250 core driver.
      
      However, the clock rate set by dw8250_set_termios and subsequently
      divided down could be considerably different to the target baudx16
      rate, resulting in incorrect operation.  This patch fixes this by
      iteratively searching for an input clock rate that is within +/-1.6%
      of an integer multiple of the target baudx16 rate.
      
      Signed-off-by: default avatarEd Blake <ed.blake@sondrel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      de9e33bd
    • Ed Blake's avatar
      serial: Add define for max baud rate divisor · 6263368c
      Ed Blake authored
      
      
      Add a define for the maximum baud rate divisor, to improve code
      readability.
      
      Signed-off-by: default avatarEd Blake <ed.blake@sondrel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      6263368c
Loading