<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/drivers/usb/gadget/ether.c, branch v2011.09</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<entry>
<title>USB-RNDIS: Send RNDIS state on disconnecting</title>
<updated>2011-02-19T19:32:38+00:00</updated>
<author>
<name>Vitaly Kuzmichev</name>
<email>vkuzmichev@mvista.com</email>
</author>
<published>2011-02-11T15:18:35+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=e4ae66608bbf8b7be9162e5933a98905dcf52d6b'/>
<id>e4ae66608bbf8b7be9162e5933a98905dcf52d6b</id>
<content type='text'>
Add waiting for receiving Ethernet gadget state on the Windows host
side before dropping pullup, but keep it for debug.

Signed-off-by: Vitaly Kuzmichev &lt;vkuzmichev@mvista.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add waiting for receiving Ethernet gadget state on the Windows host
side before dropping pullup, but keep it for debug.

Signed-off-by: Vitaly Kuzmichev &lt;vkuzmichev@mvista.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: Add USB RNDIS gadget protocol</title>
<updated>2011-02-19T19:32:37+00:00</updated>
<author>
<name>Vitaly Kuzmichev</name>
<email>vkuzmichev@mvista.com</email>
</author>
<published>2011-02-11T15:18:34+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=7612a43d0803ebd70071894658291300d4acc615'/>
<id>7612a43d0803ebd70071894658291300d4acc615</id>
<content type='text'>
Port USB gadget RNDIS protocol support from linux-2.6.26
(.27 gadget stack actually has composite drivers).

Signed-off-by: Vitaly Kuzmichev &lt;vkuzmichev@mvista.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Port USB gadget RNDIS protocol support from linux-2.6.26
(.27 gadget stack actually has composite drivers).

Signed-off-by: Vitaly Kuzmichev &lt;vkuzmichev@mvista.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB-CDC: Move struct declaration before its use</title>
<updated>2011-02-19T19:32:37+00:00</updated>
<author>
<name>Vitaly Kuzmichev</name>
<email>vkuzmichev@mvista.com</email>
</author>
<published>2011-02-11T15:18:33+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=8b6b66b427209b5b117487bfefba90e1587c2d5d'/>
<id>8b6b66b427209b5b117487bfefba90e1587c2d5d</id>
<content type='text'>
Signed-off-by: Vitaly Kuzmichev &lt;vkuzmichev@mvista.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Vitaly Kuzmichev &lt;vkuzmichev@mvista.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB-CDC: Port struct net_device_stats</title>
<updated>2011-02-19T19:32:37+00:00</updated>
<author>
<name>Vitaly Kuzmichev</name>
<email>vkuzmichev@mvista.com</email>
</author>
<published>2011-02-11T15:18:32+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=c85d70ef64ebe5c92811113108517eaacff47f7e'/>
<id>c85d70ef64ebe5c92811113108517eaacff47f7e</id>
<content type='text'>
Port struct net_device_stats and statistics collecting needed for
RNDIS protocol.

Signed-off-by: Vitaly Kuzmichev &lt;vkuzmichev@mvista.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Port struct net_device_stats and statistics collecting needed for
RNDIS protocol.

Signed-off-by: Vitaly Kuzmichev &lt;vkuzmichev@mvista.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB-CDC: handle interrupt after dropped pullup</title>
<updated>2011-02-19T19:32:36+00:00</updated>
<author>
<name>Vitaly Kuzmichev</name>
<email>vkuzmichev@mvista.com</email>
</author>
<published>2011-02-11T15:18:31+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=b3649f3bbfdb2686eceb40a629cef8d4d257f5fa'/>
<id>b3649f3bbfdb2686eceb40a629cef8d4d257f5fa</id>
<content type='text'>
Disconnecting USB gadget with pending interrupt may cause its wrong
handling in the next time when interface will be started again
(especially actual for RNDIS). This interrupt may force the gadget
to queue unexpected response before setup stage.
Despite the fact that such interrupt handled after dropped pullup
also may add pending response, this will not bring to any issues due to
usb_ep_disable (which clears the queue) called on gadget unregistering.

Signed-off-by: Vitaly Kuzmichev &lt;vkuzmichev@mvista.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Disconnecting USB gadget with pending interrupt may cause its wrong
handling in the next time when interface will be started again
(especially actual for RNDIS). This interrupt may force the gadget
to queue unexpected response before setup stage.
Despite the fact that such interrupt handled after dropped pullup
also may add pending response, this will not bring to any issues due to
usb_ep_disable (which clears the queue) called on gadget unregistering.

Signed-off-by: Vitaly Kuzmichev &lt;vkuzmichev@mvista.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB-CDC: Move MAC addresses setting into usb_eth_init</title>
<updated>2011-01-19T16:29:55+00:00</updated>
<author>
<name>Vitaly Kuzmichev</name>
<email>vkuzmichev@mvista.com</email>
</author>
<published>2010-12-28T13:59:32+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=58939fcc5cbda504cee943bca50c3993597710e9'/>
<id>58939fcc5cbda504cee943bca50c3993597710e9</id>
<content type='text'>
This allows to change device and host MAC addresses without performing
reset.

Signed-off-by: Vitaly Kuzmichev &lt;vkuzmichev@mvista.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows to change device and host MAC addresses without performing
reset.

Signed-off-by: Vitaly Kuzmichev &lt;vkuzmichev@mvista.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB-CDC: Do not rename netdev after its registration</title>
<updated>2011-01-19T16:29:55+00:00</updated>
<author>
<name>Vitaly Kuzmichev</name>
<email>vkuzmichev@mvista.com</email>
</author>
<published>2010-12-28T13:59:31+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=8f7aa831c36feb08c5af790d88083afa6f945de2'/>
<id>8f7aa831c36feb08c5af790d88083afa6f945de2</id>
<content type='text'>
Calling eth_bind at usb_eth_init time causes renaming of the network
device from 'usb_ether' to 'usb0'. Fixing this to keep the first name.

