|
28 | 28 | struct btqcomsmd {
|
29 | 29 | struct hci_dev *hdev;
|
30 | 30 |
|
31 |
| - bdaddr_t bdaddr; |
32 | 31 | struct rpmsg_endpoint *acl_channel;
|
33 | 32 | struct rpmsg_endpoint *cmd_channel;
|
34 | 33 | };
|
@@ -116,32 +115,17 @@ static int btqcomsmd_close(struct hci_dev *hdev)
|
116 | 115 |
|
117 | 116 | static int btqcomsmd_setup(struct hci_dev *hdev)
|
118 | 117 | {
|
119 |
| - struct btqcomsmd *btq = hci_get_drvdata(hdev); |
120 | 118 | struct sk_buff *skb;
|
121 |
| - int err; |
122 | 119 |
|
123 | 120 | skb = __hci_cmd_sync(hdev, HCI_OP_RESET, 0, NULL, HCI_INIT_TIMEOUT);
|
124 | 121 | if (IS_ERR(skb))
|
125 | 122 | return PTR_ERR(skb);
|
126 | 123 | kfree_skb(skb);
|
127 | 124 |
|
128 |
| - /* Devices do not have persistent storage for BD address. If no |
129 |
| - * BD address has been retrieved during probe, mark the device |
130 |
| - * as having an invalid BD address. |
131 |
| - */ |
132 |
| - if (!bacmp(&btq->bdaddr, BDADDR_ANY)) { |
133 |
| - set_bit(HCI_QUIRK_INVALID_BDADDR, &hdev->quirks); |
134 |
| - return 0; |
135 |
| - } |
136 |
| - |
137 |
| - /* When setting a configured BD address fails, mark the device |
138 |
| - * as having an invalid BD address. |
| 125 | + /* Devices do not have persistent storage for BD address. Retrieve |
| 126 | + * it from the firmware node property. |
139 | 127 | */
|
140 |
| - err = qca_set_bdaddr_rome(hdev, &btq->bdaddr); |
141 |
| - if (err) { |
142 |
| - set_bit(HCI_QUIRK_INVALID_BDADDR, &hdev->quirks); |
143 |
| - return 0; |
144 |
| - } |
| 128 | + set_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks); |
145 | 129 |
|
146 | 130 | return 0;
|
147 | 131 | }
|
@@ -169,15 +153,6 @@ static int btqcomsmd_probe(struct platform_device *pdev)
|
169 | 153 | if (IS_ERR(btq->cmd_channel))
|
170 | 154 | return PTR_ERR(btq->cmd_channel);
|
171 | 155 |
|
172 |
| - /* The local-bd-address property is usually injected by the |
173 |
| - * bootloader which has access to the allocated BD address. |
174 |
| - */ |
175 |
| - if (!of_property_read_u8_array(pdev->dev.of_node, "local-bd-address", |
176 |
| - (u8 *)&btq->bdaddr, sizeof(bdaddr_t))) { |
177 |
| - dev_info(&pdev->dev, "BD address %pMR retrieved from device-tree", |
178 |
| - &btq->bdaddr); |
179 |
| - } |
180 |
| - |
181 | 156 | hdev = hci_alloc_dev();
|
182 | 157 | if (!hdev)
|
183 | 158 | return -ENOMEM;
|
|
0 commit comments