Search Linux Wireless

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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 
> > 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.




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux