Search Linux Wireless

Re: [PATCH 4/6] qtnfmac: fix rmmod for missing firmware

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

 



On 2/5/2018 4:05 PM, Sergey Matyukevich wrote:
Check that firmware exists prior to starting firmware download.

Why would you do that? It seems expensive given that you obtain the firmware and discard it immediately just to check it exists. Especially, given that such a call can take 60 seconds to complete depending on kernel config.

Apart from that see minor comment below although I would seriously reconsider this patch altogether.

Signed-off-by: Sergey Matyukevich <sergey.matyukevich.os@xxxxxxxxxxxxx>
---
  drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c | 20 ++++++++++++++++++++
  1 file changed, 20 insertions(+)

diff --git a/drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c b/drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c
index c0d1c5d94ef0..86368e345276 100644
--- a/drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c
+++ b/drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c
@@ -1104,6 +1104,20 @@ static void qtnf_firmware_load(const struct firmware *fw, void *context)
  	complete(&bus->request_firmware_complete);
  }

+static int qtnf_fw_exists(struct qtnf_bus *bus)
+{
+	struct qtnf_pcie_bus_priv *priv = (void *)get_bus_priv(bus);
+	struct pci_dev *pdev = priv->pdev;
+	const struct firmware *fw;

I think it is better to initialize fw to NULL here and ...

+	int ret;
+
+	ret = request_firmware(&fw, bus->fwname, &pdev->dev);
+	if (!ret)

do 'if (fw)' here instead.

Regards,
Arend

+		release_firmware(fw);
+
+	return !ret;
+}
+





[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