Bluetooth: btnxpuart: Remove check for CTS low after FW download
authorNeeraj Sanjay Kale <neeraj.sanjaykale@nxp.com>
Fri, 11 Aug 2023 10:12:31 +0000 (15:42 +0530)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Thu, 24 Aug 2023 19:14:57 +0000 (12:14 -0700)
This removes the unnecessary check for CTS low after FW download.

After FW download is complete, the CTS line is already seen low.
It becomes high after 2 msec, and low again after FW initialization
is complete.
This makes the current check for CTS low redundant.

This removes the wait for CTS low section and increase delay to
1200msec instead, which is sufficiant for all NXP chipsets to
initialize FW.

Signed-off-by: Neeraj Sanjay Kale <neeraj.sanjaykale@nxp.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
drivers/bluetooth/btnxpuart.c

index ee6f6c872a34e846755f95d2c9300f4cd420a459..1dd60c7e6fe0729d94f76341db2cb2f78df19a38 100644 (file)
@@ -558,16 +558,11 @@ static int nxp_download_firmware(struct hci_dev *hdev)
        }
 
        serdev_device_set_flow_control(nxpdev->serdev, true);
-       err = serdev_device_wait_for_cts(nxpdev->serdev, 1, 60000);
-       if (err < 0) {
-               bt_dev_err(hdev, "CTS is still high. FW Download failed.");
-               return err;
-       }
        release_firmware(nxpdev->fw);
        memset(nxpdev->fw_name, 0, sizeof(nxpdev->fw_name));
 
        /* Allow the downloaded FW to initialize */
-       usleep_range(800 * USEC_PER_MSEC, 1 * USEC_PER_SEC);
+       msleep(1200);
 
        return 0;
 }