Signed-off-by: Vitaly Kuzmichev &lt;vkuzmichev@mvista.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Calling eth_bind at usb_eth_init time causes renaming of the network
device from 'usb_ether' to 'usb0'. Fixing this to keep the first name.

Signed-off-by: Vitaly Kuzmichev &lt;vkuzmichev@mvista.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>usb_ether: register usb ethernet gadget at each eth init</title>
<updated>2011-01-19T16:29:55+00:00</updated>
<author>
<name>Lei Wen</name>
<email>leiwen@marvell.com</email>
</author>
<published>2010-12-01T15:43:43+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=988ee3e3f024f4565f98584b9026df73c459c268'/>
<id>988ee3e3f024f4565f98584b9026df73c459c268</id>
<content type='text'>
Since the ether may not be the only one usb gadget would be used
in the uboot, it is neccessary to do the register each time the
eth begin to work to make usb gadget driver less confussed when
we want to use two different usb gadget at the same time.

Usb gadget driver could simple ignore the register operation, if
it find the driver has been registered already.

Signed-off-by: Lei Wen &lt;leiwen@marvell.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since the ether may not be the only one usb gadget would be used
in the uboot, it is neccessary to do the register each time the
eth begin to work to make usb gadget driver less confussed when
we want to use two different usb gadget at the same time.

Usb gadget driver could simple ignore the register operation, if
it find the driver has been registered already.

Signed-off-by: Lei Wen &lt;leiwen@marvell.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Coding Style cleanup</title>
<updated>2010-10-27T20:48:30+00:00</updated>
<author>
<name>Wolfgang Denk</name>
<email>wd@denx.de</email>
</author>
<published>2010-10-27T20:48:30+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=071bc923308832bbc541a887fece767d79a6dc7a'/>
<id>071bc923308832bbc541a887fece767d79a6dc7a</id>
<content type='text'>
Signed-off-by: Wolfgang Denk &lt;wd@denx.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Wolfgang Denk &lt;wd@denx.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB-CDC: Prevent rx_req being enqueued twice</title>
<updated>2010-10-13T10:07:58+00:00</updated>
<author>
<name>Vitaly Kuzmichev</name>
<email>vkuzmichev@mvista.com</email>
</author>
<published>2010-09-22T09:13:56+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=98fae9707fd83a61ec29d9c42c15267a735f9b71'/>
<id>98fae9707fd83a61ec29d9c42c15267a735f9b71</id>
<content type='text'>
After gadget reinitializaton (after tftp has been done once)
packet_received may become equal to 1 due to nuking OUT_EP
while disabling it in eth_reset_config.

rx_submit called from usb_eth_init queues rx_req first time.
But the first call of usb_eth_recv from NetLoop queues rx_req
again due to packet_received = 1.

The following flow shows the path of functions calls when
this happens:

 net/net.c:NetLoop
 |
 +-net/eth.c:eth_init
 |   ether.c:usb_eth_init
 |   |
 |   +-udc_driver:usb_gadget_handle_interrupts
 |   |   udc_driver:...
 |   |     ether.c:eth_setup
 |   |       ether.c:eth_set_config
 |   |         ether.c:eth_reset_config
 |   |           udc_driver:usb_ep_disable
 |   |             udc_driver:nuke
 |   |               ether.c:rx_complete
 |   |                 ether.c: packet_received = 1;
 |   |
 |   +-ether.c:rx_submit
 |       udc_driver:usb_ep_queue --- The first time when rx_req is queued
 |
 +-net/eth.c:eth_rx
     ether.c:usb_eth_recv
     |
     +-udc_driver:usb_gadget_handle_interrupts
     |   udc_driver:... --- no interrupts, returning
     +-ether.c: if (packet_received) { ...
         ether.c:rx_submit
           udc_driver:usb_ep_queue --- The second time!

Signed-off-by: Vitaly Kuzmichev &lt;vkuzmichev@mvista.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After gadget reinitializaton (after tftp has been done once)
packet_received may become equal to 1 due to nuking OUT_EP
while disabling it in eth_reset_config.

rx_submit called from usb_eth_init queues rx_req first time.
But the first call of usb_eth_recv from NetLoop queues rx_req
again due to packet_received = 1.

The following flow shows the path of functions calls when
this happens:

 net/net.c:NetLoop
 |
 +-net/eth.c:eth_init
 |   ether.c:usb_eth_init
 |   |
 |   +-udc_driver:usb_gadget_handle_interrupts
 |   |   udc_driver:...
 |   |     ether.c:eth_setup
 |   |       ether.c:eth_set_config
 |   |         ether.c:eth_reset_config
 |   |           udc_driver:usb_ep_disable
 |   |             udc_driver:nuke
 |   |               ether.c:rx_complete
 |   |                 ether.c: packet_received = 1;
 |   |
 |   +-ether.c:rx_submit
 |       udc_driver:usb_ep_queue --- The first time when rx_req is queued
 |
 +-net/eth.c:eth_rx
     ether.c:usb_eth_recv
     |
     +-udc_driver:usb_gadget_handle_interrupts
     |   udc_driver:... --- no interrupts, returning
     +-ether.c: if (packet_received) { ...
         ether.c:rx_submit
           udc_driver:usb_ep_queue --- The second time!

Signed-off-by: Vitaly Kuzmichev &lt;vkuzmichev@mvista.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
