
Hi,
On 3 August 2015 at 08:54, Marcel Ziswiler marcel@ziswiler.com wrote:
From: Marcel Ziswiler marcel.ziswiler@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@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