Loading drivers/bluetooth/ath3k.c +37 −12 Original line number Diff line number Diff line Loading @@ -48,6 +48,9 @@ #define ROME3_0_USB_RAMPATCH_FILE "ar3k/rampatch_tlv_usb_3.0.tlv" #define ROME3_0_USB_NVM_FILE "ar3k/nvm_tlv_usb_3.0.bin" #define TF1_1_USB_RAMPATCH_FILE "ar3k/rampatch_tlv_usb_tf_1.1.tlv" #define TF1_1_USB_NVM_FILE "ar3k/nvm_tlv_usb_tf_1.1.bin" #define ROME2_1_USB_RAMPATCH_HEADER sizeof(struct rome2_1_version) #define ROME1_1_USB_RAMPATCH_HEADER sizeof(struct rome1_1_version) Loading @@ -57,7 +60,9 @@ #define ROME1_1_USB_CHIP_VERSION 0x101 #define ROME2_1_USB_CHIP_VERSION 0x200 #define ROME3_0_USB_CHIP_VERSION 0x300 #define ROME3_2_USB_CHIP_VERSION 0x302 #define TF1_1_USB_PRODUCT_ID 0xe500 #define ATH3K_DNLOAD 0x01 #define ATH3K_GETSTATE 0x05 #define ATH3K_SET_NORMAL_MODE 0x07 Loading Loading @@ -122,14 +127,13 @@ static struct usb_device_id ath3k_table[] = { { USB_DEVICE(0x03F0, 0x311D) }, /* Atheros AR3012 with sflash firmware*/ { USB_DEVICE(0x0489, 0xe04d) }, { USB_DEVICE(0x0489, 0xe04e) }, { USB_DEVICE(0x0489, 0xe057) }, { USB_DEVICE(0x0489, 0xe056) }, { USB_DEVICE(0x0489, 0xe05f) }, { USB_DEVICE(0x0489, 0xe076) }, { USB_DEVICE(0x0489, 0xe078) }, { USB_DEVICE(0x04c5, 0x1330) }, { USB_DEVICE(0x0CF3, 0x0036) }, { USB_DEVICE(0x0CF3, 0x3004) }, { USB_DEVICE(0x0CF3, 0x3008) }, { USB_DEVICE(0x0CF3, 0x311D) }, { USB_DEVICE(0x0CF3, 0x817a) }, { USB_DEVICE(0x0CF3, 0xe500) }, { USB_DEVICE(0x13d3, 0x3375) }, { USB_DEVICE(0x04CA, 0x3004) }, { USB_DEVICE(0x04CA, 0x3005) }, { USB_DEVICE(0x04CA, 0x3006) }, Loading Loading @@ -351,6 +355,7 @@ int get_rome_version(struct usb_device *udev, struct ath3k_version *version) case ROME1_1_USB_CHIP_VERSION: case ROME2_1_USB_CHIP_VERSION: case ROME3_0_USB_CHIP_VERSION: case ROME3_2_USB_CHIP_VERSION: memcpy(version, &fw_version, sizeof(struct ath3k_version)); ret = 0; break; Loading Loading @@ -490,6 +495,16 @@ static int ath3k_load_patch(struct usb_device *udev, BT_DBG("Chip Detected as ROME3.0"); snprintf(filename, ATH3K_NAME_LEN, ROME3_0_USB_RAMPATCH_FILE); break; case ROME3_2_USB_CHIP_VERSION: if (udev->descriptor.idProduct == TF1_1_USB_PRODUCT_ID) { BT_DBG("Chip Detected as TF1.1"); snprintf(filename, ATH3K_NAME_LEN, TF1_1_USB_RAMPATCH_FILE); } else { BT_INFO("Unsupported Chip"); return -ENODEV; } break; default: BT_DBG("Chip Detected as Ath3k"); snprintf(filename, ATH3K_NAME_LEN, "ar3k/AthrBT_0x%08x.dfu", Loading @@ -504,7 +519,8 @@ static int ath3k_load_patch(struct usb_device *udev, } if ((version->rom_version == ROME2_1_USB_CHIP_VERSION) || (version->rom_version == ROME3_0_USB_CHIP_VERSION)) { (version->rom_version == ROME3_0_USB_CHIP_VERSION) || (version->rom_version == ROME3_2_USB_CHIP_VERSION)) { rome2_1_version = (struct rome2_1_version *) firmware->data; pt_version.rom_version = rome2_1_version->build_ver; pt_version.build_version = rome2_1_version->patch_ver; Loading Loading @@ -534,7 +550,8 @@ static int ath3k_load_patch(struct usb_device *udev, } if ((version->rom_version == ROME2_1_USB_CHIP_VERSION) || (version->rom_version == ROME3_0_USB_CHIP_VERSION)) (version->rom_version == ROME3_0_USB_CHIP_VERSION) || (version->rom_version == ROME3_2_USB_CHIP_VERSION)) ret = ath3k_load_fwfile(udev, firmware, ROME2_1_USB_RAMPATCH_HEADER); else if (version->rom_version == ROME1_1_USB_CHIP_VERSION) Loading Loading @@ -589,7 +606,14 @@ static int ath3k_load_syscfg(struct usb_device *udev, snprintf(filename, ATH3K_NAME_LEN, ROME2_1_USB_NVM_FILE); else if (version->rom_version == ROME3_0_USB_CHIP_VERSION) snprintf(filename, ATH3K_NAME_LEN, ROME3_0_USB_NVM_FILE); else if (version->rom_version == ROME1_1_USB_CHIP_VERSION) else if (version->rom_version == ROME3_2_USB_CHIP_VERSION) { if (udev->descriptor.idProduct == TF1_1_USB_PRODUCT_ID) snprintf(filename, ATH3K_NAME_LEN, TF1_1_USB_NVM_FILE); else { BT_INFO("Unsupported Chip"); return -ENODEV; } } else if (version->rom_version == ROME1_1_USB_CHIP_VERSION) snprintf(filename, ATH3K_NAME_LEN, ROME1_1_USB_NVM_FILE); else snprintf(filename, ATH3K_NAME_LEN, "ar3k/ramps_0x%08x_%d%s", Loading @@ -602,7 +626,8 @@ static int ath3k_load_syscfg(struct usb_device *udev, } if ((version->rom_version == ROME2_1_USB_CHIP_VERSION) || (version->rom_version == ROME3_0_USB_CHIP_VERSION)) (version->rom_version == ROME3_0_USB_CHIP_VERSION) || (version->rom_version == ROME3_2_USB_CHIP_VERSION)) ret = ath3k_load_fwfile(udev, firmware, ROME2_1_USB_NVM_HEADER); else if (version->rom_version == ROME1_1_USB_CHIP_VERSION) ret = ath3k_load_fwfile(udev, firmware, ROME1_1_USB_NVM_HEADER); Loading drivers/bluetooth/btusb.c +7 −8 Original line number Diff line number Diff line Loading @@ -165,14 +165,13 @@ static const struct usb_device_id blacklist_table[] = { { USB_DEVICE(0x03f0, 0x311d), .driver_info = BTUSB_IGNORE }, /* Atheros 3012 with sflash firmware */ { USB_DEVICE(0x0489, 0xe04d), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0489, 0xe04e), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0489, 0xe056), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0489, 0xe05f), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0489, 0xe076), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0489, 0xe078), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x04c5, 0x1330), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0cf3, 0x0036), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0cf3, 0x3004), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0cf3, 0x3008), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0cf3, 0x311d), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0cf3, 0x817a), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0cf3, 0xe500), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x13d3, 0x3375), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x04ca, 0x3004), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x04ca, 0x3006), .driver_info = BTUSB_ATH3012 }, Loading Loading
drivers/bluetooth/ath3k.c +37 −12 Original line number Diff line number Diff line Loading @@ -48,6 +48,9 @@ #define ROME3_0_USB_RAMPATCH_FILE "ar3k/rampatch_tlv_usb_3.0.tlv" #define ROME3_0_USB_NVM_FILE "ar3k/nvm_tlv_usb_3.0.bin" #define TF1_1_USB_RAMPATCH_FILE "ar3k/rampatch_tlv_usb_tf_1.1.tlv" #define TF1_1_USB_NVM_FILE "ar3k/nvm_tlv_usb_tf_1.1.bin" #define ROME2_1_USB_RAMPATCH_HEADER sizeof(struct rome2_1_version) #define ROME1_1_USB_RAMPATCH_HEADER sizeof(struct rome1_1_version) Loading @@ -57,7 +60,9 @@ #define ROME1_1_USB_CHIP_VERSION 0x101 #define ROME2_1_USB_CHIP_VERSION 0x200 #define ROME3_0_USB_CHIP_VERSION 0x300 #define ROME3_2_USB_CHIP_VERSION 0x302 #define TF1_1_USB_PRODUCT_ID 0xe500 #define ATH3K_DNLOAD 0x01 #define ATH3K_GETSTATE 0x05 #define ATH3K_SET_NORMAL_MODE 0x07 Loading Loading @@ -122,14 +127,13 @@ static struct usb_device_id ath3k_table[] = { { USB_DEVICE(0x03F0, 0x311D) }, /* Atheros AR3012 with sflash firmware*/ { USB_DEVICE(0x0489, 0xe04d) }, { USB_DEVICE(0x0489, 0xe04e) }, { USB_DEVICE(0x0489, 0xe057) }, { USB_DEVICE(0x0489, 0xe056) }, { USB_DEVICE(0x0489, 0xe05f) }, { USB_DEVICE(0x0489, 0xe076) }, { USB_DEVICE(0x0489, 0xe078) }, { USB_DEVICE(0x04c5, 0x1330) }, { USB_DEVICE(0x0CF3, 0x0036) }, { USB_DEVICE(0x0CF3, 0x3004) }, { USB_DEVICE(0x0CF3, 0x3008) }, { USB_DEVICE(0x0CF3, 0x311D) }, { USB_DEVICE(0x0CF3, 0x817a) }, { USB_DEVICE(0x0CF3, 0xe500) }, { USB_DEVICE(0x13d3, 0x3375) }, { USB_DEVICE(0x04CA, 0x3004) }, { USB_DEVICE(0x04CA, 0x3005) }, { USB_DEVICE(0x04CA, 0x3006) }, Loading Loading @@ -351,6 +355,7 @@ int get_rome_version(struct usb_device *udev, struct ath3k_version *version) case ROME1_1_USB_CHIP_VERSION: case ROME2_1_USB_CHIP_VERSION: case ROME3_0_USB_CHIP_VERSION: case ROME3_2_USB_CHIP_VERSION: memcpy(version, &fw_version, sizeof(struct ath3k_version)); ret = 0; break; Loading Loading @@ -490,6 +495,16 @@ static int ath3k_load_patch(struct usb_device *udev, BT_DBG("Chip Detected as ROME3.0"); snprintf(filename, ATH3K_NAME_LEN, ROME3_0_USB_RAMPATCH_FILE); break; case ROME3_2_USB_CHIP_VERSION: if (udev->descriptor.idProduct == TF1_1_USB_PRODUCT_ID) { BT_DBG("Chip Detected as TF1.1"); snprintf(filename, ATH3K_NAME_LEN, TF1_1_USB_RAMPATCH_FILE); } else { BT_INFO("Unsupported Chip"); return -ENODEV; } break; default: BT_DBG("Chip Detected as Ath3k"); snprintf(filename, ATH3K_NAME_LEN, "ar3k/AthrBT_0x%08x.dfu", Loading @@ -504,7 +519,8 @@ static int ath3k_load_patch(struct usb_device *udev, } if ((version->rom_version == ROME2_1_USB_CHIP_VERSION) || (version->rom_version == ROME3_0_USB_CHIP_VERSION)) { (version->rom_version == ROME3_0_USB_CHIP_VERSION) || (version->rom_version == ROME3_2_USB_CHIP_VERSION)) { rome2_1_version = (struct rome2_1_version *) firmware->data; pt_version.rom_version = rome2_1_version->build_ver; pt_version.build_version = rome2_1_version->patch_ver; Loading Loading @@ -534,7 +550,8 @@ static int ath3k_load_patch(struct usb_device *udev, } if ((version->rom_version == ROME2_1_USB_CHIP_VERSION) || (version->rom_version == ROME3_0_USB_CHIP_VERSION)) (version->rom_version == ROME3_0_USB_CHIP_VERSION) || (version->rom_version == ROME3_2_USB_CHIP_VERSION)) ret = ath3k_load_fwfile(udev, firmware, ROME2_1_USB_RAMPATCH_HEADER); else if (version->rom_version == ROME1_1_USB_CHIP_VERSION) Loading Loading @@ -589,7 +606,14 @@ static int ath3k_load_syscfg(struct usb_device *udev, snprintf(filename, ATH3K_NAME_LEN, ROME2_1_USB_NVM_FILE); else if (version->rom_version == ROME3_0_USB_CHIP_VERSION) snprintf(filename, ATH3K_NAME_LEN, ROME3_0_USB_NVM_FILE); else if (version->rom_version == ROME1_1_USB_CHIP_VERSION) else if (version->rom_version == ROME3_2_USB_CHIP_VERSION) { if (udev->descriptor.idProduct == TF1_1_USB_PRODUCT_ID) snprintf(filename, ATH3K_NAME_LEN, TF1_1_USB_NVM_FILE); else { BT_INFO("Unsupported Chip"); return -ENODEV; } } else if (version->rom_version == ROME1_1_USB_CHIP_VERSION) snprintf(filename, ATH3K_NAME_LEN, ROME1_1_USB_NVM_FILE); else snprintf(filename, ATH3K_NAME_LEN, "ar3k/ramps_0x%08x_%d%s", Loading @@ -602,7 +626,8 @@ static int ath3k_load_syscfg(struct usb_device *udev, } if ((version->rom_version == ROME2_1_USB_CHIP_VERSION) || (version->rom_version == ROME3_0_USB_CHIP_VERSION)) (version->rom_version == ROME3_0_USB_CHIP_VERSION) || (version->rom_version == ROME3_2_USB_CHIP_VERSION)) ret = ath3k_load_fwfile(udev, firmware, ROME2_1_USB_NVM_HEADER); else if (version->rom_version == ROME1_1_USB_CHIP_VERSION) ret = ath3k_load_fwfile(udev, firmware, ROME1_1_USB_NVM_HEADER); Loading
drivers/bluetooth/btusb.c +7 −8 Original line number Diff line number Diff line Loading @@ -165,14 +165,13 @@ static const struct usb_device_id blacklist_table[] = { { USB_DEVICE(0x03f0, 0x311d), .driver_info = BTUSB_IGNORE }, /* Atheros 3012 with sflash firmware */ { USB_DEVICE(0x0489, 0xe04d), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0489, 0xe04e), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0489, 0xe056), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0489, 0xe05f), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0489, 0xe076), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0489, 0xe078), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x04c5, 0x1330), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0cf3, 0x0036), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0cf3, 0x3004), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0cf3, 0x3008), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0cf3, 0x311d), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0cf3, 0x817a), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0cf3, 0xe500), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x13d3, 0x3375), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x04ca, 0x3004), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x04ca, 0x3006), .driver_info = BTUSB_ATH3012 }, Loading