diff mbox series

[U-Boot,v1,19/19] net: mvneta: Fix fault when wrong device tree

Message ID 20180307215216.10418-20-marek.behun@nic.cz
State Superseded
Delegated to: Stefan Roese
Headers show
Series More support for Armada 37xx boards | expand

Commit Message

Marek Behún March 7, 2018, 9:52 p.m. UTC
The driver does not check id phy_connect failed (for example on wrong
property name in device tree). In such a case a fault occurs and the
CPU is restarted.

Signed-off-by: Marek Behun <marek.behun@nic.cz>
---
 drivers/net/mvneta.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Stefan Roese March 21, 2018, 9:42 a.m. UTC | #1
On 07.03.2018 22:52, Marek Behún wrote:
> The driver does not check id phy_connect failed (for example on wrong
> property name in device tree). In such a case a fault occurs and the
> CPU is restarted.
> 
> Signed-off-by: Marek Behun <marek.behun@nic.cz>
> ---
>   drivers/net/mvneta.c | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/net/mvneta.c b/drivers/net/mvneta.c
> index 83e3153768..7403ccbd3c 100644
> --- a/drivers/net/mvneta.c
> +++ b/drivers/net/mvneta.c
> @@ -1554,6 +1554,10 @@ static int mvneta_start(struct udevice *dev)
>   
>   			phydev = phy_connect(pp->bus, pp->phyaddr, dev,
>   					     pp->phy_interface);
> +			if (!phydev) {
> +				printf("phy_connect failed\n");
> +				return -1;
> +			}

Yes. But please add a more meaningful error number here, like -ENODEV.

Other that this:

Reviewed-by: Stefan Roese <sr@denx.de>

Thanks,
Stefan
Stefan Roese March 21, 2018, 9:44 a.m. UTC | #2
On 21.03.2018 10:42, Stefan Roese wrote:
> On 07.03.2018 22:52, Marek Behún wrote:
>> The driver does not check id phy_connect failed (for example on wrong
>> property name in device tree). In such a case a fault occurs and the
>> CPU is restarted.
>>
>> Signed-off-by: Marek Behun <marek.behun@nic.cz>
>> ---
>>   drivers/net/mvneta.c | 4 ++++
>>   1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/net/mvneta.c b/drivers/net/mvneta.c
>> index 83e3153768..7403ccbd3c 100644
>> --- a/drivers/net/mvneta.c
>> +++ b/drivers/net/mvneta.c
>> @@ -1554,6 +1554,10 @@ static int mvneta_start(struct udevice *dev)
>>               phydev = phy_connect(pp->bus, pp->phyaddr, dev,
>>                            pp->phy_interface);
>> +            if (!phydev) {
>> +                printf("phy_connect failed\n");
>> +                return -1;
>> +            }
> 
> Yes. But please add a more meaningful error number here, like -ENODEV.
> 
> Other that this:
> 
> Reviewed-by: Stefan Roese <sr@denx.de>

And please add Joe Hershberger on network related patches.

Thanks,
Stefan
Joe Hershberger March 21, 2018, 7:21 p.m. UTC | #3
On Wed, Mar 21, 2018 at 4:44 AM, Stefan Roese <sr@denx.de> wrote:
> On 21.03.2018 10:42, Stefan Roese wrote:
>>
>> On 07.03.2018 22:52, Marek Behún wrote:
>>>
>>> The driver does not check id phy_connect failed (for example on wrong
>>> property name in device tree). In such a case a fault occurs and the
>>> CPU is restarted.
>>>
>>> Signed-off-by: Marek Behun <marek.behun@nic.cz>
>>> ---
>>>   drivers/net/mvneta.c | 4 ++++
>>>   1 file changed, 4 insertions(+)
>>>
>>> diff --git a/drivers/net/mvneta.c b/drivers/net/mvneta.c
>>> index 83e3153768..7403ccbd3c 100644
>>> --- a/drivers/net/mvneta.c
>>> +++ b/drivers/net/mvneta.c
>>> @@ -1554,6 +1554,10 @@ static int mvneta_start(struct udevice *dev)
>>>               phydev = phy_connect(pp->bus, pp->phyaddr, dev,
>>>                            pp->phy_interface);
>>> +            if (!phydev) {
>>> +                printf("phy_connect failed\n");
>>> +                return -1;
>>> +            }
>>
>>
>> Yes. But please add a more meaningful error number here, like -ENODEV.
>>
>> Other that this:
>>
>> Reviewed-by: Stefan Roese <sr@denx.de>
>
>
> And please add Joe Hershberger on network related patches.

Thanks,Stefan.
diff mbox series

Patch

diff --git a/drivers/net/mvneta.c b/drivers/net/mvneta.c
index 83e3153768..7403ccbd3c 100644
--- a/drivers/net/mvneta.c
+++ b/drivers/net/mvneta.c
@@ -1554,6 +1554,10 @@  static int mvneta_start(struct udevice *dev)
 
 			phydev = phy_connect(pp->bus, pp->phyaddr, dev,
 					     pp->phy_interface);
+			if (!phydev) {
+				printf("phy_connect failed\n");
+				return -1;
+			}
 
 			pp->phydev = phydev;
 			phy_config(phydev);