staging: wfx: relax the PDS existence constraint
authorJérôme Pouiller <jerome.pouiller@silabs.com>
Mon, 13 Sep 2021 13:01:42 +0000 (15:01 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 14 Sep 2021 07:16:32 +0000 (09:16 +0200)
The PDS file contains antenna parameters. The file is specific to each
hardware design. Normally, the board designer should add a line in the
of_device_id table with his own antenna parameters.

Until, now the absence of PDS file is a hard fatal error. However,
during the development, in most of the cases, an empty PDS file is
sufficient to start WiFi communication.

This patch keep an error, but allow the user to play with the device.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20210913130203.1903622-12-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wfx/main.c

index 0a9d02d..2a759f3 100644 (file)
@@ -220,7 +220,7 @@ static int wfx_send_pdata_pds(struct wfx_dev *wdev)
 
        ret = request_firmware(&pds, wdev->pdata.file_pds, wdev->dev);
        if (ret) {
-               dev_err(wdev->dev, "can't load PDS file %s\n",
+               dev_err(wdev->dev, "can't load antenna parameters (PDS file %s). The device may be unstable.\n",
                        wdev->pdata.file_pds);
                goto err1;
        }
@@ -396,7 +396,7 @@ int wfx_probe(struct wfx_dev *wdev)
        dev_dbg(wdev->dev, "sending configuration file %s\n",
                wdev->pdata.file_pds);
        err = wfx_send_pdata_pds(wdev);
-       if (err < 0)
+       if (err < 0 && err != -ENOENT)
                goto err0;
 
        wdev->poll_irq = false;