On Mon, Mar 21, 2016 at 12:25 PM, Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx> wrote: > On Thu, Mar 17, 2016 at 6:02 PM, Uwe Kleine-König > <u.kleine-koenig@xxxxxxxxxxxxxx> wrote: >> Hello Yegor, >> >> On Thu, Mar 17, 2016 at 04:54:44PM +0100, Yegor Yefremov wrote: >>> Should I move >>> >>> struct mctrl_gpios { >>> struct uart_port *port; >>> struct gpio_desc *gpio[UART_GPIO_MAX]; >>> int irq[UART_GPIO_MAX]; >>> unsigned int mctrl_prev; >>> bool mctrl_on; >>> }; >>> >>> to serial_mctrl_gpio.h or should I create some routine, that tells me, >>> if given signal is GPIO or not? >> >> That already exists. Check the at91 driver. > > See it. Thanks. > > Another question: I've got following crash from kernels patch testing > daemon. Any idea? > > [ 8.304454] page_owner is disabled > [ 8.307923] rtc_cmos 00:00: setting system clock to 2016-03-09 > 19:56:39 UTC (1457553399) > [ 8.311883] ------------[ cut here ]------------ > [ 8.312286] WARNING: CPU: 0 PID: 1 at drivers/tty/tty_io.c:1548 > tty_init_dev+0x154/0x290() > [ 8.313091] tty_init_dev: ttyS driver does not set tty->port. This > will crash the kernel later. Fix the driver! > [ 8.313937] Modules linked in: > [ 8.314223] CPU: 0 PID: 1 Comm: swapper/0 Not tainted > 4.5.0-rc4-00223-gd294b23 #904 > [ 8.314842] 00000246 00000246 40277d1c 4137c480 40277d44 41b4345c > 0000060c 40277d34 > [ 8.315576] 4106ff33 4146dcd4 4ad00c10 00000001 00000000 40277d4c > 4106ff86 00000009 > [ 8.316312] 40277d44 41b436a8 40277d60 40277d7c 4146dcd4 41b4345c > 0000060c 41b436a8 > [ 8.317048] Call Trace: > [ 8.317259] [<4137c480>] dump_stack+0x8c/0xbc > [ 8.317625] [<4106ff33>] warn_slowpath_common+0xa3/0xd0 > [ 8.318064] [<4146dcd4>] ? tty_init_dev+0x154/0x290 > [ 8.318468] [<4106ff86>] warn_slowpath_fmt+0x26/0x30 > [ 8.318878] [<4146dcd4>] tty_init_dev+0x154/0x290 > [ 8.319274] [<4146e5c6>] tty_open+0x7b6/0xa90 > [ 8.319640] [<41221ed5>] chrdev_open+0x205/0x2d0 > [ 8.320028] [<412177e4>] do_dentry_open+0x544/0x5e0 > [ 8.320488] [<41221cd0>] ? cdev_put+0x40/0x40 > [ 8.320852] [<4121949a>] vfs_open+0x8a/0x90 > [ 8.321208] [<4123246d>] do_last+0xb7d/0x1130 > [ 8.321571] [<4122a917>] ? inode_permission+0x67/0xc0 > [ 8.321992] [<41232b11>] path_openat+0xf1/0x4c0 > [ 8.322375] [<41235229>] do_filp_open+0x69/0x120 > [ 8.322762] [<41791b42>] ? _raw_spin_unlock+0x52/0x70 > [ 8.323187] [<41249d68>] ? __alloc_fd+0x218/0x2b0 > [ 8.323580] [<41219c7d>] do_sys_open+0x35d/0x440 > [ 8.323963] [<41219d78>] SyS_open+0x18/0x20 > [ 8.324320] [<41e09f1f>] kernel_init_freeable+0x106/0x1aa > [ 8.324769] [<41787469>] kernel_init+0x9/0x150 > [ 8.325146] [<41792451>] ret_from_kernel_thread+0x21/0x40 > [ 8.325589] [<41787460>] ? rest_init+0xb0/0xb0 > [ 8.326675] ---[ end trace a0fa66e39705bc4d ]--- > [ 8.327076] BUG: unable to handle kernel NULL pointer dereference at 00000098 > > git bisect start d294b233a2bdc7abdb5dfa856fc00dc67e96d57a > a95fc9c8e576dc238ad849f65c67e4fd33c01d3b -- > # first bad commit: [d294b233a2bdc7abdb5dfa856fc00dc67e96d57a] > tty/serial/8250: use mctrl_gpio helpers > git bisect good a95fc9c8e576dc238ad849f65c67e4fd33c01d3b # 20:02 > 66+ 3 serial: 8250: describe CONFIG_SERIAL_8250_RSA > # extra tests with DEBUG_INFO > git bisect bad d294b233a2bdc7abdb5dfa856fc00dc67e96d57a # 20:06 > 0- 66 tty/serial/8250: use mctrl_gpio helpers > # extra tests on HEAD of > linux-review/yegorslists-googlemail-com/tty-serial-8250-use-mctrl_gpio-helpers/20160309-190741 > git bisect bad d294b233a2bdc7abdb5dfa856fc00dc67e96d57a # 20:06 > 0- 13 tty/serial/8250: use mctrl_gpio helpers > # extra tests on tree/branch > linux-review/yegorslists-googlemail-com/tty-serial-8250-use-mctrl_gpio-helpers/20160309-190741 > git bisect bad d294b233a2bdc7abdb5dfa856fc00dc67e96d57a # 20:06 > 0- 13 tty/serial/8250: use mctrl_gpio helpers > # extra tests with first bad commit reverted > git bisect good d232311183c0c28045b797481f732154ee93411b # 20:21 > 66+ 2 Revert "tty/serial/8250: use mctrl_gpio helpers" > # extra tests on tree/branch linus/master > git bisect good 7f02bf6b5f5de90b7a331759b5364e41c0f39bf9 # 20:25 > 61+ 1 Merge tag 'sound-4.5' of > git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound > # extra tests on tree/branch linux-next/master > git bisect good 7811b4ffc31285e08ee7a6a96a94848c37a43e09 # 20:30 > 61+ 2 Add linux-next specific files for 20160309 I could more or less reproduce the issue with qemu. If I don't return from serial8250_register_8250_port() with an error, but something like this, the system boots thorough: uart->gpios = mctrl_gpio_init(&uart->port, 0); if (IS_ERR(uart->gpios)) dev_info(uart->port.dev,"Failed to init gpios\n"); What would be the appropriate solution? To use dev_dbg() or to put #ifdef SERIAL_MCTRL_GPIO? Basically we can have an x86 system using both platform serial devices as also PCI based in one device, so #ifdef SERIAL_MCTRL_GPIO is not appropriate. Yegor -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html