瀏覽代碼

Bluetooth: btmrvl: error path handling in setup handler

If module init command fails, FW might not be in good state.
We will return from setup handler and skip downloading further
commands.

Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Amitkumar Karwar 10 年之前
父節點
當前提交
9b89fdfee4
共有 1 個文件被更改,包括 4 次插入1 次删除
  1. 4 1
      drivers/bluetooth/btmrvl_main.c

+ 4 - 1
drivers/bluetooth/btmrvl_main.c

@@ -538,8 +538,11 @@ static int btmrvl_check_device_tree(struct btmrvl_private *priv)
 static int btmrvl_setup(struct hci_dev *hdev)
 static int btmrvl_setup(struct hci_dev *hdev)
 {
 {
 	struct btmrvl_private *priv = hci_get_drvdata(hdev);
 	struct btmrvl_private *priv = hci_get_drvdata(hdev);
+	int ret;
 
 
-	btmrvl_send_module_cfg_cmd(priv, MODULE_BRINGUP_REQ);
+	ret = btmrvl_send_module_cfg_cmd(priv, MODULE_BRINGUP_REQ);
+	if (ret)
+		return ret;
 
 
 	priv->btmrvl_dev.gpio_gap = 0xffff;
 	priv->btmrvl_dev.gpio_gap = 0xffff;