cvs commit: src/sys/bus/usb usb_ethersubr.c usb_ethersubr.h src/sys/dev/netif/aue if_aue.c src/sys/dev/netif/axe if_axe.c src/sys/dev/netif/cue if_cue.c src/sys/dev/netif/kue if_kue.c
Joerg Sonnenberger
joerg at crater.dragonflybsd.org
Wed Feb 16 14:51:00 PST 2005
joerg 2005/02/16 14:50:28 PST
DragonFly src repository
Modified files:
sys/bus/usb usb_ethersubr.c usb_ethersubr.h
sys/dev/netif/aue if_aue.c
sys/dev/netif/axe if_axe.c
sys/dev/netif/cue if_cue.c
sys/dev/netif/kue if_kue.c
Log:
The old USB ethernet code utilized a netisr to hand packets over
the ether_input and cleanup after txeof. This was broken some
time ago and is a workaround for the different IPL of USB and
the network stack.
Reduce the amount of hacks by removing usb_tx_done, it can be
done mostly in-place with a slight race-condition in the enqueue
code. usb_ether_input now directly calls ether_input, the caller
is responsible for rearming the receiver. That's doesn't open
a race since the receiver doesn't have to handle the interface
queues, for the driver state is the driver responsible.
The IPL protection of the USB ethernet drivers has to be reviewed,
it's mostly not existing.
Revision Changes Path
1.12 +9 -42 src/sys/bus/usb/usb_ethersubr.c
1.5 +0 -1 src/sys/bus/usb/usb_ethersubr.h
1.17 +6 -8 src/sys/dev/netif/aue/if_aue.c
1.9 +6 -8 src/sys/dev/netif/axe/if_axe.c
1.17 +7 -8 src/sys/dev/netif/cue/if_cue.c
1.14 +13 -12 src/sys/dev/netif/kue/if_kue.c
http://www.dragonflybsd.org/cvsweb/src/sys/bus/usb/usb_ethersubr.c.diff?r1=1.11&r2=1.12&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/usb/usb_ethersubr.h.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/netif/aue/if_aue.c.diff?r1=1.16&r2=1.17&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/netif/axe/if_axe.c.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/netif/cue/if_cue.c.diff?r1=1.16&r2=1.17&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/netif/kue/if_kue.c.diff?r1=1.13&r2=1.14&f=u
More information about the Commits
mailing list