Re: [RESEND] [PATCH 3/3] iwlwifi: Load firmware exclusively for Intel WiFi

From: Kalle Valo
Date: Wed Oct 03 2018 - 05:58:05 EST


+ linux-bluetooth

"Grumbach, Emmanuel" <emmanuel.grumbach@xxxxxxxxx> writes:

>>
>> > On Oct 3, 2018, at 5:10 PM, Kalle Valo <kvalo@xxxxxxxxxxxxxx> wrote:
>> >
>> > Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx> writes:
>> >
>> >> To avoid the firmware loading race between Bluetooth and WiFi on
>> >> Intel 8260, load firmware exclusively when BT_INTEL is enabled.
>> >>
>> >> Signed-off-by: Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx>
>> >
>> > Still the commit log tells nothing about the actual problem which
>> > makes review impossible.
>>
>> Sorry for that. The first two patches [1] only sends to linux-bluetooth and
>> LMKL.
>>
>> I donât know what really happened at hardware/firmware level, but making
>> btusb and iwlwifi load firmware sequentially can workaround the issue.
>>
>> Matt Chen may be able to explain this issue with more detail.
>>
>> [1] https://lkml.org/lkml/2018/10/3/322
>>
>
> I just read the code of this patch and I don't quite understand.
> You have a function that is declared as a non-inline function in two different header files?
> btintel_firmware_lock is declared here:
>
> --- /dev/null
> +++ b/include/linux/intel-wifi-bt.h
> @@ -0,0 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +#ifndef __INTEL_WIFI_BT_H__
> +#define __INTEL_WIFI_BT_H__
> +
> +void btintel_firmware_lock(void);
>
> And ...
>
> diff --git a/drivers/bluetooth/btintel.h b/drivers/bluetooth/btintel.h
> index 41c642cc523f..1373ffc2b575 100644
> --- a/drivers/bluetooth/btintel.h
> +++ b/drivers/bluetooth/btintel.h
> @@ -102,6 +102,8 @@ int btintel_read_boot_params(struct hci_dev *hdev,
> struct intel_boot_params *params);
> int btintel_download_firmware(struct hci_dev *dev, const struct firmware *fw,
> u32 *boot_param);
> +void btintel_firmware_lock(void);
>
>
> This can't be right.

--
Kalle Valo