Skip to content

Commit 7821154

Browse files
Chen Nikuba-moo
authored andcommitted
net: ethernet: adi: adin1110: Check return value of devm_gpiod_get_optional() in adin1110_check_spi()
The devm_gpiod_get_optional() function may return an ERR_PTR in case of genuine GPIO acquisition errors, not just NULL which indicates the legitimate absence of an optional GPIO. Add an IS_ERR() check after the call in adin1110_check_spi(). On error, return the error code to ensure proper failure handling rather than proceeding with invalid pointers. Fixes: 36934ca ("net: ethernet: adi: adin1110: add reset GPIO") Signed-off-by: Chen Ni <[email protected]> Reviewed-by: Nuno Sá <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent 3125fc1 commit 7821154

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

drivers/net/ethernet/adi/adin1110.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1089,6 +1089,9 @@ static int adin1110_check_spi(struct adin1110_priv *priv)
10891089

10901090
reset_gpio = devm_gpiod_get_optional(&priv->spidev->dev, "reset",
10911091
GPIOD_OUT_LOW);
1092+
if (IS_ERR(reset_gpio))
1093+
return dev_err_probe(&priv->spidev->dev, PTR_ERR(reset_gpio),
1094+
"failed to get reset gpio\n");
10921095
if (reset_gpio) {
10931096
/* MISO pin is used for internal configuration, can't have
10941097
* anyone else disturbing the SDO line.

0 commit comments

Comments
 (0)