2021-09-10 16:09:08

by Jérôme Pouiller

[permalink] [raw]
Subject: [PATCH 11/31] staging: wfx: relax the PDS existence constraint

From: Jérôme Pouiller <[email protected]>

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 <[email protected]>
drivers/staging/wfx/main.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/wfx/main.c b/drivers/staging/wfx/main.c
index 0a9d02d1af2f..b790d8573de6 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",
goto err1;
@@ -395,9 +395,7 @@ int wfx_probe(struct wfx_dev *wdev)

dev_dbg(wdev->dev, "sending configuration file %s\n",
- err = wfx_send_pdata_pds(wdev);
- if (err < 0)
- goto err0;
+ wfx_send_pdata_pds(wdev);

wdev->poll_irq = false;
err = wdev->hwbus_ops->irq_subscribe(wdev->hwbus_priv);