<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/sys/modules/usb, branch release/5.2.1_cvs</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F5.2.1_cvs</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F5.2.1_cvs'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2004-02-23T15:32:56Z</updated>
<entry>
<title>This commit was manufactured by cvs2svn to create tag</title>
<updated>2004-02-23T15:32:56Z</updated>
<author>
<name>cvs2svn</name>
<email>cvs2svn@FreeBSD.org</email>
</author>
<published>2004-02-23T15:32:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=84a7b99b4e02a260bf7ff9b540032f4cb7bc612a'/>
<id>urn:sha1:84a7b99b4e02a260bf7ff9b540032f4cb7bc612a</id>
<content type='text'>
'RELENG_5_2_1_RELEASE'.

This commit was manufactured to restore the state of the 5.2.1-RELEASE image.
Releases prior to 5.3-RELEASE are omitting the secure/ and crypto/ subdirs.
</content>
</entry>
<entry>
<title>make usb bus_dma aware.</title>
<updated>2003-07-15T22:42:37Z</updated>
<author>
<name>John-Mark Gurney</name>
<email>jmg@FreeBSD.org</email>
</author>
<published>2003-07-15T22:42:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=45dd937507e52d43331da591a1b2878f59372890'/>
<id>urn:sha1:45dd937507e52d43331da591a1b2878f59372890</id>
<content type='text'>
Reviewed by:	joe among others
</content>
</entry>
<entry>
<title>add EHCI (USB 2.0) controller support.</title>
<updated>2003-04-14T14:04:08Z</updated>
<author>
<name>Bernd Walter</name>
<email>ticso@FreeBSD.org</email>
</author>
<published>2003-04-14T14:04:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=ca3acad1d7f276fd775ed389a3961bb8bc2dfbfb'/>
<id>urn:sha1:ca3acad1d7f276fd775ed389a3961bb8bc2dfbfb</id>
<content type='text'>
Approved by:	joe
		gallatin (mentor)
Obtained from:  NetBSD
</content>
</entry>
<entry>
<title>Drop &lt;bsd.man.mk&gt; support from &lt;bsd.kmod.mk&gt;.</title>
<updated>2002-01-11T15:49:02Z</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@FreeBSD.org</email>
</author>
<published>2002-01-11T15:49:02Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=17d6c636720d00f77e5d098daf4c278f89d84f7b'/>
<id>urn:sha1:17d6c636720d00f77e5d098daf4c278f89d84f7b</id>
<content type='text'>
Not objected to by:	-current
</content>
</entry>
<entry>
<title>Use a consistent style and one much closer to the rest of /usr/src</title>
<updated>2001-01-06T14:00:42Z</updated>
<author>
<name>David E. O'Brien</name>
<email>obrien@FreeBSD.org</email>
</author>
<published>2001-01-06T14:00:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=c68159a6d8eede11766cf13896d0f7670dbd51aa'/>
<id>urn:sha1:c68159a6d8eede11766cf13896d0f7670dbd51aa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use .include &lt;bsd.kmod.mk&gt; to get to ../../*/conf/kmod.mk instead of</title>
<updated>2000-05-27T01:14:33Z</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>2000-05-27T01:14:33Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=64db83a8ab2d1f72a9b2174b39d2ef42b5b0580c'/>
<id>urn:sha1:64db83a8ab2d1f72a9b2174b39d2ef42b5b0580c</id>
<content type='text'>
encoding the relative path.
</content>
</entry>
<entry>
<title>Pull in sys/conf/kmod.mk, rather than /usr/share/mk/bsd.kmod.mk.</title>
<updated>2000-05-04T12:08:52Z</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>2000-05-04T12:08:52Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=56ca39961bd1c9946a505c41c3fc634ef63fdd42'/>
<id>urn:sha1:56ca39961bd1c9946a505c41c3fc634ef63fdd42</id>
<content type='text'>
This means that the kernel can be totally self contained now and is not
dependent on the last buildworld to update /usr/share/mk.  This might
also make it easier to build 5.x kernels on 4.0 boxes etc, assuming
gensetdefs and config(8) are updated.
</content>
</entry>
<entry>
<title>Add ${DEBUG_FLAGS} to CFLAGS in bsd.kmod.mk, not in scattered module</title>
<updated>2000-01-28T11:26:46Z</updated>
<author>
<name>Bruce Evans</name>
<email>bde@FreeBSD.org</email>
</author>
<published>2000-01-28T11:26:46Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=9e4be63dd6e312fe0e864d23e9636f43cc869541'/>
<id>urn:sha1:9e4be63dd6e312fe0e864d23e9636f43cc869541</id>
<content type='text'>
makefiles.  Bad examples in fxp/Makefile keep getting copied to new
makefiles.
</content>
</entry>
<entry>
<title>Get rid of some debugging cruft.</title>
<updated>2000-01-23T13:56:58Z</updated>
<author>
<name>Nick Hibma</name>
<email>n_hibma@FreeBSD.org</email>
</author>
<published>2000-01-23T13:56:58Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=0c4407576d8ec15f3caa6c0eda2ed3ff84d3bd37'/>
<id>urn:sha1:0c4407576d8ec15f3caa6c0eda2ed3ff84d3bd37</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Attempt to fix a problem with receiving packets on USB ethernet interfaces.</title>
<updated>2000-01-10T23:12:54Z</updated>
<author>
<name>Bill Paul</name>
<email>wpaul@FreeBSD.org</email>
</author>
<published>2000-01-10T23:12:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=a0067d7b89525cd8ed446d5e5c157514d043f74a'/>
<id>urn:sha1:a0067d7b89525cd8ed446d5e5c157514d043f74a</id>
<content type='text'>
Packets are received inside USB bulk transfer callbacks, which run at
splusb() (actually splbio()). The packet input queues are meant to be
manipulated at splimp(). However the locking apparently breaks down under
certain circumstances and the input queues can get trampled.

There's a similar problem with if_ppp, which is driven by hardware/tty
interrupts from the serial driver, but which must also manipulate the
packet input queues at splimp(). The fix there is to use a netisr, and
that's the fix I used here. (I can hear you groaning back there. Hush up.)

The usb_ethersubr module maintains a single queue of its own. When a
packet is received in the USB callback routine, it's placed on this
queue with usb_ether_input(). This routine also schedules a soft net
interrupt with schednetisr(). The ISR routine then runs later, at
splnet, outside of the USB callback/interrupt context, and passes the
packet to ether_input(), hopefully in a safe manner.

The reason this is implemented as a separate module is that there are
a limited number of NETISRs that we can use, and snarfing one up for
each driver that needs it is wasteful (there will be three once I get
the CATC driver done). It also reduces code duplication to a certain
small extent. Unfortunately, it also needs to be linked in with the
usb.ko module in order for the USB ethernet drivers to share it.

Also removed some uneeded includes from if_aue.c and if_kue.c

Fix suggested by: peter
Not rejected as a hairbrained idea by: n_hibma
</content>
</entry>
</feed>
