Merge tag 'pci-v5.4-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
[linux-2.6-microblaze.git] / drivers / bluetooth / btrtl.c
index 20aeed3..bf3c02b 100644 (file)
@@ -207,19 +207,19 @@ static int rtl_read_rom_version(struct hci_dev *hdev, u8 *version)
        /* Read RTL ROM version command */
        skb = __hci_cmd_sync(hdev, 0xfc6d, 0, NULL, HCI_INIT_TIMEOUT);
        if (IS_ERR(skb)) {
-               rtl_dev_err(hdev, "Read ROM version failed (%ld)\n",
+               rtl_dev_err(hdev, "Read ROM version failed (%ld)",
                            PTR_ERR(skb));
                return PTR_ERR(skb);
        }
 
        if (skb->len != sizeof(*rom_version)) {
-               rtl_dev_err(hdev, "version event length mismatch\n");
+               rtl_dev_err(hdev, "version event length mismatch");
                kfree_skb(skb);
                return -EIO;
        }
 
        rom_version = (struct rtl_rom_version_evt *)skb->data;
-       rtl_dev_info(hdev, "rom_version status=%x version=%x\n",
+       rtl_dev_info(hdev, "rom_version status=%x version=%x",
                     rom_version->status, rom_version->version);
 
        *version = rom_version->version;
@@ -263,7 +263,7 @@ static int rtlbt_parse_firmware(struct hci_dev *hdev,
 
        fwptr = btrtl_dev->fw_data + btrtl_dev->fw_len - sizeof(extension_sig);
        if (memcmp(fwptr, extension_sig, sizeof(extension_sig)) != 0) {
-               rtl_dev_err(hdev, "extension section signature mismatch\n");
+               rtl_dev_err(hdev, "extension section signature mismatch");
                return -EINVAL;
        }
 
@@ -284,7 +284,7 @@ static int rtlbt_parse_firmware(struct hci_dev *hdev,
                        break;
 
                if (length == 0) {
-                       rtl_dev_err(hdev, "found instruction with length 0\n");
+                       rtl_dev_err(hdev, "found instruction with length 0");
                        return -EINVAL;
                }
 
@@ -297,7 +297,7 @@ static int rtlbt_parse_firmware(struct hci_dev *hdev,
        }
 
        if (project_id < 0) {
-               rtl_dev_err(hdev, "failed to find version instruction\n");
+               rtl_dev_err(hdev, "failed to find version instruction");
                return -EINVAL;
        }
 
@@ -308,13 +308,13 @@ static int rtlbt_parse_firmware(struct hci_dev *hdev,
        }
 
        if (i >= ARRAY_SIZE(project_id_to_lmp_subver)) {
-               rtl_dev_err(hdev, "unknown project id %d\n", project_id);
+               rtl_dev_err(hdev, "unknown project id %d", project_id);
                return -EINVAL;
        }
 
        if (btrtl_dev->ic_info->lmp_subver !=
                                project_id_to_lmp_subver[i].lmp_subver) {
-               rtl_dev_err(hdev, "firmware is for %x but this is a %x\n",
+               rtl_dev_err(hdev, "firmware is for %x but this is a %x",
                            project_id_to_lmp_subver[i].lmp_subver,
                            btrtl_dev->ic_info->lmp_subver);
                return -EINVAL;
@@ -322,7 +322,7 @@ static int rtlbt_parse_firmware(struct hci_dev *hdev,
 
        epatch_info = (struct rtl_epatch_header *)btrtl_dev->fw_data;
        if (memcmp(epatch_info->signature, RTL_EPATCH_SIGNATURE, 8) != 0) {
-               rtl_dev_err(hdev, "bad EPATCH signature\n");
+               rtl_dev_err(hdev, "bad EPATCH signature");
                return -EINVAL;
        }
 
@@ -401,7 +401,11 @@ static int rtl_download_firmware(struct hci_dev *hdev,
 
                BT_DBG("download fw (%d/%d)", i, frag_num);
 
-               dl_cmd->index = i;
+               if (i > 0x7f)
+                       dl_cmd->index = (i & 0x7f) + 1;
+               else
+                       dl_cmd->index = i;
+
                if (i == (frag_num - 1)) {
                        dl_cmd->index |= 0x80; /* data end */
                        frag_len = fw_len % RTL_FRAG_LEN;
@@ -412,14 +416,14 @@ static int rtl_download_firmware(struct hci_dev *hdev,
                skb = __hci_cmd_sync(hdev, 0xfc20, frag_len + 1, dl_cmd,
                                     HCI_INIT_TIMEOUT);
                if (IS_ERR(skb)) {
-                       rtl_dev_err(hdev, "download fw command failed (%ld)\n",
+                       rtl_dev_err(hdev, "download fw command failed (%ld)",
                                    PTR_ERR(skb));
                        ret = -PTR_ERR(skb);
                        goto out;
                }
 
                if (skb->len != sizeof(struct rtl_download_response)) {
-                       rtl_dev_err(hdev, "download fw event length mismatch\n");
+                       rtl_dev_err(hdev, "download fw event length mismatch");
                        kfree_skb(skb);
                        ret = -EIO;
                        goto out;
@@ -451,7 +455,7 @@ static int rtl_load_file(struct hci_dev *hdev, const char *name, u8 **buff)
        const struct firmware *fw;
        int ret;
 
-       rtl_dev_info(hdev, "loading %s\n", name);
+       rtl_dev_info(hdev, "loading %s", name);
        ret = request_firmware(&fw, name, &hdev->dev);
        if (ret < 0)
                return ret;
@@ -475,7 +479,7 @@ static int btrtl_setup_rtl8723a(struct hci_dev *hdev,
         * (which is only for RTL8723B and newer).
         */
        if (!memcmp(btrtl_dev->fw_data, RTL_EPATCH_SIGNATURE, 8)) {
-               rtl_dev_err(hdev, "unexpected EPATCH signature!\n");
+               rtl_dev_err(hdev, "unexpected EPATCH signature!");
                return -EINVAL;
        }
 
@@ -510,7 +514,7 @@ static int btrtl_setup_rtl8723b(struct hci_dev *hdev,
                fw_data = tbuff;
        }
 
-       rtl_dev_info(hdev, "cfg_sz %d, total sz %d\n", btrtl_dev->cfg_len, ret);
+       rtl_dev_info(hdev, "cfg_sz %d, total sz %d", btrtl_dev->cfg_len, ret);
 
        ret = rtl_download_firmware(hdev, fw_data, ret);
 
@@ -551,7 +555,7 @@ struct btrtl_device_info *btrtl_initialize(struct hci_dev *hdev,
        }
 
        resp = (struct hci_rp_read_local_version *)skb->data;
-       rtl_dev_info(hdev, "examining hci_ver=%02x hci_rev=%04x lmp_ver=%02x lmp_subver=%04x\n",
+       rtl_dev_info(hdev, "examining hci_ver=%02x hci_rev=%04x lmp_ver=%02x lmp_subver=%04x",
                     resp->hci_ver, resp->hci_rev,
                     resp->lmp_ver, resp->lmp_subver);
 
@@ -578,7 +582,7 @@ struct btrtl_device_info *btrtl_initialize(struct hci_dev *hdev,
        btrtl_dev->fw_len = rtl_load_file(hdev, btrtl_dev->ic_info->fw_name,
                                          &btrtl_dev->fw_data);
        if (btrtl_dev->fw_len < 0) {
-               rtl_dev_err(hdev, "firmware file %s not found\n",
+               rtl_dev_err(hdev, "firmware file %s not found",
                            btrtl_dev->ic_info->fw_name);
                ret = btrtl_dev->fw_len;
                goto err_free;
@@ -596,7 +600,7 @@ struct btrtl_device_info *btrtl_initialize(struct hci_dev *hdev,
                                                   &btrtl_dev->cfg_data);
                if (btrtl_dev->ic_info->config_needed &&
                    btrtl_dev->cfg_len <= 0) {
-                       rtl_dev_err(hdev, "mandatory config file %s not found\n",
+                       rtl_dev_err(hdev, "mandatory config file %s not found",
                                    btrtl_dev->ic_info->cfg_name);
                        ret = btrtl_dev->cfg_len;
                        goto err_free;
@@ -622,7 +626,7 @@ int btrtl_download_firmware(struct hci_dev *hdev,
         * to a different value.
         */
        if (!btrtl_dev->ic_info) {
-               rtl_dev_info(hdev, "assuming no firmware upload needed\n");
+               rtl_dev_info(hdev, "assuming no firmware upload needed");
                return 0;
        }
 
@@ -636,7 +640,7 @@ int btrtl_download_firmware(struct hci_dev *hdev,
        case RTL_ROM_LMP_8822B:
                return btrtl_setup_rtl8723b(hdev, btrtl_dev);
        default:
-               rtl_dev_info(hdev, "assuming no firmware upload needed\n");
+               rtl_dev_info(hdev, "assuming no firmware upload needed");
                return 0;
        }
 }
@@ -733,18 +737,18 @@ int btrtl_get_uart_settings(struct hci_dev *hdev,
 
        total_data_len = btrtl_dev->cfg_len - sizeof(*config);
        if (total_data_len <= 0) {
-               rtl_dev_warn(hdev, "no config loaded\n");
+               rtl_dev_warn(hdev, "no config loaded");
                return -EINVAL;
        }
 
        config = (struct rtl_vendor_config *)btrtl_dev->cfg_data;
        if (le32_to_cpu(config->signature) != RTL_CONFIG_MAGIC) {
-               rtl_dev_err(hdev, "invalid config magic\n");
+               rtl_dev_err(hdev, "invalid config magic");
                return -EINVAL;
        }
 
        if (total_data_len < le16_to_cpu(config->total_len)) {
-               rtl_dev_err(hdev, "config is too short\n");
+               rtl_dev_err(hdev, "config is too short");
                return -EINVAL;
        }
 
@@ -754,7 +758,7 @@ int btrtl_get_uart_settings(struct hci_dev *hdev,
                switch (le16_to_cpu(entry->offset)) {
                case 0xc:
                        if (entry->len < sizeof(*device_baudrate)) {
-                               rtl_dev_err(hdev, "invalid UART config entry\n");
+                               rtl_dev_err(hdev, "invalid UART config entry");
                                return -EINVAL;
                        }
 
@@ -771,7 +775,7 @@ int btrtl_get_uart_settings(struct hci_dev *hdev,
                        break;
 
                default:
-                       rtl_dev_dbg(hdev, "skipping config entry 0x%x (len %u)\n",
+                       rtl_dev_dbg(hdev, "skipping config entry 0x%x (len %u)",
                                   le16_to_cpu(entry->offset), entry->len);
                        break;
                };
@@ -780,13 +784,13 @@ int btrtl_get_uart_settings(struct hci_dev *hdev,
        }
 
        if (!found) {
-               rtl_dev_err(hdev, "no UART config entry found\n");
+               rtl_dev_err(hdev, "no UART config entry found");
                return -ENOENT;
        }
 
-       rtl_dev_dbg(hdev, "device baudrate = 0x%08x\n", *device_baudrate);
-       rtl_dev_dbg(hdev, "controller baudrate = %u\n", *controller_baudrate);
-       rtl_dev_dbg(hdev, "flow control %d\n", *flow_control);
+       rtl_dev_dbg(hdev, "device baudrate = 0x%08x", *device_baudrate);
+       rtl_dev_dbg(hdev, "controller baudrate = %u", *controller_baudrate);
+       rtl_dev_dbg(hdev, "flow control %d", *flow_control);
 
        return 0;
 }