Hi Petri, > If the call to request_firmware() fails in btbcm_setup_patchram(), > the BCM chip will be operating with its default firmware. > > In this case, btbcm_setup_patchram() should not return immediately > but instead should skip to btbcm_check_bdaddr() and quirk setup. > > Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> > --- > drivers/bluetooth/btbcm.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/bluetooth/btbcm.c b/drivers/bluetooth/btbcm.c > index 0b69794..7d82b1a 100644 > --- a/drivers/bluetooth/btbcm.c > +++ b/drivers/bluetooth/btbcm.c > @@ -467,7 +467,7 @@ int btbcm_setup_patchram(struct hci_dev *hdev) > err = request_firmware(&fw, fw_name, &hdev->dev); > if (err < 0) { > BT_INFO("%s: BCM: Patch %s not found", hdev->name, fw_name); > - return 0; > + goto check_bdaddr; > } > > btbcm_patchram(hdev, fw); > @@ -501,6 +501,7 @@ int btbcm_setup_patchram(struct hci_dev *hdev) > BT_INFO("%s: %s", hdev->name, (char *)(skb->data + 1)); > kfree_skb(skb); > > +check_bdaddr: lets just call this label "done". I think using check_bdaddr might be a bit of misleading labeling here. Since we actually want it to run all success test including the duplicate filter setting. > btbcm_check_bdaddr(hdev); > > set_bit(HCI_QUIRK_STRICT_DUPLICATE_FILTER, &hdev->quirks); Regards Marcel -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html