On 17.5.2016 21:09, Stephen Warren wrote: > On 05/17/2016 12:00 PM, Michal Simek wrote: >> On 17.5.2016 19:36, Stephen Warren wrote: >>> On 05/17/2016 11:03 AM, Michal Simek wrote: >>>> On 17.5.2016 19:00, Stephen Warren wrote: >>>>> On 05/17/2016 10:56 AM, Michal Simek wrote: >>>>>> Hi Stephen, >>>>>> >>>>>> On 17.5.2016 18:50, Stephen Warren wrote: >>>>>>> On 05/17/2016 07:57 AM, Michal Simek wrote: >>>>>>>> If timeout happen it should be reported as fault. >>>>>>> >>>>>>> Presumably if a timeout occurs, the expected text does not appear, >>>>>>> i.e. >>>>>>> the existing assert fails anyway? >>>>>>> >>>>>>> Anyway, it's useful to point out problems explicitly, so, >>>>>>> Acked-by: Stephen Warren <[email protected]> >>>>>> >>>>>> Unfortunately I found this issue when I was checking logs where I am >>>>>> getting this. >>>>>> >>>>>> ethernet@e000b000 Waiting for PHY auto negotiation to >>>>>> complete......... >>>>>> TIMEOUT ! >>>>>> BOOTP broadcast 1 >>>>>> BOOTP broadcast 2 >>>>>> BOOTP broadcast 3 >>>>>> DHCP client bound to address 192.168.0.107 (882 ms) >>>>>> Zynq> .Zynq> setenv serverip 192.168.0.105 >>>>>> >>>>>> I haven't looked at the exact reason why it is failing but IMHO it is >>>>>> worth to check. >>>>> >>>>> Oh, in that case I think I should withdraw my ack; in the log >>>>> above, the >>>>> operation completed successfully, so I'm not convinced the test should >>>>> be marked a failure. I thought this change simply provided more detail >>>>> re: the cause of a test failure. >>>> >>>> Is there any other way how to run just phy negotiation and mark this >>>> test as fail? >>> >>> I don't see anything obvious that will do that; I think that only >>> happens when net_loop starts. It might be possible to add some new >>> command to test just PHY startup, or a new mode for net_loop() that just >>> waited for link up and did no protocol work. >> >> ok. It means you are saying that this is bug and we are not able to test >> it by single test. That's why I think this should be report as a bug >> when this is happening just to hands up there is a problem. >> >> Not sure if there is any way to report is as a warning instead of bug >> that test case will pass with warning. > > At least my only-marginally-old version of pytest (2.5.1) doesn't appear > to have any concept of warnings. Some quite new versions of pytest do, > although I'm not sure how they're reported. Integrating some form of > warning system into the tests could be useful though.
ok. > > I wonder if the correct fix for this issue isn't to make the PHY code > actively return an error whenever there is a TIMEOUT raised, rather than > presumably ignoring it as it does now (since the network code goes on to > actually work correctly)? I will send some patches to fix this problem that transfers not start when TIMEOUT happens. All these boards should be fixed to return error codes properly. drivers/net/cpsw.c:612: phy_startup(phy); drivers/net/keystone_net.c:581: phy_startup(phy_dev); drivers/net/keystone_net.c:768: phy_startup(priv->phydev); drivers/net/lpc32xx_eth.c:605: phy_startup(phydev); drivers/net/mvgbe.c:697: phy_startup(phydev); drivers/net/mvneta.c:1478: phy_startup(phydev); drivers/net/mvpp2.c:3384: phy_startup(phy_dev); drivers/net/pic32_eth.c:343: phy_startup(priv->phydev); But again if we have visible errors and code is not handling it properly I do agree that code should be fixed first but still testing should be able to capture this problem for others to avoid that this problem happens again. Thanks, Michal _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

