diff mbox

[U-Boot,v2] dm: usb: fix USB Ethernet without CONFIG_DM_ETH regression

Message ID cbc4058a57d6a7d0b16e2cd3e7b48af724b05b59.1438785774.git.marcel.ziswiler@toradex.com
State Accepted
Delegated to: Simon Glass
Headers show

Commit Message

Marcel Ziswiler Aug. 5, 2015, 2:58 p.m. UTC
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_ETH
which this patch fixes.

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.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
---
Changes in v2: Fix commit message as pointed out by Simon.

 common/cmd_usb.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

Comments

Marek Vasut Aug. 5, 2015, 3:19 p.m. UTC | #1
On Wednesday, August 05, 2015 at 04:58:17 PM, Marcel Ziswiler 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_ETH
> which this patch fixes.
> 
> 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.
> 
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> ---
> Changes in v2: Fix commit message as pointed out by Simon.
> 
>  common/cmd_usb.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)

Dumb question -- won't it make more sense to add USB_HOST_ETHER Kconfig
option and make it depend on CONFIG_DM_USB ?

Best regards,
Marek Vasut
Marcel Ziswiler Aug. 5, 2015, 3:25 p.m. UTC | #2
On Wed, 2015-08-05 at 17:19 +0200, Marek Vasut wrote:

> Dumb question -- won't it make more sense to add USB_HOST_ETHER
> Kconfig
> option and make it depend on CONFIG_DM_USB ?

I don't think it depends on this. As I understand currently one would
be able to run a) USB_HOST_ETHER either without DM_USB at all, b) with
just DM_USB (e.g. as currently the case on Colibri T20/T30) or c) later
even with DM_ETH which then might depend on DM_USB as well.
Simon Glass Aug. 5, 2015, 3:29 p.m. UTC | #3
Hi Marcel,

On 5 August 2015 at 08:58, 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_ETH
> which this patch fixes.
>
> 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.
>
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> ---
> Changes in v2: Fix commit message as pointed out by Simon.
>
>  common/cmd_usb.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)

Acked-by: Simon Glass <sjg@chromium.org>

What do you think about changing Tegra over to CONFIG_DM_ETH? Do you
have any leads on the problem you found?

>
> 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
>

Regards,
Simon
Marcel Ziswiler Aug. 5, 2015, 3:45 p.m. UTC | #4
On Wed, 2015-08-05 at 09:29 -0600, Simon Glass wrote:

> Acked-by: Simon Glass <sjg@chromium.org>
> 
> What do you think about changing Tegra over to CONFIG_DM_ETH? 

Sure, once it actually works (;-p).

Right now I would just be happy if it works at all again (e.g. reason
for this patch).

> Do you
> have any leads on the problem you found?

No, not yet. Sorry, too many other cans of worms currently (e.g.
chasing why upon watchdog reset on T20 one gets stuck in the SPL
unfortunately no mainline watchdog driver for T20 yet so using
downstream L4T kernel).
Marek Vasut Aug. 5, 2015, 3:55 p.m. UTC | #5
On Wednesday, August 05, 2015 at 05:25:35 PM, Marcel Ziswiler wrote:
> On Wed, 2015-08-05 at 17:19 +0200, Marek Vasut wrote:
> > Dumb question -- won't it make more sense to add USB_HOST_ETHER
> > Kconfig
> > option and make it depend on CONFIG_DM_USB ?
> 
> I don't think it depends on this. As I understand currently one would
> be able to run a) USB_HOST_ETHER either without DM_USB at all, b) with
> just DM_USB (e.g. as currently the case on Colibri T20/T30) or c) later
> even with DM_ETH which then might depend on DM_USB as well.

OK, I see, makes sense. Thanks for clarifying this chaos :)

Best regards,
Marek Vasut
Simon Glass Aug. 9, 2015, 3:06 p.m. UTC | #6
Hi,
On 5 August 2015 at 09:29, Simon Glass <sjg@chromium.org> wrote:
> Hi Marcel,
>
> On 5 August 2015 at 08:58, 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_ETH
>> which this patch fixes.
>>
>> 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.
>>
>> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>> ---
>> Changes in v2: Fix commit message as pointed out by Simon.
>>
>>  common/cmd_usb.c | 9 ++++++---
>>  1 file changed, 6 insertions(+), 3 deletions(-)
>
> Acked-by: Simon Glass <sjg@chromium.org>

Applied to u-boot-dm, thanks!

It turns out I dropped missed applying a patch:

http://patchwork.ozlabs.org/patch/492686/

Thanks for fixing this.

Regards,
Simon
diff mbox

Patch

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();