All of lore.kernel.org
 help / color / mirror / Atom feed
* hci_intel problem
@ 2016-04-28 13:50 Heikki Krogerus
  2016-04-28 16:04 ` lpoulain
  0 siblings, 1 reply; 2+ messages in thread
From: Heikki Krogerus @ 2016-04-28 13:50 UTC (permalink / raw)
  To: Loic Poulain; +Cc: Marcel Holtmann, linux-bluetooth

Hi Loic,

Commit 765ea3abd116 ("Bluetooth: hci_intel: Retrieve host-wake IRQ")
seems to create a little regression:

[    2.734749] hci_intel INT33E1:00: No corresponding irq for gpio
[    2.736426] BUG: unable to handle kernel NULL pointer dereference at           (null)
[    2.738631] IP: [<ffffffff8132bee1>] desc_to_gpio+0x1/0x20
[    2.740175] PGD 0 
[    2.740742] Oops: 0000 [#1] SMP 
[    2.741652] Modules linked in:
[    2.742512] CPU: 3 PID: 1 Comm: swapper/0 Tainted: G          I     4.6.0-rc5+ #152
[    2.744663] task: ffff88017ab28000 ti: ffff88017ab14000 task.ti: ffff88017ab14000
[    2.746764] RIP: 0010:[<ffffffff8132bee1>]  [<ffffffff8132bee1>] desc_to_gpio+0x1/0x20
[    2.748990] RSP: 0000:ffff88017ab17d20  EFLAGS: 00010202
[    2.750482] RAX: ffffffff81cb9710 RBX: ffff88007ad85c28 RCX: ffff88017a5032c0
[    2.752486] RDX: 0000000000000000 RSI: ffff88017ab28000 RDI: 0000000000000000
[    2.754490] RBP: ffff88017ab17d48 R08: ffff88017ab14000 R09: 0000000000000000
[    2.756494] R10: 0000000000001c00 R11: 0000000000000000 R12: ffff88017a17a010
[    2.758498] R13: 00000000ffffffea R14: 0000000000000000 R15: ffffffff81c4e220
[    2.760502] FS:  0000000000000000(0000) GS:ffff88017fd80000(0000) knlGS:0000000000000000
[    2.762772] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    2.764386] CR2: 0000000000000000 CR3: 0000000001c06000 CR4: 00000000003406e0
[    2.766390] Stack:
[    2.766954]  ffff88017ab17d48 ffffffff8152efdb ffff88017a17a010 ffffffff81cb9648
[    2.769037]  ffffffff81cb9648 ffff88017ab17d70 ffffffff813e8606 ffff88017a17a010
[    2.771122]  ffff88017a17a010 0000000000000000 ffff88017ab17da0 ffffffff813e69dd
[    2.773206] Call Trace:
[    2.773893]  [<ffffffff8152efdb>] ? intel_probe+0xdb/0x180
[    2.775434]  [<ffffffff813e8606>] platform_drv_probe+0x36/0x90
[    2.777073]  [<ffffffff813e69dd>] driver_probe_device+0x1fd/0x2c0
[    2.778784]  [<ffffffff813e6b36>] __driver_attach+0x96/0xa0
[    2.780349]  [<ffffffff813e6aa0>] ? driver_probe_device+0x2c0/0x2c0
[    2.782109]  [<ffffffff813e4a1f>] bus_for_each_dev+0x5f/0x90
[    2.783698]  [<ffffffff813e61c9>] driver_attach+0x19/0x20
[    2.785214]  [<ffffffff813e5dec>] bus_add_driver+0x1ac/0x220
[    2.786804]  [<ffffffff81d4a4f3>] ? dm_zero_init+0x2a/0x2a
[    2.788344]  [<ffffffff813e734b>] driver_register+0x5b/0xd0
[    2.789909]  [<ffffffff813e8581>] __platform_driver_register+0x31/0x40
[    2.791741]  [<ffffffff81d4a641>] intel_init+0x12/0x20
[    2.793185]  [<ffffffff81d4a5cb>] hci_uart_init+0xd8/0xe2
[    2.794701]  [<ffffffff810003b1>] do_one_initcall+0x81/0x1a0
[    2.796291]  [<ffffffff81d05030>] kernel_init_freeable+0x14a/0x1d0
[    2.798027]  [<ffffffff816873a9>] kernel_init+0x9/0x100
[    2.799495]  [<ffffffff8168ced2>] ret_from_fork+0x22/0x40
[    2.801011]  [<ffffffff816873a0>] ? rest_init+0x80/0x80

I think it's usually ill-advised to convert the gpio descriptors to
numbers unless there is a real need for it. Maybe you can just fix the
dev_info() back to way it was.


thanks,

-- 
heikki

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: hci_intel problem
  2016-04-28 13:50 hci_intel problem Heikki Krogerus
@ 2016-04-28 16:04 ` lpoulain
  0 siblings, 0 replies; 2+ messages in thread
From: lpoulain @ 2016-04-28 16:04 UTC (permalink / raw)
  To: Heikki Krogerus; +Cc: Marcel Holtmann, linux-bluetooth

Hi Heikki,

> Hi Loic,
>
> Commit 765ea3abd116 ("Bluetooth: hci_intel: Retrieve host-wake IRQ")
> seems to create a little regression:
>
> [    2.734749] hci_intel INT33E1:00: No corresponding irq for gpio
> [    2.736426] BUG: unable to handle kernel NULL pointer dereference at           (null)
> [    2.738631] IP: [<ffffffff8132bee1>] desc_to_gpio+0x1/0x20
>
> I think it's usually ill-advised to convert the gpio descriptors to
> numbers unless there is a real need for it. Maybe you can just fix the
> dev_info() back to way it was.
>

Thanks for the catch, I'm going to fix this and only display the desc 
address per your advice.

Root cause is the null pointer deref of the reset desc in:
desc_to_gpio(idev->reset)

However I already test this value earlier in the function with:

idev->reset = devm_gpiod_get_optional(&pdev->dev, "reset", GPIOD_OUT_LOW);
if (IS_ERR(idev->reset)) {
         dev_err(&pdev->dev, "Unable to retrieve gpio\n");
         return PTR_ERR(idev->reset);
}

Problem is that devm_gpiod_get_optional can return either a ERR_PTR or 
NULL pointer.
I don't manage the NULL case, need to fix it as well.

Regards,
Loic

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-04-28 16:04 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-28 13:50 hci_intel problem Heikki Krogerus
2016-04-28 16:04 ` lpoulain

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.