Hi Balakrishna, > The below issues are found in our recent testing. > > 1. Observed device is not going into off state or not responding. > As wcn3990 require a power pulses to turn on the irrespctive of > igniting regulators, it was observed that power on or power off > pulses are not in sync with respective to chip. > The below patch will help us to wait until byte is pushed on to wires. > > * Bluetooth: hci_qca: use wait_until_sent() for power pulses > > 2. Observed Chip responding when we are in sleep. > This is due to turn on flow control during change baudrate request. > The below patch will only pull the RTS line high instead of turning off > the flow. > > * Bluetooth: hci_qca: Pull RTS line high for baudrate change command. > > 3. Disable IBS state machine and flush Tx buffer > We are disabling IBS and flushing the Tx buffer before turning off the chip. > > This is due to IBS state machine is active when we turn off the chip. > This will stop queuing IBS protocol bytes. > > * Bluetooth: hci_qca: Disable IBS state machine and flush Tx buffer > > Changes in v11: > * added correct signatures for the patch. > > Changes in v10: > * Decreased wait time for power pulse to 100 ms instead of 1second. > * enabling the flow control back when baudarte change request fails. > * updated review comments. > > Changes in v9: > * Reverted the 100us delay and used msecs to jiffies inline call. > * Disabling the flow control and enabling it back while setting the firmware. > * Added spinlock while clearing the IBS state machine. > > Changes in v8: > * dropped inject the command complete event. > * added one second time for the power pules instead of the indefinite time. > > Changes in v7: > * dropped frame reassmebly error patch. > * dropped baudrate change wait time patch. > * increased a wait to 5 ms for power pulses. > > Changes in v6: > * added serdev_device_write_flush in qca_send_power_pulse(). > * added new patch to update the baudrate change wait time. > > Changes in V5: > * added serdev_device_write_flush before sending the power off pulse > during shutdown. > > Changes in v4: > * used serdev_device_write_buf() instead of serdev_device_write(). > * added new patch to stop logging of 0xfc00 timeout on console. > > Changes in v3: > * moved IBS & qca_flush to different patch > * updated comments in code fo Deassert RTS patch > Balakrishna Godavarthi (3): > Bluetooth: hci_qca: use wait_until_sent() for power pulses > Bluetooth: hci_qca: Deassert RTS while baudrate change command > Bluetooth: hci_qca: Disable IBS state machine and flush Tx buffer > > drivers/bluetooth/hci_qca.c | 82 ++++++++++++++++++++----------------- > 1 file changed, 44 insertions(+), 38 deletions(-) all 3 patches have been applied to bluetooth-next tree. Regards Marcel