From: Krzysztof Halasa <khc@pm.waw.pl>
To: u-boot@lists.denx.de
Subject: [U-Boot] Net driver questions
Date: Mon, 02 Nov 2009 16:08:00 +0100 [thread overview]
Message-ID: <m3ws29ge27.fsf@intrepid.localdomain> (raw)
In-Reply-To: <200911012232.11058.vapier@gentoo.org> (Mike Frysinger's message of "Sun, 1 Nov 2009 23:32:10 -0400")
Mike Frysinger <vapier@gentoo.org> writes:
> it's on purpose because it makes the code simpler -- no need to maintain
> state. drivers have to be able to handle halt() irregardless of init(). i
> dont see this being a problem for anyone.
Ok. Sure, that's not a problem for me, I just noted the README doesn't
talk about this.
>> - dev->recv() seems to be called recursively, for example while doing
>> "dhcp" or "bootp" (ping is ok). dev->recv() in my driver calls
>> NetReceive(), which in turn (without returning to the caller, i.e.,
>> dev->recv(), first) reinitializes the driver on error (calls
>> dev->halt() and dev->init()). This makes a lot of mess in the driver,
>> should it stay this way? Perhaps we should queue the received packets
>> and process them on return from dev->recv()? Or maybe return all those
>> packets together?
>
> where exactly do you see that call path ? i dont see it anywhere ...
>
> NetReceive() may call eth_send(), but that only expands into
> dev->send()
Let's look... The code does NetSetHandler(TftpHandler).
I think NetReceive() calls (*packetHandler)() = TftpHandler and this one
may call NetStartAgain().
> the NetRxPackets[] are set up for you by default and are merely a convenience.
> you can use them or not, it doesnt really matter. after all, your driver is
> what calls NetReceive() and the first argument there is the buffer that you're
> receiving. none of the internal network code relies on these pointers.
I see. Thanks for your mail.
--
Krzysztof Halasa
next prev parent reply other threads:[~2009-11-02 15:08 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-01 23:07 [U-Boot] Net driver questions Krzysztof Halasa
2009-11-02 3:32 ` Mike Frysinger
2009-11-02 15:08 ` Krzysztof Halasa [this message]
2009-11-02 22:53 ` Mike Frysinger
2009-11-02 23:38 ` Krzysztof Halasa
2009-11-02 23:54 ` Mike Frysinger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m3ws29ge27.fsf@intrepid.localdomain \
--to=khc@pm.waw.pl \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.