Просмотр исходного кода

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 лет назад
Родитель
Сommit
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)
 {
 	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;