Message ID | 6267800d70ae4344acaba3486b54bc0c@infineon.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Bluetooth: Patch for CYW4373 hci up fail issue | expand |
Context | Check | Description |
---|---|---|
tedd_an/pre-ci_am | success | Success |
tedd_an/CheckPatch | fail | WARNING: Prefer a maximum 75 chars per line (possible unwrapped commit description?) #84: Due to the issue, Bluetooth driver of 5.15 and later kernel fails to hci up. WARNING: line length of 138 exceeds 100 columns #114: FILE: drivers/bluetooth/btbcm.c:451: + int table_size = sizeof(disable_broken_read_transmit_power_by_chip_ver)/sizeof(disable_broken_read_transmit_power_by_chip_ver[0]); WARNING: Prefer ARRAY_SIZE(disable_broken_read_transmit_power_by_chip_ver) #114: FILE: drivers/bluetooth/btbcm.c:451: + int table_size = sizeof(disable_broken_read_transmit_power_by_chip_ver)/sizeof(disable_broken_read_transmit_power_by_chip_ver[0]); ERROR: that open brace { should be on the previous line #117: FILE: drivers/bluetooth/btbcm.c:454: + for( i=0 ; i<table_size ; i++, entry++) + { ERROR: spaces required around that '=' (ctx:VxV) #117: FILE: drivers/bluetooth/btbcm.c:454: + for( i=0 ; i<table_size ; i++, entry++) ^ ERROR: spaces required around that '<' (ctx:VxV) #117: FILE: drivers/bluetooth/btbcm.c:454: + for( i=0 ; i<table_size ; i++, entry++) ^ ERROR: space prohibited after that open parenthesis '(' #117: FILE: drivers/bluetooth/btbcm.c:454: + for( i=0 ; i<table_size ; i++, entry++) ERROR: space required before the open parenthesis '(' #117: FILE: drivers/bluetooth/btbcm.c:454: + for( i=0 ; i<table_size ; i++, entry++) ERROR: space prohibited after that open parenthesis '(' #119: FILE: drivers/bluetooth/btbcm.c:456: + if( (chip_id == entry->chip_id) && (baseline == entry->baseline) ) ERROR: space prohibited before that close parenthesis ')' #119: FILE: drivers/bluetooth/btbcm.c:456: + if( (chip_id == entry->chip_id) && (baseline == entry->baseline) ) ERROR: space required before the open parenthesis '(' #119: FILE: drivers/bluetooth/btbcm.c:456: + if( (chip_id == entry->chip_id) && (baseline == entry->baseline) ) WARNING: From:/Signed-off-by: email name mismatch: 'From: Nobuaki.Tsunashima@infineon.com' != 'Signed-off-by: Nobuaki Tsunashima <nobuaki.tsunashima@infineon.com>' total: 8 errors, 4 warnings, 59 lines checked NOTE: For some of the reported defects, checkpatch may be able to mechanically convert to the typical style using --fix or --fix-inplace. /github/workspace/src/src/13665743.patch has style problems, please review. NOTE: Ignored message types: UNKNOWN_COMMIT_ID NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS. |
tedd_an/GitLint | fail | WARNING: I3 - ignore-body-lines: gitlint will be switching from using Python regex 'match' (match beginning) to 'search' (match anywhere) semantics. Please review your ignore-body-lines.regex option accordingly. To remove this warning, set general.regex-style-search=True. More details: https://jorisroovers.github.io/gitlint/configuration/#regex-style-search 8: B1 Line exceeds max length (84>80): "Especially in USB i/f case, it would be difficult to download patch FW that includes" 9: B1 Line exceeds max length (84>80): "Its fix unless hci is up. The patch forces the driver to skip LE_Read_Transmit_Power" |
tedd_an/SubjectPrefix | success | Gitlint PASS |
tedd_an/BuildKernel | success | BuildKernel PASS |
tedd_an/CheckAllWarning | warning | CheckSparse WARNING drivers/bluetooth/btbcm.c: In function ‘btbcm_is_disable_broken_read_tx_power_by_chip_ver’:drivers/bluetooth/btbcm.c:453:41: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 453 | struct bcm_chip_version_table *entry = &disable_broken_read_transmit_power_by_chip_ver[0]; | ^ |
tedd_an/CheckSparse | warning | CheckSparse WARNING drivers/bluetooth/btbcm.c: In function ‘btbcm_is_disable_broken_read_tx_power_by_chip_ver’:drivers/bluetooth/btbcm.c:453:41: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]drivers/bluetooth/btbcm.c:453:95: warning: incorrect type in initializer (different modifiers)drivers/bluetooth/btbcm.c:453:95: expected struct bcm_chip_version_table *entrydrivers/bluetooth/btbcm.c:453:95: got struct bcm_chip_version_table const * |
tedd_an/CheckSmatch | fail | CheckSparse: FAIL: Segmentation fault (core dumped) make[4]: *** [scripts/Makefile.build:244: net/bluetooth/hci_core.o] Error 139 make[4]: *** Deleting file 'net/bluetooth/hci_core.o' make[3]: *** [scripts/Makefile.build:485: net/bluetooth] Error 2 make[2]: *** [scripts/Makefile.build:485: net] Error 2 make[2]: *** Waiting for unfinished jobs.... Segmentation fault (core dumped) make[4]: *** [scripts/Makefile.build:244: drivers/bluetooth/bcm203x.o] Error 139 make[4]: *** Deleting file 'drivers/bluetooth/bcm203x.o' make[4]: *** Waiting for unfinished jobs.... Segmentation fault (core dumped) make[4]: *** [scripts/Makefile.build:244: drivers/bluetooth/bpa10x.o] Error 139 make[4]: *** Deleting file 'drivers/bluetooth/bpa10x.o' make[3]: *** [scripts/Makefile.build:485: drivers/bluetooth] Error 2 make[2]: *** [scripts/Makefile.build:485: drivers] Error 2 make[1]: *** [/github/workspace/src/src/Makefile:1919: .] Error 2 make: *** [Makefile:240: __sub-make] Error 2 |
tedd_an/BuildKernel32 | success | BuildKernel32 PASS |
tedd_an/TestRunnerSetup | success | TestRunnerSetup PASS |
tedd_an/TestRunner_l2cap-tester | success | TestRunner PASS |
tedd_an/TestRunner_iso-tester | success | TestRunner PASS |
tedd_an/TestRunner_bnep-tester | success | TestRunner PASS |
tedd_an/TestRunner_mgmt-tester | success | TestRunner PASS |
tedd_an/TestRunner_rfcomm-tester | success | TestRunner PASS |
tedd_an/TestRunner_sco-tester | success | TestRunner PASS |
tedd_an/TestRunner_ioctl-tester | success | TestRunner PASS |
tedd_an/TestRunner_mesh-tester | success | TestRunner PASS |
tedd_an/TestRunner_smp-tester | success | TestRunner PASS |
tedd_an/TestRunner_userchan-tester | success | TestRunner PASS |
tedd_an/IncrementalBuild | success | Incremental Build PASS |
This is automated email and please do not reply to this email! Dear submitter, Thank you for submitting the patches to the linux bluetooth mailing list. This is a CI test results with your patch series: PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=853578 ---Test result--- Test Summary: CheckPatch FAIL 1.07 seconds GitLint FAIL 0.44 seconds SubjectPrefix PASS 0.07 seconds BuildKernel PASS 29.54 seconds CheckAllWarning WARNING 32.16 seconds CheckSparse WARNING 37.46 seconds CheckSmatch FAIL 35.73 seconds BuildKernel32 PASS 28.33 seconds TestRunnerSetup PASS 516.67 seconds TestRunner_l2cap-tester PASS 20.34 seconds TestRunner_iso-tester PASS 32.56 seconds TestRunner_bnep-tester PASS 4.66 seconds TestRunner_mgmt-tester PASS 111.34 seconds TestRunner_rfcomm-tester PASS 7.24 seconds TestRunner_sco-tester PASS 14.90 seconds TestRunner_ioctl-tester PASS 7.65 seconds TestRunner_mesh-tester PASS 5.78 seconds TestRunner_smp-tester PASS 6.68 seconds TestRunner_userchan-tester PASS 4.90 seconds IncrementalBuild PASS 27.20 seconds Details ############################## Test: CheckPatch - FAIL Desc: Run checkpatch.pl script Output: Bluetooth: Patch for CYW4373 hci up fail issue WARNING: Prefer a maximum 75 chars per line (possible unwrapped commit description?) #84: Due to the issue, Bluetooth driver of 5.15 and later kernel fails to hci up. WARNING: line length of 138 exceeds 100 columns #114: FILE: drivers/bluetooth/btbcm.c:451: + int table_size = sizeof(disable_broken_read_transmit_power_by_chip_ver)/sizeof(disable_broken_read_transmit_power_by_chip_ver[0]); WARNING: Prefer ARRAY_SIZE(disable_broken_read_transmit_power_by_chip_ver) #114: FILE: drivers/bluetooth/btbcm.c:451: + int table_size = sizeof(disable_broken_read_transmit_power_by_chip_ver)/sizeof(disable_broken_read_transmit_power_by_chip_ver[0]); ERROR: that open brace { should be on the previous line #117: FILE: drivers/bluetooth/btbcm.c:454: + for( i=0 ; i<table_size ; i++, entry++) + { ERROR: spaces required around that '=' (ctx:VxV) #117: FILE: drivers/bluetooth/btbcm.c:454: + for( i=0 ; i<table_size ; i++, entry++) ^ ERROR: spaces required around that '<' (ctx:VxV) #117: FILE: drivers/bluetooth/btbcm.c:454: + for( i=0 ; i<table_size ; i++, entry++) ^ ERROR: space prohibited after that open parenthesis '(' #117: FILE: drivers/bluetooth/btbcm.c:454: + for( i=0 ; i<table_size ; i++, entry++) ERROR: space required before the open parenthesis '(' #117: FILE: drivers/bluetooth/btbcm.c:454: + for( i=0 ; i<table_size ; i++, entry++) ERROR: space prohibited after that open parenthesis '(' #119: FILE: drivers/bluetooth/btbcm.c:456: + if( (chip_id == entry->chip_id) && (baseline == entry->baseline) ) ERROR: space prohibited before that close parenthesis ')' #119: FILE: drivers/bluetooth/btbcm.c:456: + if( (chip_id == entry->chip_id) && (baseline == entry->baseline) ) ERROR: space required before the open parenthesis '(' #119: FILE: drivers/bluetooth/btbcm.c:456: + if( (chip_id == entry->chip_id) && (baseline == entry->baseline) ) WARNING: From:/Signed-off-by: email name mismatch: 'From: Nobuaki.Tsunashima@infineon.com' != 'Signed-off-by: Nobuaki Tsunashima <nobuaki.tsunashima@infineon.com>' total: 8 errors, 4 warnings, 59 lines checked NOTE: For some of the reported defects, checkpatch may be able to mechanically convert to the typical style using --fix or --fix-inplace. /github/workspace/src/src/13665743.patch has style problems, please review. NOTE: Ignored message types: UNKNOWN_COMMIT_ID NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS. ############################## Test: GitLint - FAIL Desc: Run gitlint Output: Bluetooth: Patch for CYW4373 hci up fail issue WARNING: I3 - ignore-body-lines: gitlint will be switching from using Python regex 'match' (match beginning) to 'search' (match anywhere) semantics. Please review your ignore-body-lines.regex option accordingly. To remove this warning, set general.regex-style-search=True. More details: https://jorisroovers.github.io/gitlint/configuration/#regex-style-search 8: B1 Line exceeds max length (84>80): "Especially in USB i/f case, it would be difficult to download patch FW that includes" 9: B1 Line exceeds max length (84>80): "Its fix unless hci is up. The patch forces the driver to skip LE_Read_Transmit_Power" ############################## Test: CheckAllWarning - WARNING Desc: Run linux kernel with all warning enabled Output: drivers/bluetooth/btbcm.c: In function ‘btbcm_is_disable_broken_read_tx_power_by_chip_ver’:drivers/bluetooth/btbcm.c:453:41: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 453 | struct bcm_chip_version_table *entry = &disable_broken_read_transmit_power_by_chip_ver[0]; | ^ ############################## Test: CheckSparse - WARNING Desc: Run sparse tool with linux kernel Output: drivers/bluetooth/btbcm.c: In function ‘btbcm_is_disable_broken_read_tx_power_by_chip_ver’:drivers/bluetooth/btbcm.c:453:41: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]drivers/bluetooth/btbcm.c:453:95: warning: incorrect type in initializer (different modifiers)drivers/bluetooth/btbcm.c:453:95: expected struct bcm_chip_version_table *entrydrivers/bluetooth/btbcm.c:453:95: got struct bcm_chip_version_table const * ############################## Test: CheckSmatch - FAIL Desc: Run smatch tool with source Output: Segmentation fault (core dumped) make[4]: *** [scripts/Makefile.build:244: net/bluetooth/hci_core.o] Error 139 make[4]: *** Deleting file 'net/bluetooth/hci_core.o' make[3]: *** [scripts/Makefile.build:485: net/bluetooth] Error 2 make[2]: *** [scripts/Makefile.build:485: net] Error 2 make[2]: *** Waiting for unfinished jobs.... Segmentation fault (core dumped) make[4]: *** [scripts/Makefile.build:244: drivers/bluetooth/bcm203x.o] Error 139 make[4]: *** Deleting file 'drivers/bluetooth/bcm203x.o' make[4]: *** Waiting for unfinished jobs.... Segmentation fault (core dumped) make[4]: *** [scripts/Makefile.build:244: drivers/bluetooth/bpa10x.o] Error 139 make[4]: *** Deleting file 'drivers/bluetooth/bpa10x.o' make[3]: *** [scripts/Makefile.build:485: drivers/bluetooth] Error 2 make[2]: *** [scripts/Makefile.build:485: drivers] Error 2 make[1]: *** [/github/workspace/src/src/Makefile:1919: .] Error 2 make: *** [Makefile:240: __sub-make] Error 2 --- Regards, Linux Bluetooth
Hi, kernel test robot noticed the following build warnings: [auto build test WARNING on bluetooth/master] [also build test WARNING on bluetooth-next/master linus/master v6.9 next-20240516] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Nobuaki-Tsunashima-infineon-com/Bluetooth-Patch-for-CYW4373-hci-up-fail-issue/20240516-131000 base: https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth.git master patch link: https://lore.kernel.org/r/6267800d70ae4344acaba3486b54bc0c%40infineon.com patch subject: [PATCH] Bluetooth: Patch for CYW4373 hci up fail issue config: arm-pxa_defconfig (https://download.01.org/0day-ci/archive/20240517/202405170330.QEHgPNm1-lkp@intel.com/config) compiler: arm-linux-gnueabi-gcc (GCC) 13.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240517/202405170330.QEHgPNm1-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202405170330.QEHgPNm1-lkp@intel.com/ All warnings (new ones prefixed by >>): drivers/bluetooth/btbcm.c: In function 'btbcm_is_disable_broken_read_tx_power_by_chip_ver': >> drivers/bluetooth/btbcm.c:453:48: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 453 | struct bcm_chip_version_table *entry = &disable_broken_read_transmit_power_by_chip_ver[0]; | ^ vim +/const +453 drivers/bluetooth/btbcm.c 440 441 struct bcm_chip_version_table { 442 u8 chip_id; 443 u16 baseline; 444 }; 445 #define BCM_ROMFW_BASELINE_NUM 0xFFFF 446 static const struct bcm_chip_version_table disable_broken_read_transmit_power_by_chip_ver[] = { 447 {0x87, BCM_ROMFW_BASELINE_NUM} /* CYW4373/4373E */ 448 }; 449 static bool btbcm_is_disable_broken_read_tx_power_by_chip_ver(u8 chip_id, u16 baseline) 450 { 451 int i; 452 int table_size = sizeof(disable_broken_read_transmit_power_by_chip_ver)/sizeof(disable_broken_read_transmit_power_by_chip_ver[0]); > 453 struct bcm_chip_version_table *entry = &disable_broken_read_transmit_power_by_chip_ver[0]; 454 455 for( i=0 ; i<table_size ; i++, entry++) 456 { 457 if( (chip_id == entry->chip_id) && (baseline == entry->baseline) ) 458 return true; 459 } 460 461 return false; 462 } 463
Hi, kernel test robot noticed the following build errors: [auto build test ERROR on bluetooth/master] [also build test ERROR on bluetooth-next/master linus/master v6.9 next-20240516] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Nobuaki-Tsunashima-infineon-com/Bluetooth-Patch-for-CYW4373-hci-up-fail-issue/20240516-131000 base: https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth.git master patch link: https://lore.kernel.org/r/6267800d70ae4344acaba3486b54bc0c%40infineon.com patch subject: [PATCH] Bluetooth: Patch for CYW4373 hci up fail issue config: x86_64-buildonly-randconfig-003-20240517 (https://download.01.org/0day-ci/archive/20240517/202405170433.qYUNBTtS-lkp@intel.com/config) compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240517/202405170433.qYUNBTtS-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202405170433.qYUNBTtS-lkp@intel.com/ All errors (new ones prefixed by >>): >> drivers/bluetooth/btbcm.c:453:33: error: initializing 'struct bcm_chip_version_table *' with an expression of type 'const struct bcm_chip_version_table *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers] 453 | struct bcm_chip_version_table *entry = &disable_broken_read_transmit_power_by_chip_ver[0]; | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. vim +453 drivers/bluetooth/btbcm.c 440 441 struct bcm_chip_version_table { 442 u8 chip_id; 443 u16 baseline; 444 }; 445 #define BCM_ROMFW_BASELINE_NUM 0xFFFF 446 static const struct bcm_chip_version_table disable_broken_read_transmit_power_by_chip_ver[] = { 447 {0x87, BCM_ROMFW_BASELINE_NUM} /* CYW4373/4373E */ 448 }; 449 static bool btbcm_is_disable_broken_read_tx_power_by_chip_ver(u8 chip_id, u16 baseline) 450 { 451 int i; 452 int table_size = sizeof(disable_broken_read_transmit_power_by_chip_ver)/sizeof(disable_broken_read_transmit_power_by_chip_ver[0]); > 453 struct bcm_chip_version_table *entry = &disable_broken_read_transmit_power_by_chip_ver[0]; 454 455 for( i=0 ; i<table_size ; i++, entry++) 456 { 457 if( (chip_id == entry->chip_id) && (baseline == entry->baseline) ) 458 return true; 459 } 460 461 return false; 462 } 463
Hi, kernel test robot noticed the following build warnings: [auto build test WARNING on bluetooth/master] [also build test WARNING on bluetooth-next/master linus/master v6.9 next-20240516] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Nobuaki-Tsunashima-infineon-com/Bluetooth-Patch-for-CYW4373-hci-up-fail-issue/20240516-131000 base: https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth.git master patch link: https://lore.kernel.org/r/6267800d70ae4344acaba3486b54bc0c%40infineon.com patch subject: [PATCH] Bluetooth: Patch for CYW4373 hci up fail issue config: i386-randconfig-062-20240517 (https://download.01.org/0day-ci/archive/20240517/202405170648.10OEk1LW-lkp@intel.com/config) compiler: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240517/202405170648.10OEk1LW-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202405170648.10OEk1LW-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) >> drivers/bluetooth/btbcm.c:453:95: sparse: sparse: incorrect type in initializer (different modifiers) @@ expected struct bcm_chip_version_table *entry @@ got struct bcm_chip_version_table const * @@ drivers/bluetooth/btbcm.c:453:95: sparse: expected struct bcm_chip_version_table *entry drivers/bluetooth/btbcm.c:453:95: sparse: got struct bcm_chip_version_table const * vim +453 drivers/bluetooth/btbcm.c 440 441 struct bcm_chip_version_table { 442 u8 chip_id; 443 u16 baseline; 444 }; 445 #define BCM_ROMFW_BASELINE_NUM 0xFFFF 446 static const struct bcm_chip_version_table disable_broken_read_transmit_power_by_chip_ver[] = { 447 {0x87, BCM_ROMFW_BASELINE_NUM} /* CYW4373/4373E */ 448 }; 449 static bool btbcm_is_disable_broken_read_tx_power_by_chip_ver(u8 chip_id, u16 baseline) 450 { 451 int i; 452 int table_size = sizeof(disable_broken_read_transmit_power_by_chip_ver)/sizeof(disable_broken_read_transmit_power_by_chip_ver[0]); > 453 struct bcm_chip_version_table *entry = &disable_broken_read_transmit_power_by_chip_ver[0]; 454 455 for( i=0 ; i<table_size ; i++, entry++) 456 { 457 if( (chip_id == entry->chip_id) && (baseline == entry->baseline) ) 458 return true; 459 } 460 461 return false; 462 } 463
diff --git a/drivers/bluetooth/btbcm.c b/drivers/bluetooth/btbcm.c index 0a5445ac5e1b..c64d1ddd140d 100644 --- a/drivers/bluetooth/btbcm.c +++ b/drivers/bluetooth/btbcm.c @@ -437,18 +437,48 @@ static const struct dmi_system_id disable_broken_read_transmit_power[] = { { } }; +struct bcm_chip_version_table { + u8 chip_id; + u16 baseline; +}; +#define BCM_ROMFW_BASELINE_NUM 0xFFFF +static const struct bcm_chip_version_table disable_broken_read_transmit_power_by_chip_ver[] = { + {0x87, BCM_ROMFW_BASELINE_NUM} /* CYW4373/4373E */ +}; +static bool btbcm_is_disable_broken_read_tx_power_by_chip_ver(u8 chip_id, u16 baseline) +{ + int i; + int table_size = sizeof(disable_broken_read_transmit_power_by_chip_ver)/sizeof(disable_broken_read_transmit_power_by_chip_ver[0]); + struct bcm_chip_version_table *entry = &disable_broken_read_transmit_power_by_chip_ver[0]; + + for( i=0 ; i<table_size ; i++, entry++) + { + if( (chip_id == entry->chip_id) && (baseline == entry->baseline) ) + return true; + } + + return false; +} + static int btbcm_read_info(struct hci_dev *hdev) { struct sk_buff *skb; + u8 chip_id; + u16 baseline; /* Read Verbose Config Version Info */ skb = btbcm_read_verbose_config(hdev); if (IS_ERR(skb)) return PTR_ERR(skb); - + chip_id = skb->data[1]; + baseline = skb->data[3] | (skb->data[4] << 8); bt_dev_info(hdev, "BCM: chip id %u", skb->data[1]); kfree_skb(skb); + /* Check Chip ID and disable broken Read LE Min/Max Tx Power */ + if (btbcm_is_disable_broken_read_tx_power_by_chip_ver(chip_id, baseline)) + set_bit(HCI_QUIRK_BROKEN_READ_TRANSMIT_POWER, &hdev->quirks); + return 0; } diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c index d31edad7a056..52561c8d8828 100644 --- a/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c @@ -142,6 +142,10 @@ static const struct usb_device_id btusb_table[] = { { USB_VENDOR_AND_INTERFACE_INFO(0x04ca, 0xff, 0x01, 0x01), .driver_info = BTUSB_BCM_PATCHRAM }, + /* Cypress devices with vendor specific id */ + { USB_VENDOR_AND_INTERFACE_INFO(0x04b4, 0xff, 0x01, 0x01), + .driver_info = BTUSB_BCM_PATCHRAM }, + /* Broadcom devices with vendor specific id */ { USB_VENDOR_AND_INTERFACE_INFO(0x0a5c, 0xff, 0x01, 0x01), .driver_info = BTUSB_BCM_PATCHRAM },
CYW4373 ROM FW has an issue that it claims LE_Read_Transmit_Power command as supported in a response of Read_Local_Supported_Command command but rejects the LE_Read_Transmit_Power command with "Unknown HCI Command" status. Due to the issue, Bluetooth driver of 5.15 and later kernel fails to hci up. Especially in USB i/f case, it would be difficult to download patch FW that includes Its fix unless hci is up. The patch forces the driver to skip LE_Read_Transmit_Power Command when it detects CYW4373 with ROM FW build. Signed-off-by: Nobuaki Tsunashima <nobuaki.tsunashima@infineon.com> --- drivers/bluetooth/btbcm.c | 32 +++++++++++++++++++++++++++++++- drivers/bluetooth/btusb.c | 4 ++++ 2 files changed, 35 insertions(+), 1 deletion(-)