Re: [PATCH] Bluetooth: hci_qca: fix in-band sleep enablement

From: Claire Chang
Date: Fri Oct 18 2019 - 01:58:11 EST


Hi Balakrishna,

Sorry for the late reply. I was on vacation for the past few days.
The chipset we use is QCA6174A-3 and rjliao has already confirmed that
IBS won't work without RAM fw downloaded.
Please ignore this change.

Thanks,
Claire


On Fri, Oct 11, 2019 at 3:21 PM Balakrishna Godavarthi
<bgodavar@xxxxxxxxxxxxxx> wrote:
>
> Hi Claire,
>
> This change will not work as we need fw files to be loaded tofor IBS to
> active.
> may i know on which chipset you have this issue of IBS active even with
> out fw download.
>
> On 2019-10-11 12:31, Harish Bandi wrote:
> > ++ Balakrishna
> >
> > On 2019-10-09 14:21, Claire Chang wrote:
> >> Enabling in-band sleep when there is no patch/nvm-config found and
> >> bluetooth is running with the original fw/config.
> >>
> >> Fixes: ba8f35979002 ("Bluetooth: hci_qca: Avoid setup failure on
> >> missing rampatch")
> >> Fixes: 7dc5fe0814c3 ("Bluetooth: hci_qca: Avoid missing rampatch
> >> failure with userspace fw loader")
> >> Signed-off-by: Claire Chang <tientzu@xxxxxxxxxxxx>
> >> ---
> >> drivers/bluetooth/hci_qca.c | 11 +++++++----
> >> 1 file changed, 7 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c
> >> index e3164c200eac..367eef893a11 100644
> >> --- a/drivers/bluetooth/hci_qca.c
> >> +++ b/drivers/bluetooth/hci_qca.c
> >> @@ -1291,10 +1291,8 @@ static int qca_setup(struct hci_uart *hu)
> >> /* Setup patch / NVM configurations */
> >> ret = qca_uart_setup(hdev, qca_baudrate, soc_type, soc_ver,
> >> firmware_name);
> >> - if (!ret) {
> >> - set_bit(QCA_IBS_ENABLED, &qca->flags);
> >> - qca_debugfs_init(hdev);
> >> - } else if (ret == -ENOENT) {
> >> +
> >> + if (ret == -ENOENT) {
> >> /* No patch/nvm-config found, run with original fw/config */
> >> ret = 0;
> >> } else if (ret == -EAGAIN) {
> >> @@ -1305,6 +1303,11 @@ static int qca_setup(struct hci_uart *hu)
> >> ret = 0;
> >> }
> >>
> >> + if (!ret) {
> >> + set_bit(QCA_IBS_ENABLED, &qca->flags);
> >> + qca_debugfs_init(hdev);
> >> + }
> >> +
> >> /* Setup bdaddr */
> >> if (qca_is_wcn399x(soc_type))
> >> hu->hdev->set_bdaddr = qca_set_bdaddr;
>
> --
> Regards
> Balakrishna.