[PATCH v3 11/32] staging: wfx: relax the PDS existence constraint

From: Jerome Pouiller
Date: Mon Sep 13 2021 - 09:03:37 EST


From: Jérôme Pouiller <jerome.pouiller@xxxxxxxxxx>

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@xxxxxxxxxx>
---
drivers/staging/wfx/main.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/wfx/main.c b/drivers/staging/wfx/main.c
index 0a9d02d1af2f..2a759f3554c9 100644
--- a/drivers/staging/wfx/main.c
+++ b/drivers/staging/wfx/main.c
@@ -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;
--
2.33.0