[PATCH v1] net: alacritech: Switch to use dev_err_probe()

Yang Ruibin posted 1 patch 1 year, 3 months ago
drivers/net/ethernet/alacritech/slicoss.c | 34 ++++++++++-------------
1 file changed, 14 insertions(+), 20 deletions(-)
[PATCH v1] net: alacritech: Switch to use dev_err_probe()
Posted by Yang Ruibin 1 year, 3 months ago
use dev_err_probe() instead of dev_err() to simplify the error path and
standardize the format of the error code.

Signed-off-by: Yang Ruibin <11162571@vivo.com>
---
 drivers/net/ethernet/alacritech/slicoss.c | 34 ++++++++++-------------
 1 file changed, 14 insertions(+), 20 deletions(-)

diff --git a/drivers/net/ethernet/alacritech/slicoss.c b/drivers/net/ethernet/alacritech/slicoss.c
index 78231c852..65919ace0 100644
--- a/drivers/net/ethernet/alacritech/slicoss.c
+++ b/drivers/net/ethernet/alacritech/slicoss.c
@@ -1051,11 +1051,9 @@ static int slic_load_rcvseq_firmware(struct slic_device *sdev)
 	file = (sdev->model == SLIC_MODEL_OASIS) ?  SLIC_RCV_FIRMWARE_OASIS :
 						    SLIC_RCV_FIRMWARE_MOJAVE;
 	err = request_firmware(&fw, file, &sdev->pdev->dev);
-	if (err) {
-		dev_err(&sdev->pdev->dev,
+	if (err)
+		return dev_err_probe(&sdev->pdev->dev, err,
 			"failed to load receive sequencer firmware %s\n", file);
-		return err;
-	}
 	/* Do an initial sanity check concerning firmware size now. A further
 	 * check follows below.
 	 */
@@ -1126,10 +1124,9 @@ static int slic_load_firmware(struct slic_device *sdev)
 	file = (sdev->model == SLIC_MODEL_OASIS) ?  SLIC_FIRMWARE_OASIS :
 						    SLIC_FIRMWARE_MOJAVE;
 	err = request_firmware(&fw, file, &sdev->pdev->dev);
-	if (err) {
-		dev_err(&sdev->pdev->dev, "failed to load firmware %s\n", file);
-		return err;
-	}
+	if (err)
+		return dev_err_probe(&sdev->pdev->dev, err,
+				"failed to load firmware %s\n", file);
 	/* Do an initial sanity check concerning firmware size now. A further
 	 * check follows below.
 	 */
@@ -1678,17 +1675,15 @@ static int slic_init(struct slic_device *sdev)
 	slic_card_reset(sdev);
 
 	err = slic_load_firmware(sdev);
-	if (err) {
-		dev_err(&sdev->pdev->dev, "failed to load firmware\n");
-		return err;
-	}
+	if (err)
+		return dev_err_probe(&sdev->pdev->dev, err,
+			"failed to load firmware\n");
 
 	/* we need the shared memory to read EEPROM so set it up temporarily */
 	err = slic_init_shmem(sdev);
-	if (err) {
-		dev_err(&sdev->pdev->dev, "failed to init shared memory\n");
-		return err;
-	}
+	if (err)
+		return dev_err_probe(&sdev->pdev->dev, err,
+			"failed to init shared memory\n");
 
 	err = slic_read_eeprom(sdev);
 	if (err) {
@@ -1741,10 +1736,9 @@ static int slic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	int err;
 
 	err = pci_enable_device(pdev);
-	if (err) {
-		dev_err(&pdev->dev, "failed to enable PCI device\n");
-		return err;
-	}
+	if (err)
+		return dev_err_probe(&pdev->dev, err,
+			"failed to enable PCI device\n");
 
 	pci_set_master(pdev);
 	pci_try_set_mwi(pdev);
-- 
2.34.1
Re: [PATCH v1] net: alacritech: Switch to use dev_err_probe()
Posted by Krzysztof Kozlowski 1 year, 3 months ago
On 28/08/2024 14:26, Yang Ruibin wrote:
> use dev_err_probe() instead of dev_err() to simplify the error path and
> standardize the format of the error code.
> 
> Signed-off-by: Yang Ruibin <11162571@vivo.com>
> ---
>  drivers/net/ethernet/alacritech/slicoss.c | 34 ++++++++++-------------
>  1 file changed, 14 insertions(+), 20 deletions(-)
> 
> diff --git a/drivers/net/ethernet/alacritech/slicoss.c b/drivers/net/ethernet/alacritech/slicoss.c
> index 78231c852..65919ace0 100644
> --- a/drivers/net/ethernet/alacritech/slicoss.c
> +++ b/drivers/net/ethernet/alacritech/slicoss.c
> @@ -1051,11 +1051,9 @@ static int slic_load_rcvseq_firmware(struct slic_device *sdev)
>  	file = (sdev->model == SLIC_MODEL_OASIS) ?  SLIC_RCV_FIRMWARE_OASIS :
>  						    SLIC_RCV_FIRMWARE_MOJAVE;
>  	err = request_firmware(&fw, file, &sdev->pdev->dev);
> -	if (err) {
> -		dev_err(&sdev->pdev->dev,
> +	if (err)
> +		return dev_err_probe(&sdev->pdev->dev, err,
>  			"failed to load receive sequencer firmware %s\n", file);

NAK.

Vivo does not understand how deferred probe works or introduces
intentionally buggy code.

This must be reverted.

Best regards,
Krzysztof
Re: [PATCH v1] net: alacritech: Switch to use dev_err_probe()
Posted by Jacob Keller 1 year, 3 months ago
nit: subject should include "net-next" for changes like this which are
cleanups meant for the net-next tree.

On 8/28/2024 5:26 AM, Yang Ruibin wrote:x
> use dev_err_probe() instead of dev_err() to simplify the error path and
> standardize the format of the error code.
> 
> Signed-off-by: Yang Ruibin <11162571@vivo.com>
> ---
>  drivers/net/ethernet/alacritech/slicoss.c | 34 ++++++++++-------------
>  1 file changed, 14 insertions(+), 20 deletions(-)
> 
> diff --git a/drivers/net/ethernet/alacritech/slicoss.c b/drivers/net/ethernet/alacritech/slicoss.c
> index 78231c852..65919ace0 100644
> --- a/drivers/net/ethernet/alacritech/slicoss.c
> +++ b/drivers/net/ethernet/alacritech/slicoss.c
> @@ -1051,11 +1051,9 @@ static int slic_load_rcvseq_firmware(struct slic_device *sdev)
>  	file = (sdev->model == SLIC_MODEL_OASIS) ?  SLIC_RCV_FIRMWARE_OASIS :
>  						    SLIC_RCV_FIRMWARE_MOJAVE;
>  	err = request_firmware(&fw, file, &sdev->pdev->dev);
> -	if (err) {
> -		dev_err(&sdev->pdev->dev,
> +	if (err)
> +		return dev_err_probe(&sdev->pdev->dev, err,
>  			"failed to load receive sequencer firmware %s\n", file);

Nice. dev_err_probe also handles some specific behavior for
-EPROBE_DEFER, which isn't being used here. That's fine since the custom
logic only triggers specifically on -EPROBE_DEFER. It also has custom
handling to avoid logging an error message on -ENOMEM. Neat.

Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>