lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 3 Oct 2018 09:50:58 +0000
From:   "Grumbach, Emmanuel" <emmanuel.grumbach@...el.com>
To:     Kai Heng Feng <kai.heng.feng@...onical.com>,
        Kalle Valo <kvalo@...eaurora.org>
CC:     LKML <linux-kernel@...r.kernel.org>,
        "Berg, Johannes" <johannes.berg@...el.com>,
        "Coelho, Luciano" <luciano.coelho@...el.com>,
        linuxwifi <linuxwifi@...el.com>,
        "David S. Miller" <davem@...emloft.net>,
        "linux-wireless@...r.kernel.org" <linux-wireless@...r.kernel.org>,
        "netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: RE: [RESEND] [PATCH 3/3] iwlwifi: Load firmware exclusively for
 Intel WiFi

> 
> > On Oct 3, 2018, at 5:10 PM, Kalle Valo <kvalo@...eaurora.org> wrote:
> >
> > Kai-Heng Feng <kai.heng.feng@...onical.com> 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@...onical.com>
> >
> > 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.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