| From 476415cbb00c493d53c59219d626f289a7cf3382 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 8 Mar 2021 09:48:41 +0000 |
| Subject: usb: typec: tps6598x: Fix return value check in tps6598x_probe() |
| |
| From: Wei Yongjun <weiyongjun1@huawei.com> |
| |
| [ Upstream commit 604c75893a01c8a3b5bd6dac55535963cd44c3f5 ] |
| |
| In case of error, the function device_get_named_child_node() returns |
| NULL pointer not ERR_PTR(). The IS_ERR() test in the return value check |
| should be replaced with NULL test. |
| |
| Fixes: 18a6c866bb19 ("usb: typec: tps6598x: Add USB role switching logic") |
| Reported-by: Hulk Robot <hulkci@huawei.com> |
| Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> |
| Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> |
| Link: https://lore.kernel.org/r/20210308094841.3587751-1-weiyongjun1@huawei.com |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/usb/typec/tps6598x.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| diff --git a/drivers/usb/typec/tps6598x.c b/drivers/usb/typec/tps6598x.c |
| index 29bd1c5a283c..4038104568f5 100644 |
| --- a/drivers/usb/typec/tps6598x.c |
| +++ b/drivers/usb/typec/tps6598x.c |
| @@ -614,8 +614,8 @@ static int tps6598x_probe(struct i2c_client *client) |
| return ret; |
| |
| fwnode = device_get_named_child_node(&client->dev, "connector"); |
| - if (IS_ERR(fwnode)) |
| - return PTR_ERR(fwnode); |
| + if (!fwnode) |
| + return -ENODEV; |
| |
| tps->role_sw = fwnode_usb_role_switch_get(fwnode); |
| if (IS_ERR(tps->role_sw)) { |
| -- |
| 2.30.2 |
| |