Re: [PATCH v1 1/1] Bluetooth: btnxpuart: Add handling for boot-signature timeout errors

From: Neeraj Sanjay Kale
Date: Fri Jun 14 2024 - 04:42:21 EST


Hi Paul,

Thank you for reviewing the patch and sorry for the delay in response.
I have addressed most of you comments and sent out patch V2 for review.

>
> Am 03.06.24 um 08:37 schrieb Neeraj Sanjay Kale:
> > This handles the timeout errors seen in the bootloader signatures
> > during FW download.
>
> Please add the error to the commit message.
Well there is no error printed in dmesg. The bootloader signature contains an error field which has certain bits set when the chip does not receive the expected response from the host.
There was a debug print "FW Download received err 0x04 from chip" when driver debug was enabled, but this error was not handled in the initial development phase of this driver.
As long as bootloader signature contains an error, the chip keeps requesting for the same FW chunk.
This error clears itself after few iterations, which is indeterministic and FW download proceeds ahead.
The bootloader expects the host to acknowledge the error and clear it by replying with a NAK.
I have tried to explain this by rephrasing the commit message in V2. Let me know if that's fine.

> > @@ -187,6 +187,10 @@ struct btnxpuart_dev {
> > #define NXP_NAK_V3 0x7b
> > #define NXP_CRC_ERROR_V3 0x7c
> >
> > +#define NXP_ACK_RX_TIMEOUT 0x0002
> > +#define NXP_HDR_RX_TIMEOUT 0x0003
> > +#define NXP_DATA_RX_TIMEOUT 0x0004
> > +
>
> Please mention the datasheet name, revision and section in the commit
> message for review.
As mentioned earlier, these error codes are part of bootloader signatures. Unfortunately I could not find any document/datasheet in public domain that mentioned these error codes.
I have added few comments instead which explain the meaning of these error codes in V2 patch.

Thanks,
Neeraj