mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-10 15:58:47 +00:00
net: qcom/emac: fix return value check in emac_sgmii_config()
In case of error, the function ioremap() returns NULL pointer not ERR_PTR(). The IS_ERR() test in the return value check should be replaced with NULL test. Also add check for return value of platform_get_resource(). Fixes: 54e19bc74f33 ("net: qcom/emac: do not use devm on internal phy pdev") Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Acked-by: Timur Tabi <timur@codeaurora.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
b6a7920848
commit
0fd7d43fbc
@ -740,9 +740,14 @@ int emac_sgmii_config(struct platform_device *pdev, struct emac_adapter *adpt)
|
||||
|
||||
/* Base address is the first address */
|
||||
res = platform_get_resource(sgmii_pdev, IORESOURCE_MEM, 0);
|
||||
if (!res) {
|
||||
ret = -EINVAL;
|
||||
goto error_put_device;
|
||||
}
|
||||
|
||||
phy->base = ioremap(res->start, resource_size(res));
|
||||
if (IS_ERR(phy->base)) {
|
||||
ret = PTR_ERR(phy->base);
|
||||
if (!phy->base) {
|
||||
ret = -ENOMEM;
|
||||
goto error_put_device;
|
||||
}
|
||||
|
||||
@ -750,8 +755,8 @@ int emac_sgmii_config(struct platform_device *pdev, struct emac_adapter *adpt)
|
||||
res = platform_get_resource(sgmii_pdev, IORESOURCE_MEM, 1);
|
||||
if (res) {
|
||||
phy->digital = ioremap(res->start, resource_size(res));
|
||||
if (IS_ERR(phy->digital)) {
|
||||
ret = PTR_ERR(phy->digital);
|
||||
if (!phy->digital) {
|
||||
ret = -ENOMEM;
|
||||
goto error_unmap_base;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user