[U-Boot] [PATCH] dm: usb: fix USB Ethernet without CONFIG_DM_ETH regression
Simon Glass
sjg at chromium.org
Wed Aug 5 05:53:44 CEST 2015
Hi,
On 3 August 2015 at 08:54, Marcel Ziswiler <marcel at ziswiler.com> wrote:
> From: Marcel Ziswiler <marcel.ziswiler at toradex.com>
>
> The following commit enforces CONFIG_DM_ETH for USB Ethernet which
> breaks any board using CONFIG_USB_HOST_ETHER without CONFIG_DM which
> this patch fixes.
I think this commit message might need a few tweaks. This is not a
regression as mentioned elsewhere. Also I don't thing it means
CONFIG_DM here. Maybe CONFIG_DM_USB?
>
> commit 69559093f6173dcfcb041df0995063bdbd07d49b
> dm: usb: Avoid using USB ethernet with CONFIG_DM_USB and no DM_ETH
>
> Tested on Colibri T20/T30 as well as Apalis T30 with
> CONFIG_USB_HOST_ETHER and CONFIG_USB_ETHER_ASIX enabled and a LevelOne
> USB-0301 ASIX AX88772 dongle.
>
There was a report that this does in fact not work ("CONFIG_DM_ETH
USB_ETHER_ASIX Reception Issue on Tegra"). does this patch fix that
problem? I'm not sure how but the above suggests that it does.
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler at toradex.com>
> ---
> Note: Enabling CONFIG_DM_ETH (which BTW does not even compile without
> adding some more errno.h includes to asix.c and usb_ether.c) doesn't
> quite work neither due to reception issues which I will report in
> separate emails/patches.
>
> common/cmd_usb.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/common/cmd_usb.c b/common/cmd_usb.c
> index 0ade775..6874af7 100644
> --- a/common/cmd_usb.c
> +++ b/common/cmd_usb.c
> @@ -530,13 +530,16 @@ static void do_usb_start(void)
> /* try to recognize storage devices immediately */
> usb_stor_curr_dev = usb_stor_scan(1);
> #endif
> +#endif
> #ifdef CONFIG_USB_HOST_ETHER
> # ifdef CONFIG_DM_ETH
> -# error "You must use CONFIG_DM_USB if you want to use CONFIG_USB_HOST_ETHER with CONFIG_DM_ETH"
> -# endif
> +# ifndef CONFIG_DM_USB
> +# error "You must use CONFIG_DM_USB if you want to use CONFIG_USB_HOST_ETHER with CONFIG_DM_ETH"
> +# endif
> +# else
> /* try to recognize ethernet devices immediately */
> usb_ether_curr_dev = usb_host_eth_scan(1);
> -#endif
> +# endif
> #endif
> #ifdef CONFIG_USB_KEYBOARD
> drv_usb_kbd_init();
> --
> 2.4.3
>
The logic here was really ugly (sorry!). However even so I'm
struggling to understand what this patch actually changes. It seems
that the #error is activated:
#if !CONFIG_DM_USB
&& CONFIG_USB_HOST_ETHER
&& CONFIG_DM_ETH
which looks the same as before.
So overall I'm a bit confused. Hoping we can figure this out soon. The
patches to enable driver model USB Ethernet and Asix were applied a
few weeks ago and there may well still be problems. As I mentioned I
did not test this on Tegra hardware unfortuantely.
Regards,
Simon
More information about the U-Boot
mailing list