From: Calvin Owens <calvin@wbinvd.org>
To: Francesco Valla <francesco@valla.it>
Cc: Marcel Holtmann <marcel@holtmann.org>,
Luiz Augusto von Dentz <luiz.dentz@gmail.com>,
Paul Menzel <pmenzel@molgen.mpg.de>,
linux-bluetooth@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [BUG] Erratic behavior in btnxpuart on v6.18-rc2 - and a possible solution
Date: Tue, 21 Oct 2025 14:29:59 -0700 [thread overview]
Message-ID: <aPf7Vz5K6P7frdlf@mozart.vkv.me> (raw)
In-Reply-To: <aPf5DZVYrc2YAXXT@mozart.vkv.me>
On Tuesday 10/21 at 14:20 -0700, Calvin Owens wrote:
> On Tuesday 10/21 at 22:53 +0200, Francesco Valla wrote:
> > Hello,
> >
> > while testing Bluetooth on my NXP i.MX93 FRDM, which is equipped with an IW612
> > Bluetooth chipset from NXP, I encountered an erratic bug during initialization.
> >
> > While the firmware download always completed without errors, subsequent HCI
> > communication would fail most of the time with:
> >
> > Frame reassembly failed (-84)
> >
> > After some debug, I found the culprit to be this patch that was integrated as
> > part of the current (v6.18) cycle:
> >
> > 93f06f8f0daf Bluetooth: remove duplicate h4_recv_buf() in header [1]
> >
> > The reason is simple: the h4_recv_buf() function from hci_h4.c, which is now
> > used instead the "duplicated" one in the (now removed) h4_recv_buf.h, assumes
> > that the private drvdata for the input struct hci_dev is a pointer to a
> > struct hci_uart, but that's not the case for the btnxpuart driver. In this
> > case, the information about padding and alignment are pretty random and
> > depend on the content of the data that was incorrectly casted as a
> > struct hci_uart.
> >
> > The bug should impact also the other platforms that were touched by the
> > same patch.
>
> Hi Francesco,
>
> Thanks for investigating, this makes sense to me.
>
> Funny enough, I specifically tested this on btnxpuart and saw no
> problems. I suppose some kconfig difference or some other innocuous
> patch moved structure fields around such that it triggered for you?
> Not that it really matters...
>
> > For the time being, I'd then propose to revert the commit.
>
> Adding back all the duplicate code is not the right way forward, IMHO.
> There must be some way to "mask" the problematic behavior for the
> drivers which stash the different structure in drvdata, right?
Actually, the right approach is probably to tweak these drivers to do
what the Intel driver does:
https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/bluetooth/hci_intel.c#n869
static int intel_recv_event(struct hci_dev *hdev, struct sk_buff *skb)
{
struct hci_uart *hu = hci_get_drvdata(hdev);
struct intel_data *intel = hu->priv;
I'll spin that up unless I hear better from anyone else :)
> Any thoughts from anybody else? I should have time to spin something up
> tomorrow, if nobody beats me to it.
>
> Thanks,
> Calvin
>
> > Thank you
> >
> > Regards,
> > Francesco Valla
> >
> > [1] https://lore.kernel.org/linux-bluetooth/be8edf7f8ba8dea6c61272b02fb20a4ac7e1c5a5.1756179634.git.calvin@wbinvd.org/
> >
> >
> >
> >
> >
> >
> >
next prev parent reply other threads:[~2025-10-21 21:30 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-21 20:53 Francesco Valla
2025-10-21 21:20 ` Calvin Owens
2025-10-21 21:29 ` Calvin Owens [this message]
2025-10-21 22:07 ` Francesco Valla
2025-10-22 16:12 ` Calvin Owens
2025-10-22 20:35 ` Francesco Valla
2025-10-23 18:38 ` Calvin Owens
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aPf7Vz5K6P7frdlf@mozart.vkv.me \
--to=calvin@wbinvd.org \
--cc=francesco@valla.it \
--cc=linux-bluetooth@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luiz.dentz@gmail.com \
--cc=marcel@holtmann.org \
--cc=pmenzel@molgen.mpg.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®