History log of /src/sys/dev/usb/if_axen.c |
Revision | | Date | Author | Comments |
1.96 |
| 19-Dec-2023 |
skrll | Use un_flags as pointed out by mrg@ thanks.
|
1.95 |
| 19-Dec-2023 |
skrll | Add support for AX88179A. From sc.dying on current-users.
|
1.94 |
| 20-Aug-2022 |
riastradh | branches: 1.94.4; usbnet(9): New usbnet_ispromisc(un).
Replaces ifp->if_flags & IFF_PROMISC in multicast filter updates.
|
1.93 |
| 03-Mar-2022 |
riastradh | usbnet: Omit needless detachcv name parameter to usbnet_attach.
|
1.92 |
| 03-Mar-2022 |
riastradh | usbnet: Factor usbnet_init_rx_tx out into usbnet_if_init.
Make it private; no need for drivers to call it any more.
|
1.91 |
| 03-Mar-2022 |
riastradh | usbnet drivers: From *_uno_init, call *_uno_stop, not usbnet_stop.
Make usbnet_stop private now that no drivers use it.
None of the driver-independent logic in usbnet_stop has any effect at this point because we are guaranteed not to be running, so only the driver-dependent logic in *_uno_stop (at most) is needed.
For drivers with no *_uno_stop, just omit the call to usbnet_stop altogether.
Some of this logic is obviously redundant with the subsequent call to *_reset -- to be addressed in a subsequent commit.
|
1.90 |
| 03-Mar-2022 |
riastradh | usbnet drivers: Omit needless isdying tests in *_uno_init.
usbnet(9) already checks this immediately before calling *_uno_init.
|
1.89 |
| 03-Mar-2022 |
riastradh | usbnet drivers: Omit needless usbnet core lock and assertions.
During attach, the caller has exclusive access to the usbnet until usbnet_attach_ifp. At other times, register access is serialized either by the usbnet multicast lock or by IFNET_LOCK.
|
1.88 |
| 03-Mar-2022 |
riastradh | usbnet drivers: Avoid undefined behaviour if read reg fails.
Some callers don't check the error code, e.g. ~all the mii phy drivers using PHY_READ. Just return zero if the device is gone or the xfer fails for any other reason.
|
1.87 |
| 03-Mar-2022 |
riastradh | axen(4): Use axen mii read/write reg routines, not usbnet ones.
The usbnet wrappers don't add anything important. We already test usbnet_isdying in axen_cmd, and that's already a best-effort thing (which should probably be done better by having usbd_do_request fail promptly if detaching anyway).
|
1.86 |
| 03-Mar-2022 |
riastradh | usbnet drivers: Assert IFNET_LOCKED in if ioctl routines.
These only happen either during the transition up or down (init or stop), or while that transition is excluded (ioctl).
This may be called from ioctl or from init, which both hold the ifnet lock.
XXX smsc_setoe_locked should maybe trigger reinit because the rx loop behaves differently depending on whether checksumming is enabled.
XXX mue_sethwcsum_locked needs to exclude mcast updates.
|
1.85 |
| 03-Mar-2022 |
riastradh | usbnet drivers: Omit redundant multicast filter update on init.
|
1.84 |
| 03-Mar-2022 |
riastradh | usbnet: Apply hardware multicast filter updates synchronously again.
To make this work:
1. Do it only under a new lock, unp_mcastlock. This lock lives at IPL_SOFTCLOCK so it can be taken from network stack callouts. It is forbidden to acquire the usbnet core lock under unp_mcastlock.
2. Do it only after usbnet_init_rx_tx and before usbnet_stop; if issued at any other time, drop the update on the floor.
3. Make usbnet_init_rx_tx apply any pending multicast filter updates under the lock before setting the flag that allows SIOCADDMULTI or SIOCDELMULTI to apply the updates.
4. Remove core lock asserts from various drivers' register access routines. This is necessary because the multicast filter updates are done with register reads/writes, but _cannot_ take the core lock when the caller holds softnet_lock.
This now programs the hardware multicast filter redundantly in many drivers which already explicitly call *_uno_mcast from the *_uno_init routines. This is probably harmless, but it will likely be better to remove the explicit calls.
|
1.83 |
| 03-Mar-2022 |
riastradh | usbnet drivers: Omit needless uno_mcast locked subroutines.
uno_mcast is now called with the core lock already held so there is no need for a separate locked subroutine.
|
1.82 |
| 03-Mar-2022 |
riastradh | usbnet: Take the core lock around uno_mcast.
Every driver does this already. This will enable us to change the lock that serializes access to the registers so we can go back to doing this synchronously in SIOCADDMULTI/SIOCDELMULTI.
|
1.81 |
| 03-Mar-2022 |
riastradh | usbnet drivers: Omit needless uno_init locked subroutines.
uno_init is now called with the core lock already held so there is no need for a separate locked subroutine.
|
1.80 |
| 03-Mar-2022 |
riastradh | usbnet drivers: No need for usbnet_busy during attach.
usbnet_detach cannot run until the attach routine has finished (unless a driver goes out of its way to tie its shoelaces together and explicitly call it during the attach routine, which none of them do), so there is no need to hang onto a reference count that we release before attach returns.
|
1.79 |
| 03-Mar-2022 |
riastradh | usbnet drivers: No need for usbnet_busy in uno_ioctl.
This callback always runs with the IFNET_LOCK held, and the interface cannot be detached until the IFNET_LOCK is released, so there is no need to hang onto a reference count here. (None of the subnet drivers touch the IFNET_LOCK except to verify it is held sometimes.)
|
1.78 |
| 03-Mar-2022 |
riastradh | usbnet drivers: No need for usbnet_busy in uno_mcast.
This callback always runs with IFNET_LOCK held, and during a task that usbnet_detach prevents scheduling anew and waits for finishing before completing the detach, so there is no need to hang onto a reference count here.
|
1.77 |
| 03-Mar-2022 |
riastradh | usbnet drivers: No need for usbnet_busy in uno_init.
This callback always runs with the IFNET_LOCK held, and the interface cannot be detached until the IFNET_LOCK is released, so there is no need to hang onto a reference count here. (None of the usbnet drivers touch the IFNET_LOCK except to verify it is held sometimes.)
|
1.76 |
| 03-Mar-2022 |
riastradh | usbnet: Split multicast filter reprogramming into separate operation.
|
1.75 |
| 03-Mar-2022 |
riastradh | usbnet: Enter uno_init with the core lock held.
This reduces code in all drivers except urndis(4) and aue(4).
However, it's still safe for urndis to drop the core lock because the ifnet is locked, and the ifnet lock covers the DOWN->UP (uno_init) and UP->DOWN (uno_stop) transitions.
|
1.74 |
| 03-Mar-2022 |
riastradh | axen(4), mue(4), smsc(4): Omit irrelevant cases in ioctl.
SIOCSIFFLAGS and SIOCSETHERCAP always end up in ether_ioctl_reinit, which triggers the same logic to reprogram the multicast filters anyway.
|
1.73 |
| 15-Mar-2020 |
thorpej | Define and implement a locking protocol for the ifmedia / mii layers: - MP-safe drivers provide a mutex to ifmedia that is used to serialize access to media-related structures / hardware regsiters. Converted drivers use the new ifmedia_init_with_lock() function for this. The new name is provided to ease the transition. - Un-converted drivers continue to call ifmedia_init(), which will supply a compatibility lock to be used instead. Several media-related entry points must be aware of this compatibility lock, and are able to acquire it recursively a limited number of times, if needed. This is a SPIN mutex with priority IPL_NET. - This same lock is used to serialize access to PHY registers and other MII-related data structures.
The PHY drivers are modified to acquire and release the lock, as needed, and assert the lock is held as a diagnostic aid.
The "usbnet" framework has had an overhaul of its internal locking protocols to fit in with the media / mii changes, and the drivers adapted.
USB wifi drivers have been changed to provide their own adaptive mutex to the ifmedia later via a new ieee80211_media_init_with_lock() function. This is required because the USB drivers need an adaptive mutex.
Besised "usbnet", a few other drivers are converted: vmx, wm, ixgbe / ixv.
mcx also now calls ifmedia_init_with_lock() because it needs to also use an adaptive mutex. The mcx driver still needs to be fully converted to NET_MPSAFE.
|
1.72 |
| 14-Mar-2020 |
christos | revert the 0x% -> %# change for fixed width formats pointed out by uwe.
|
1.71 |
| 13-Mar-2020 |
christos | PR/55068: sc.dying: Fix printf formats: - no %s/%p for kernel log - 0x% -> %# - always %j for kernel log
|
1.70 |
| 29-Jan-2020 |
thorpej | Adopt <net/if_stats.h>.
|
1.69 |
| 15-Jan-2020 |
skrll | Use a define instead of a magic constant. NFCI.
|
1.68 |
| 07-Jan-2020 |
maxv | branches: 1.68.2; Localify, constify.
|
1.67 |
| 23-Aug-2019 |
mrg | s/UBSNET_MII_DECL_DEFAULT/USBNET_MII_DECL_DEFAULT/. from sc.dying.
|
1.66 |
| 20-Aug-2019 |
mrg | couple more changes to usbnet(9):
- MII read/write reg return int instead of usbd_status (requested by skrll) - usbnet_attach_ifp(9) changes arg, two mii-specific flags are placed by a pointer to new struct usbnet_mii. if not NULL, then attach an MII to this interface like previous have_mii parameter. use this to allow ure(4) to properly pass PHY location to mii_attach().
welcome netbsd 9.99.10.
|
1.65 |
| 19-Aug-2019 |
mrg | move the check against un_phyno from usbnet back into the drivers that do this (axe, axen, mue, smsc, ure.) it made mii scanning only work for phy 0, and aue needs it for at least one device.
fix smsc to return usbd_status not -1 on failure. XXX smsc was writing to '*val' even in error cases, it does not now.
remove a double call to IFQ_SET_READY() (noticed by chuq).
avoid unlock+instant relock by using usbnet_lock_mii_un_locked().
|
1.64 |
| 15-Aug-2019 |
mrg | - usbnet_rx_loop_cb's usbd_xfer parameter is never used and available in the usbnet_chain if needed. remove it - usbnet media status change already set link to false, don't repeat this in every driver - don't clear link in stop, nothing was re-enabling it for non-MII - add optional uno_tick_cb(struct usbnet *un) that is called from the usbnet tick timer - remove wrong debug sysctl prototype
rx_loop and timer are kernel versions changes, but hopefully this is the last one for usbnet. working with 3 more drivers now (cue, mue and url), leaving only aue, kue, upl and umb undone (aue may work with previously supported devices, mine doesn't work with our driver, kue and upl have patches for testing and umb is undone.)
|
1.63 |
| 14-Aug-2019 |
mrg | introduce usbnet_set_dying(). will be used by url(4) conversion. bump version.
introduce USBNET_MODULE() that encompasses almost all the module specific code for usbnet modules. they still need to include the relevant ioconf.c, but everything else is now just, eg,
USBNET_MODULE(axen)
|
1.62 |
| 11-Aug-2019 |
skrll | Appease module build
|
1.61 |
| 11-Aug-2019 |
mrg | copy a pattern from if_udav.c, which already had "too much" check.
even though overflow or underflow is really unlikely here, reorder various expressions to reduce the likelyhood even further.
|
1.60 |
| 11-Aug-2019 |
mrg | in tx_prepare callback make sure to reject any mbuf that is larger than can fit in the buffer. done at the driver and not usbnet layer because the driver knows how much beyond the mbuf data needs to be sent (headers and trailers.)
axen(4) had a KASSERT() for this condition, but there's no invariant here we can check so it's best as an error return.
XXX: only tested on these drivers, needs to be copied to udav, smsc and urndis after testing as well as the not commited conversions.
|
1.59 |
| 10-Aug-2019 |
mrg | reduce the scope of struct usbnet: - move a large number of members internal to usbnet.c's new "struct usbnet_private". - provide accessors for a few of these - move struct usbnet_cdata into usbnet.c as well, but move bufsz, list count, and xfer flags back out into struct usbnet, and have them set as part of the setup efore usbnet_attach() - split the intr pipe parts into their own structure - move all the main usbnet*lock* code into usbnet.c too
usbnet_attach() goes down to 2 args, and the inputs needed are now the full contents of 'struct usbnet' besides the driver owned 'un_flags' and usbnet owned 'un_pri'.
welcome netbsd 9.99.6.
|
1.58 |
| 09-Aug-2019 |
mrg | use new un_flags member of usbnet: - axen(4) and cdce(4) are now able to use struct usbnet directly as softc, udav also done but untested
|
1.57 |
| 09-Aug-2019 |
mrg | update usbnet some: - move rx/tx xfer flags into usbnet_cdata - move the callbacks into usbnet_ops structure - move rx/tx xfer flags arguments from usbnet_init_rx_tx() and move them all into usbnet_attach() arguments - s/miibus/mii/ in some places for consistency
other clean up: - create wrapper functions for callbacks, move knowledge about special handling (OK to be missing, error eating) there. - use cdata pointer if already available - provide some more macros (will be real functions later) for accessing usbnet members, use existing ones more
bump kernel version.
|
1.56 |
| 06-Aug-2019 |
mrg | for ethernet usb network devices, print the mac addr in usbnet.
|
1.55 |
| 06-Aug-2019 |
mrg | extend usbnet to cope with if_upl, if_smsc, and if_umb needs:
- usbnet_enqueue() can set mbuf flags and csum_data - usbnet_input() for non-ethernet based devices (upl, umb) - allow a complete override for ioctl() - remove converted list -- we have compiling and/or working patches for all the devices except for umb(4), will be merged as testing happens
hopefully this is the last ABI change, though it may end up being extended for additional smsc(4) support.
hello for real netbsd 9.99.3!
|
1.54 |
| 05-Aug-2019 |
skrll | Typo in error message
|
1.53 |
| 04-Aug-2019 |
mrg | - adjust usbnet interface to allow usbd_open_pipe_intr(), from the new comment: * if un_intr_buf is not NULL, use usbd_open_pipe_intr() not * usbd_open_pipe() for USBNET_ENDPT_INTR, with this buffer, * size, and interval. the standard handling is in usbnet.c, with a callback to deal with the interrupt it self. not fully tested, designed for if_aue.c and a few others not yet converted. - make usbhist for usbnet.c work, thanks paulg - usbnet_init_rx_tx() clears out all allocations upon failure now - add usbnet_ec() to get a pointer to the struct ethercom - add usbnet_{lock,unlock,owned}*() to lock/unlock the various locks and *owned*() for asserting
welcome 9.99.3!
|
1.52 |
| 31-Jul-2019 |
mrg | couple of minor API updates: - change the read/write register callbacks to have the same phy/reg order as the MII code. - add "mii_flags" param to usbnet_attach_ifp(). axe(4) wants it.
also: - add usbnet debug code, sysctl node support - remove commented DPRINTF()s accidentally left in place - add usbnet_softc() - reorder some attach code to be consistent - re-add USBD_FORCE_SHORT_XFER for axen rx chain
ride 9.99.2 bump.
|
1.51 |
| 31-Jul-2019 |
mrg | introduce a library of common code / backends to share code between USB ethernet drivers.
usbnet.h introduces a new set of APIs to provide common solutions for these driver features: - USB endpoint pipe handling - rx and tx chain handling - generic handlers or support for several struct ifnet callbacks - MII bus locking - interrupt handling - partial autoconf handling: much of attach, and detach/activate can use common versions directly.
currently, only axen(4) and cdce(4) are converted. the reductions in these drivers are quite significant: if_cdce.c is reduced from 1000 lines to 320 lines, and if_axen is reduced from 1902 lines to 1021 lines.
add a "usbnet" module and make the if_axen module depend upon it.
|
1.50 |
| 15-Jul-2019 |
mrg | branches: 1.50.2; minor white space adjustments.
|
1.49 |
| 28-Jun-2019 |
mrg | more smp cleanup for ure(4)/axen(4)/cdce(4):
- convert IFF_ALLMULTI to ETHER_F_ALLMULTI, using ETHER_LOCK() - remove IFF_OACTIVE use, and simply check the ring count in start - assert/take more locks - XXX: IFF_RUNNING is not properly protected (all driver problem) - fix axen_timer setting so it actually runs - document a locking issue in stop callback: stop is called with the softc lock held, but the lock order in all other places is ifnet -> softc -> rx -> tx, so taking ifnet lock when softc lock is held would be problematic - in rxeof check for stopping/dying more often. i managed to trigger a pagefault in cdce_rxeof() when yanking an active device as it attempted to usbd_setup_xfer() on closed pipes. - add missing USBD_MPSAFE and cdce_stopping resetting for cdce(4)
between this and other recent clean ups increase performance of these drivers mostly. some numbers (in mbit/sec):
old: new: driver in out in+out in out in+out ---- -- --- ------ -- --- ------ cdce 39 32 44 38 33 54 axen 44 34 45 48 37 42 ure 36 34 35 36 38 38
i'm not sure why axen drops a little with in+out. cdce is helped quite a lot, and ure a little. it is disappointing that ure does not outperform cdce -- it's the same actual hardware, and the device-specific (ure) should outperform the generic cdce driver...
|
1.48 |
| 22-Jun-2019 |
mrg | wrap axen_iff() with axen_iff_locked(). add a missing lock exit in error path.
|
1.47 |
| 22-Jun-2019 |
mrg | mark this driver MPSAFE for usb tasks and pipes, if(4), and callouts. remove remaining redundant spl calls.
|
1.46 |
| 22-Jun-2019 |
mrg | re-apply rev 1.44 with a minor bug fix in axen_tick_task().
it introduced a problem when there wasn't a reasonaly constant stream of incoming packets, and i had a 'nttcp' running against my test machine constantly, avoiding the bug.
|
1.45 |
| 22-Jun-2019 |
mrg | revert the previous.
i'm fairly postive i tested it, as i tested enabing mpsafe version on top of this successfully. however, something happened mid-ssh with a kernel with mpsafe and my session hung, and since then i've been unable to boot kernels with the previous revision applied.
|
1.44 |
| 21-Jun-2019 |
mrg | fix issues seen with transfers being reused before they are finished being used.
adapt locking to the modern world. some what inspired by if_smsc.c: - add locks for softc, rx and tx - add safe detach support - safe detach vs mii lock requires 2 methods to lock the MII lock, - check axen_dying and new axen_stopping more often - consolidate checks to reduce the number of error paths that need to release a resource - move axen_watchdog() out of if_timer into the tick task to prepare for MPSAFEification
TODO: - remove spl usage - enable mpsafe
special thanks to skrll and mlelstv for clearing up various confusion and providing examples.
|
1.43 |
| 20-Jun-2019 |
mrg | minor clean up, almost NFCI: - use const, __func__, more - axen_mii_lock is a normal mutex not rwlock, and make sure it's properly cleaned up for failed attach - check axen_dying in axen_miibus_statchg() - rename axen_ax88179_eeprom() to axen_get_eaddr() and move the code here into the support the current method. - adjust some comments
|
1.42 |
| 18-Jun-2019 |
mrg | move struct axen_chain, struct axen_cdata, struct axen_softc, struct axen_type, sc_if, GET_MII(), and GET_IFP() -- all the software defined components from if_axenreg.h into if_axen.c.
|
1.41 |
| 28-May-2019 |
msaitoh | Use ETHER_LOCK()/ETHER_UNLOCK() for all ethernet drivers to protect ec_multi*.
|
1.40 |
| 23-May-2019 |
msaitoh | Whitespace fix (mainly tabify).
|
1.39 |
| 23-May-2019 |
msaitoh | -No functional change: - KNF - u_int*_t -> uint*_t.
|
1.38 |
| 11-Apr-2019 |
msaitoh | Fix a bug that the duplex of manual media setting may be wrong when the IFM_GMASK bit other than IFM_[FH]DX is set.
|
1.37 |
| 17-Feb-2019 |
rin | Remove unused.
|
1.36 |
| 07-Feb-2019 |
mlelstv | Use unsigned variables for buffer length to avoid compiler warnings.
|
1.35 |
| 06-Feb-2019 |
rin | Add ratecheck for TX errors for axen(4) and mue(4).
|
1.34 |
| 06-Feb-2019 |
rin | Fix panic when detach or "ifconfig down" for axen(4) and mue(4). - Mitigate race conditions, that become critical when multiple outstanding transfers are enabled. - Drop link flags earlier in foo_stop() to make sure (paranoia).
|
1.33 |
| 06-Feb-2019 |
rin | Enable multiple outstanding transfers. XXX Linux driver uses much larger numbers of transfers.
|
1.32 |
| 06-Feb-2019 |
rin | Add couple of error printf.
XXX We should not to use aprint_xxx() for non-autoconf staffs.
|
1.31 |
| 06-Feb-2019 |
rin | Oops, fix previous again. Really support TSOv4.
|
1.30 |
| 06-Feb-2019 |
rin | Fix previous.
|
1.29 |
| 06-Feb-2019 |
rin | Support TSOv4 (They call it LSOv1). The adapter does not support TSOv6 (aka LSOv2).
|
1.28 |
| 06-Feb-2019 |
rin | Fix padding for a full length USB packet in TX: - Update boundary length for SS mode, taken from OpenBSD. - Make sure everything passed to the adapter is little endian. - Specify padding bits in a similar manner to Linux.
XXX I wonder whether this is really necessary...
|
1.27 |
| 06-Feb-2019 |
rin | Cosmetic changes; no functional changes.
|
1.26 |
| 06-Feb-2019 |
rin | Drop AXEN_MEDIUM_ALWAYS_ONE (from Linux), which reduces drop erros in RX.
|
1.25 |
| 06-Feb-2019 |
rin | Remove useless memset.
|
1.24 |
| 31-Jan-2019 |
rin | Correct error bits in RX packet header: - Drop error is bit 31. - CRC error is bit 29. - Distinguish the two errors in debug printf.
|
1.23 |
| 31-Jan-2019 |
rin | Enable hash-table-based multicast filter: - Drop AXEN_RXCTL_ACPT_PHY_MCAST bit (neither Linux nor FreeBSD sets it). - 0x0010 bit is not AXEN_RXCTL_ACPT_BCAST ("accept broadcast") but AXEN_RXCTL_ACPT_MCAST ("accept multicast (hash-table-based)").
|
1.22 |
| 31-Jan-2019 |
rin | In axen_tick_task(), call axen_miibus_statchg() when link is lost (like other drivers). Otherwise, link can be lost forever, which results in sysmtem freeze.
|
1.21 |
| 31-Jan-2019 |
rin | Enable AXEN_RXCTL_START bit only when RX is ready. Otherwise, the adapter eventually falls into "no carrier" state while it is not running.
|
1.20 |
| 31-Jan-2019 |
rin | Fix previous: - axen_coe() should be called from axen_init(), not axen_ax88179_init(). - Simplify logic in axen_coe(); AXEN_[RT]XCOE_OFF = 0.
|
1.19 |
| 30-Jan-2019 |
rin | Fix HW checksum offloading. - Enable ones specified in if_capenable and remove AXEN_TOE macro. - Check correct bit and set appropriate csum_flags. - Pass packets of wrong checksum to upper layer instead of dropping them. - Fix value of AXEN_RXHDR_L3_TYPE_MASK.
Tested on ASIX Elec. Corp. (0xb95) AX88179 (0x1790).
|
1.18 |
| 22-Jan-2019 |
msaitoh | Change MII PHY read/write API from:
int (*mii_readreg_t)(device_t, int, int); void (*mii_writereg_t)(device_t, int, int, int); to:
int (*mii_readreg_t)(device_t, int, int, uint16_t *); int (*mii_writereg_t)(device_t, int, int, uint16_t);
Now we can test if a read/write operation failed or not by the return value.
In 802.3 spec says that the PHY shall not respond to read/write transaction to the unimplemented register(22.2.4.3). Detecting timeout can be used to check whether a register is implemented or not (if the register conforms to the spec). ukphy(4) can be used this for MII_MMDACR and MII_MMDAADR.
Note that I noticed that the following code do infinite loop in the read/wirte function. If it accesses unimplemented PHY register, it will hang. It should be fixed:
arm/at91/at91emac.c arm/ep93xx/epe.c arm/omap/omapl1x_emac.c mips/ralink/ralink_eth.c arch/powerpc/booke/dev/pq3etsec.c(read) dev/cadence/if_cemac.c <- hkenken dev/ic/lan9118.c
Tested with the following device:
axe+ukphy axe+rgephy axen+rgephy (tested by Andrius V) wm+atphy wm+ukphy wm+igphy wm+ihphy wm+makphy sk+makphy sk+brgphy sk+gentbi msk+makphy sip+icsphy sip+ukphy re+rgephy bge+brgphy bnx+brgphy gsip+gphyter rtk+rlphy fxp+inphy (tested by Andrius V) tlp+acphy ex+exphy epic+qsphy vge+ciphy (tested by Andrius V) vr+ukphy (tested by Andrius V) vte+ukphy (tested by Andrius V)
Not tested (MAC): arm:at91emac arm:cemac arm:epe arm:geminigmac arm:enet arm:cpsw arm:emac(omac) arm:emac(sunxi) arm:npe evbppc:temac macppc:bm macppc:gm mips:aumac mips:ae mips:cnmac mips:reth mips:sbmac playstation2:smap powerpc:tsec powerpc:emac(ibm4xx) sgimips:mec sparc:be sf ne(ax88190, dl10019) awge ep gem hme smsh mtd sm age alc ale bce cas et jme lii nfe pcn ste stge tl xi aue mue smsc udav url
Not tested (PHY): amhphy bmtphy dmphy etphy glxtphy ikphy iophy lxtphy nsphyter pnaphy rdcphy sqphy tlphy tqphy urlphy
|
1.17 |
| 12-Sep-2018 |
christos | Don't have modules depend on bpf; they will find the dependency dynamically at runtime. Otherwise builtin modules will complain about non-builtin bpf.
|
1.16 |
| 02-Aug-2018 |
riastradh | Fix usb_rem_task_wait API.
- Return whether it removed task from queue or not. . True if it was on the queue and we intercepted it before it ran. . False if we could not intercept it: either it wasn't queued, or it already ran. (Up to caller to distinguish these cases.) - Pass an optional interlock like callout_halt.
While here, simplify.
ok mrg@
|
1.15 |
| 29-Jul-2018 |
riastradh | Use callout_halt and usb_rem_task_wait in axen(4).
|
1.14 |
| 20-Jul-2018 |
martin | Andrius V in PR kern/53461: add support for D-Link DUB-1312
|
1.13 |
| 26-Jun-2018 |
msaitoh | branches: 1.13.2; Implement the BPF direction filter (BIOC[GS]DIRECTION). It provides backward compatibility with BIOC[GS]SEESENT ioctl. The userland interface is the same as FreeBSD.
This change also fixes a bug that the direction is misunderstand on some environment by passing the direction to bpf_mtap*() instead of checking m->m_pkthdr.rcvif.
|
1.12 |
| 21-Jan-2018 |
skrll | branches: 1.12.2; PR kern/52931 Kernel panics with Atheros usb wireless interface
Audit the flags to usbd_create_xfer so that USBD_FORCE_SHORT_XFER is supplied wherever such a transfer is setup. We can drop USBD_SHORT_XFER_OK as it has not bearing on number of TDs
|
1.11 |
| 15-Dec-2016 |
ozaki-r | branches: 1.11.8; Move bpf_mtap and if_ipackets++ on Rx of each driver to percpuq if_input
The benefits of the change are: - We can reduce codes - We can provide the same behavior between drivers - Where/When if_ipackets is counted up - Note that some drivers still update packet statistics in their own way (periodical update) - Moved bpf_mtap run in softint - This makes it easy to MP-ify bpf
Proposed on tech-kern and tech-net
|
1.10 |
| 25-Nov-2016 |
skrll | +#include "opt_usb.h"
|
1.9 |
| 10-Jun-2016 |
ozaki-r | branches: 1.9.2; Introduce m_set_rcvif and m_reset_rcvif
The API is used to set (or reset) a received interface of a mbuf. They are counterpart of m_get_rcvif, which will come in another commit, hide internal of rcvif operation, and reduce the diff of the upcoming change.
No functional change.
|
1.8 |
| 23-Apr-2016 |
skrll | Merge nick-nhusb
- API / infrastructure changes to support memory management changes. - Memory management improvements and bug fixes. - HCDs should now be MP safe - conversion to KERNHIST based debug - FS/LS isoc support on ehci(4). - conversion to kmem(9) - Some USB 3 support - mostly from Takahiro HAYASHI (t-hash). - interrupt transfers now get proper DMA operations - general bug fixes - kern/48308 - uhub status notification improvements - umass(4) probe fix (applied to HEAD already) - ohci(4) short transfer fix
|
1.7 |
| 09-Feb-2016 |
ozaki-r | Introduce softint-based if_input
This change intends to run the whole network stack in softint context (or normal LWP), not hardware interrupt context. Note that the work is still incomplete by this change; to that end, we also have to softint-ify if_link_state_change (and bpf) which can still run in hardware interrupt.
This change softint-ifies at ifp->if_input that is called from each device driver (and ieee80211_input) to ensure Layer 2 runs in softint (e.g., ether_input and bridge_input). To this end, we provide a framework (called percpuq) that utlizes softint(9) and percpu ifqueues. With this patch, rxintr of most drivers just queues received packets and schedules a softint, and the softint dequeues packets and does rest packet processing.
To minimize changes to each driver, percpuq is allocated in struct ifnet for now and that is initialized by default (in if_attach). We probably have to move percpuq to softc of each driver, but it's future work. At this point, only wm(4) has percpuq in its softc as a reference implementation.
Additional information including performance numbers can be found in the thread at tech-kern@ and tech-net@: http://mail-index.netbsd.org/tech-kern/2016/01/14/msg019997.html
Acknowledgment: riastradh@ greatly helped this work. Thank you very much!
|
1.6 |
| 13-Apr-2015 |
riastradh | Convert sys/dev to use <sys/rndsource.h>.
|
1.5 |
| 08-Apr-2015 |
nonaka | Added pmf hook.
|
1.4 |
| 12-Feb-2015 |
nonaka | Apply PR kern/49659 patch from Takahiro HAYASHI.
|
1.3 |
| 10-Aug-2014 |
tls | branches: 1.3.2; 1.3.4; 1.3.6; Merge tls-earlyentropy branch into HEAD.
|
1.2 |
| 29-Oct-2013 |
joerg | branches: 1.2.2; 1.2.4; 1.2.6; Remove bogus cast. The LHS type is smaller, so let the compiler decide on the correct (unsigned type).
|
1.1 |
| 26-Oct-2013 |
nonaka | Add driver for ASIX AX88178a and AX88179 Ethernet interface. Ported from OpenBSD.
|
1.2.6.2 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.2.6.1 |
| 29-Oct-2013 |
yamt | file if_axen.c was added on branch yamt-pagecache on 2014-05-22 11:40:36 +0000
|
1.2.4.2 |
| 18-May-2014 |
rmind | sync with head
|
1.2.4.1 |
| 29-Oct-2013 |
rmind | file if_axen.c was added on branch rmind-smpnet on 2014-05-18 17:45:47 +0000
|
1.2.2.1 |
| 07-Apr-2014 |
tls | Be a little more clear and consistent about harvesting entropy from devices:
1) deprecate RND_FLAG_NO_ESTIMATE
2) define RND_FLAG_COLLECT_TIME, RND_FLAG_COLLECT_VALUE
3) define RND_FLAG_ESTIMATE_TIME, RND_FLAG_ESTIMATE_VALUE
4) define RND_FLAG_DEFAULT: RND_FLAG_COLLECT_TIME| RND_FLAG_COLLECT_VALUE|RND_FLAG_ESTIMATE_TIME
5) Make entropy harvesting from environmental sensors a little more generic and remove it from individual sensor drivers.
6) Remove individual open-coded delta-estimators for values from a few places in the tree (uvm, environmental drivers).
7) 0 -> RND_FLAG_DEFAULT, actually gather entropy from various drivers that had stubbed out code, other minor cleanups.
|
1.3.6.15 |
| 05-Feb-2017 |
skrll | Sync with HEAD
|
1.3.6.14 |
| 28-Dec-2016 |
skrll | Destroy all mutexes on detach
|
1.3.6.13 |
| 12-Dec-2016 |
skrll | WIP MPification
|
1.3.6.12 |
| 05-Dec-2016 |
skrll | Sync with HEAD
|
1.3.6.11 |
| 09-Jul-2016 |
skrll | Sync with HEAD
|
1.3.6.10 |
| 19-Mar-2016 |
skrll | Sync with HEAD
|
1.3.6.9 |
| 28-Dec-2015 |
skrll | Strictly follow the sequence abort pipe, destroy xfers, and close pipe as API now requires. Plug some memory leaks in some drivers while doing this.
Also, remove up_refcnt as it was broken and helped leak more memory.
|
1.3.6.8 |
| 06-Oct-2015 |
skrll | Move from usbd_{alloc,free}_xfer and usbd_{alloc,free}_buffer to usbd_{create,destroy}_xfer. The API change will allow future changes to HCDs to simplify the transfer resource allocation and activation.
Several devices tested including ucom, umass, smsc, uvideo, and uaudio.
|
1.3.6.7 |
| 06-Jun-2015 |
skrll | Sync with HEAD
|
1.3.6.6 |
| 06-Apr-2015 |
skrll | Sync with HEAD
|
1.3.6.5 |
| 21-Mar-2015 |
skrll | Add prefixes to attach_arg structure member names. No functional change.
|
1.3.6.4 |
| 19-Mar-2015 |
skrll | Do the same as OpenBSD and get rid of the *_handle typedefs and use plain structures insteads
|
1.3.6.3 |
| 06-Dec-2014 |
skrll | KNF. Remove argument name from function declarations.
No functional change.
|
1.3.6.2 |
| 03-Dec-2014 |
skrll | The grand renaming of structure members.
No functional change.
|
1.3.6.1 |
| 02-Dec-2014 |
skrll | Step #1 of memory allocation re-organisation.
Centralised the buffer allocation routine which now supports DMA and non-DMA capable host controllers. Remove the ubm_{alloc,free}m methods from usbd_bus_methods.
The buffer allocation is only allowed in thread context and, therefore, negates the usefulness of the reserve dma code which is removed in this change.
USBD_NO_COPY is also no longer required as usbd_transfer and usbd_transfer_complete now track buffer usage and handle any copying.
|
1.3.4.3 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.3.4.2 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.3.4.1 |
| 10-Aug-2014 |
tls | file if_axen.c was added on branch tls-maxphys on 2014-08-20 00:03:51 +0000
|
1.3.2.4 |
| 08-Aug-2018 |
martin | Pull up following revision(s) (requested by riastradh in ticket #1626):
sys/dev/usb/if_cue.c: revision 1.80 sys/dev/usb/umcs.c: revision 1.11 sys/dev/usb/umcs.c: revision 1.12 sys/dev/usb/if_ural.c: revision 1.56 sys/dev/usb/if_run.c: revision 1.28 sys/dev/usb/if_ural.c: revision 1.57 sys/dev/usb/if_run.c: revision 1.29 sys/dev/usb/uatp.c: revision 1.16 sys/dev/usb/uatp.c: revision 1.17 sys/dev/usb/if_axe.c: revision 1.91 sys/dev/usb/if_axe.c: revision 1.92 sys/dev/usb/if_zyd.c: revision 1.49 sys/dev/usb/if_axen.c: revision 1.15 sys/dev/usb/if_url.c: revision 1.60 sys/dev/usb/if_udav.c: revision 1.54 sys/dev/usb/if_axen.c: revision 1.16 sys/dev/usb/if_udav.c: revision 1.55 sys/dev/usb/if_athn_usb.c: revision 1.28 sys/dev/usb/if_athn_usb.c: revision 1.29 sys/dev/usb/if_urtw.c: revision 1.16 sys/dev/usb/if_urtw.c: revision 1.17 sys/dev/usb/if_cue.c: revision 1.79 sys/dev/usb/if_rum.c: revision 1.62 sys/dev/usb/if_urtwn.c: revision 1.61 sys/dev/usb/if_rum.c: revision 1.63 sys/dev/usb/if_urtwn.c: revision 1.63 sys/dev/usb/usb.c: revision 1.170 sys/dev/usb/usb.c: revision 1.171 sys/dev/usb/if_smsc.c: revision 1.35 sys/dev/usb/if_smsc.c: revision 1.36 sys/dev/usb/if_zyd.c: revision 1.50 sys/dev/usb/if_aue.c: revision 1.144 sys/dev/usb/if_aue.c: revision 1.145 sys/dev/usb/usb_subr.c: revision 1.225 sys/dev/usb/usb_subr.c: revision 1.226 sys/dev/usb/if_upgt.c: revision 1.21 sys/dev/usb/usbdi.h: revision 1.93 sys/dev/usb/if_upgt.c: revision 1.22 sys/dev/usb/if_url.c: revision 1.59 sys/dev/usb/usbdi.h: revision 1.95 sys/dev/usb/if_otus.c: revision 1.34 sys/dev/usb/if_atu.c: revision 1.62 sys/dev/usb/if_otus.c: revision 1.35 sys/dev/usb/if_atu.c: revision 1.63
New function usb_rem_task_wait(dev, task, queue).
If task is scheduled to run, removes it from the queue. If it may have already begun to run, waits for it to complete. Caller must guarantee it will not switch to another queue. If caller guarantees it will not be scheduled again, then usb_rem_task_wait guarantees it is not running on return.
This will enable us to fix a litany of bugs in detach where we currently fail to wait for a pending task.
Use usb_rem_task_wait in various drivers.
|
1.3.2.3 |
| 19-Feb-2018 |
snj | Pull up following revision(s) (requested by skrll in ticket #1556): sys/dev/usb/if_athn_usb.c: 1.25 sys/dev/usb/if_atu.c: 1.56 sys/dev/usb/if_aue.c: 1.142 sys/dev/usb/if_axe.c: 1.84 sys/dev/usb/if_axen.c: 1.12 sys/dev/usb/if_cdce.c: 1.45 sys/dev/usb/if_cue.c: 1.77 sys/dev/usb/if_kue.c: 1.91 sys/dev/usb/if_otus.c: 1.32 sys/dev/usb/if_rum.c: 1.59 sys/dev/usb/if_run.c: 1.25 sys/dev/usb/if_smsc.c: 1.33 sys/dev/usb/if_udav.c: 1.52 sys/dev/usb/if_upgt.c: 1.18 sys/dev/usb/if_upl.c: 1.61 sys/dev/usb/if_ural.c: 1.53 sys/dev/usb/if_url.c: 1.57 sys/dev/usb/if_urndis.c: 1.17 sys/dev/usb/if_urtw.c: 1.14 sys/dev/usb/if_urtwn.c: 1.56 sys/dev/usb/if_zyd.c: 1.45 sys/dev/usb/irmce.c: 1.4 sys/dev/usb/pseye.c: 1.24 sys/dev/usb/ubt.c: 1.60 sys/dev/usb/ucom.c: 1.120 sys/dev/usb/udsir.c: 1.6 sys/dev/usb/ugen.c: 1.137 sys/dev/usb/uhso.c: 1.27 sys/dev/usb/uirda.c: 1.43 sys/dev/usb/ulpt.c: 1.99 sys/dev/usb/umass.c: 1.163 sys/dev/usb/umidi.c: 1.74 sys/dev/usb/uscanner.c: 1.82 sys/dev/usb/usscanner.c: 1.43 sys/dev/usb/ustir.c: 1.39 sys/dev/usb/utoppy.c: 1.30 sys/dev/usb/uvideo.c: 1.46 PR kern/52931 Kernel panics with Atheros usb wireless interface Audit the flags to usbd_create_xfer so that USBD_FORCE_SHORT_XFER is supplied wherever such a transfer is setup. We can drop USBD_SHORT_XFER_OK as it has not bearing on number of TDs
|
1.3.2.2 |
| 05-Apr-2017 |
snj | Pull up following revision(s) (requested by skrll in ticket #1395): share/man/man4/axe.4: netbsd-7-nhusb share/man/man4/axen.4: netbsd-7-nhusb share/man/man4/cdce.4: netbsd-7-nhusb share/man/man4/uaudio.4: netbsd-7-nhusb share/man/man4/ucom.4: netbsd-7-nhusb share/man/man4/uep.4: netbsd-7-nhusb share/man/man4/urtw.4: netbsd-7-nhusb share/man/man4/usb.4: netbsd-7-nhusb share/man/man4/uyap.4: netbsd-7-nhusb share/man/man4/xhci.4: netbsd-7-nhusb share/man/man9/usbdi.9: netbsd-7-nhusb sys/arch/amd64/conf/ALL: netbsd-7-nhusb sys/arch/amd64/conf/GENERIC: netbsd-7-nhusb sys/arch/amiga/dev/slhci_zbus.c: netbsd-7-nhusb sys/arch/arm/allwinner/awin_otg.c: netbsd-7-nhusb sys/arch/arm/allwinner/awin_usb.c: netbsd-7-nhusb sys/arch/arm/amlogic/amlogic_dwctwo.c: netbsd-7-nhusb sys/arch/arm/at91/at91ohci.c: netbsd-7-nhusb sys/arch/arm/broadcom/bcm2835_dwctwo.c: netbsd-7-nhusb sys/arch/arm/broadcom/bcm53xx_usb.c: netbsd-7-nhusb sys/arch/arm/ep93xx/epohci.c: netbsd-7-nhusb sys/arch/arm/gemini/obio_ehci.c: netbsd-7-nhusb sys/arch/arm/imx/files.imx23: netbsd-7-nhusb sys/arch/arm/imx/imxusb.c: netbsd-7-nhusb sys/arch/arm/imx/imxusbreg.h: netbsd-7-nhusb sys/arch/arm/omap/obio_ohci.c: netbsd-7-nhusb sys/arch/arm/omap/omap3_ehci.c: netbsd-7-nhusb sys/arch/arm/omap/omapl1x_ohci.c: netbsd-7-nhusb sys/arch/arm/omap/tiotg.c: netbsd-7-nhusb sys/arch/arm/s3c2xx0/ohci_s3c24x0.c: netbsd-7-nhusb sys/arch/arm/samsung/exynos_usb.c: netbsd-7-nhusb sys/arch/arm/xscale/pxa2x0_ohci.c: netbsd-7-nhusb sys/arch/arm/zynq/zynq_usb.c: netbsd-7-nhusb sys/arch/hpcarm/dev/nbp_slhci.c: netbsd-7-nhusb sys/arch/hpcmips/dev/plumohci.c: netbsd-7-nhusb sys/arch/i386/conf/ALL: netbsd-7-nhusb sys/arch/i386/conf/GENERIC: netbsd-7-nhusb sys/arch/i386/pci/gcscehci.c: netbsd-7-nhusb sys/arch/luna68k/conf/GENERIC: netbsd-7-nhusb sys/arch/mips/adm5120/dev/ahci.c: netbsd-7-nhusb sys/arch/mips/adm5120/dev/ahcivar.h: netbsd-7-nhusb sys/arch/mips/alchemy/dev/ohci_aubus.c: netbsd-7-nhusb sys/arch/mips/atheros/dev/ehci_arbus.c: netbsd-7-nhusb sys/arch/mips/atheros/dev/ohci_arbus.c: netbsd-7-nhusb sys/arch/mips/conf/files.adm5120: netbsd-7-nhusb sys/arch/mips/ralink/ralink_ehci.c: netbsd-7-nhusb sys/arch/mips/ralink/ralink_ohci.c: netbsd-7-nhusb sys/arch/mips/rmi/rmixl_ehci.c: netbsd-7-nhusb sys/arch/mips/rmi/rmixl_ohci.c: netbsd-7-nhusb sys/arch/playstation2/dev/ohci_sbus.c: netbsd-7-nhusb sys/arch/powerpc/booke/dev/pq3ehci.c: netbsd-7-nhusb sys/arch/powerpc/ibm4xx/dev/dwctwo_plb.c: netbsd-7-nhusb sys/arch/x68k/dev/slhci_intio.c: netbsd-7-nhusb sys/conf/files: netbsd-7-nhusb sys/dev/cardbus/ehci_cardbus.c: netbsd-7-nhusb sys/dev/cardbus/ohci_cardbus.c: netbsd-7-nhusb sys/dev/cardbus/uhci_cardbus.c: netbsd-7-nhusb sys/dev/ic/sl811hs.c: netbsd-7-nhusb sys/dev/ic/sl811hsvar.h: netbsd-7-nhusb sys/dev/isa/slhci_isa.c: netbsd-7-nhusb sys/dev/marvell/ehci_mv.c: netbsd-7-nhusb sys/dev/pci/ehci_pci.c: netbsd-7-nhusb sys/dev/pci/ohci_pci.c: netbsd-7-nhusb sys/dev/pci/uhci_pci.c: netbsd-7-nhusb sys/dev/pci/xhci_pci.c: netbsd-7-nhusb sys/dev/pcmcia/slhci_pcmcia.c: netbsd-7-nhusb sys/dev/usb/Makefile.usbdevs: netbsd-7-nhusb sys/dev/usb/TODO: netbsd-7-nhusb sys/dev/usb/TODO.usbmp: netbsd-7-nhusb sys/dev/usb/aubtfwl.c: netbsd-7-nhusb sys/dev/usb/auvitek.c: netbsd-7-nhusb sys/dev/usb/auvitek_audio.c: netbsd-7-nhusb sys/dev/usb/auvitek_dtv.c: netbsd-7-nhusb sys/dev/usb/auvitek_i2c.c: netbsd-7-nhusb sys/dev/usb/auvitek_video.c: netbsd-7-nhusb sys/dev/usb/auvitekvar.h: netbsd-7-nhusb sys/dev/usb/ehci.c: netbsd-7-nhusb sys/dev/usb/ehcireg.h: netbsd-7-nhusb sys/dev/usb/ehcivar.h: netbsd-7-nhusb sys/dev/usb/emdtv.c: netbsd-7-nhusb sys/dev/usb/emdtv_dtv.c: netbsd-7-nhusb sys/dev/usb/emdtv_ir.c: netbsd-7-nhusb sys/dev/usb/emdtvvar.h: netbsd-7-nhusb sys/dev/usb/ezload.c: netbsd-7-nhusb sys/dev/usb/ezload.h: netbsd-7-nhusb sys/dev/usb/files.usb: netbsd-7-nhusb sys/dev/usb/hid.c: netbsd-7-nhusb sys/dev/usb/hid.h: netbsd-7-nhusb sys/dev/usb/if_athn_usb.c: netbsd-7-nhusb sys/dev/usb/if_athn_usb.h: netbsd-7-nhusb sys/dev/usb/if_atu.c: netbsd-7-nhusb sys/dev/usb/if_atureg.h: netbsd-7-nhusb sys/dev/usb/if_aue.c: netbsd-7-nhusb sys/dev/usb/if_auereg.h: netbsd-7-nhusb sys/dev/usb/if_axe.c: netbsd-7-nhusb sys/dev/usb/if_axen.c: netbsd-7-nhusb sys/dev/usb/if_axenreg.h: netbsd-7-nhusb sys/dev/usb/if_axereg.h: netbsd-7-nhusb sys/dev/usb/if_cdce.c: netbsd-7-nhusb sys/dev/usb/if_cdcereg.h: netbsd-7-nhusb sys/dev/usb/if_cue.c: netbsd-7-nhusb sys/dev/usb/if_cuereg.h: netbsd-7-nhusb sys/dev/usb/if_kue.c: netbsd-7-nhusb sys/dev/usb/if_kuereg.h: netbsd-7-nhusb sys/dev/usb/if_otus.c: netbsd-7-nhusb sys/dev/usb/if_otusvar.h: netbsd-7-nhusb sys/dev/usb/if_rum.c: netbsd-7-nhusb sys/dev/usb/if_rumreg.h: netbsd-7-nhusb sys/dev/usb/if_rumvar.h: netbsd-7-nhusb sys/dev/usb/if_run.c: netbsd-7-nhusb sys/dev/usb/if_runvar.h: netbsd-7-nhusb sys/dev/usb/if_smsc.c: netbsd-7-nhusb sys/dev/usb/if_smscreg.h: netbsd-7-nhusb sys/dev/usb/if_smscvar.h: netbsd-7-nhusb sys/dev/usb/if_udav.c: netbsd-7-nhusb sys/dev/usb/if_udavreg.h: netbsd-7-nhusb sys/dev/usb/if_upgt.c: netbsd-7-nhusb sys/dev/usb/if_upgtvar.h: netbsd-7-nhusb sys/dev/usb/if_upl.c: netbsd-7-nhusb sys/dev/usb/if_ural.c: netbsd-7-nhusb sys/dev/usb/if_uralreg.h: netbsd-7-nhusb sys/dev/usb/if_uralvar.h: netbsd-7-nhusb sys/dev/usb/if_url.c: netbsd-7-nhusb sys/dev/usb/if_urlreg.h: netbsd-7-nhusb sys/dev/usb/if_urndis.c: netbsd-7-nhusb sys/dev/usb/if_urndisreg.h: netbsd-7-nhusb sys/dev/usb/if_urtw.c: netbsd-7-nhusb sys/dev/usb/if_urtwn.c: netbsd-7-nhusb sys/dev/usb/if_urtwn_data.h: netbsd-7-nhusb sys/dev/usb/if_urtwnreg.h: netbsd-7-nhusb sys/dev/usb/if_urtwnvar.h: netbsd-7-nhusb sys/dev/usb/if_urtwreg.h: netbsd-7-nhusb sys/dev/usb/if_zyd.c: netbsd-7-nhusb sys/dev/usb/if_zydreg.h: netbsd-7-nhusb sys/dev/usb/irmce.c: netbsd-7-nhusb sys/dev/usb/moscom.c: netbsd-7-nhusb sys/dev/usb/motg.c: netbsd-7-nhusb sys/dev/usb/motgvar.h: netbsd-7-nhusb sys/dev/usb/ohci.c: netbsd-7-nhusb sys/dev/usb/ohcireg.h: netbsd-7-nhusb sys/dev/usb/ohcivar.h: netbsd-7-nhusb sys/dev/usb/pseye.c: netbsd-7-nhusb sys/dev/usb/slurm.c: netbsd-7-nhusb sys/dev/usb/stuirda.c: netbsd-7-nhusb sys/dev/usb/u3g.c: netbsd-7-nhusb sys/dev/usb/uark.c: netbsd-7-nhusb sys/dev/usb/uatp.c: netbsd-7-nhusb sys/dev/usb/uaudio.c: netbsd-7-nhusb sys/dev/usb/uberry.c: netbsd-7-nhusb sys/dev/usb/ubsa.c: netbsd-7-nhusb sys/dev/usb/ubsa_common.c: netbsd-7-nhusb sys/dev/usb/ubsavar.h: netbsd-7-nhusb sys/dev/usb/ubt.c: netbsd-7-nhusb sys/dev/usb/uchcom.c: netbsd-7-nhusb sys/dev/usb/ucom.c: netbsd-7-nhusb sys/dev/usb/ucomvar.h: netbsd-7-nhusb sys/dev/usb/ucycom.c: netbsd-7-nhusb sys/dev/usb/udl.c: netbsd-7-nhusb sys/dev/usb/udl.h: netbsd-7-nhusb sys/dev/usb/udsbr.c: netbsd-7-nhusb sys/dev/usb/udsir.c: netbsd-7-nhusb sys/dev/usb/uep.c: netbsd-7-nhusb sys/dev/usb/uftdi.c: netbsd-7-nhusb sys/dev/usb/uftdireg.h: netbsd-7-nhusb sys/dev/usb/ugen.c: netbsd-7-nhusb sys/dev/usb/ugensa.c: netbsd-7-nhusb sys/dev/usb/uhci.c: netbsd-7-nhusb sys/dev/usb/uhcireg.h: netbsd-7-nhusb sys/dev/usb/uhcivar.h: netbsd-7-nhusb sys/dev/usb/uhid.c: netbsd-7-nhusb sys/dev/usb/uhidev.c: netbsd-7-nhusb sys/dev/usb/uhidev.h: netbsd-7-nhusb sys/dev/usb/uhmodem.c: netbsd-7-nhusb sys/dev/usb/uhso.c: netbsd-7-nhusb sys/dev/usb/uhub.c: netbsd-7-nhusb sys/dev/usb/uipad.c: netbsd-7-nhusb sys/dev/usb/uipaq.c: netbsd-7-nhusb sys/dev/usb/uirda.c: netbsd-7-nhusb sys/dev/usb/uirdavar.h: netbsd-7-nhusb sys/dev/usb/ukbd.c: netbsd-7-nhusb sys/dev/usb/ukbdmap.c: netbsd-7-nhusb sys/dev/usb/ukyopon.c: netbsd-7-nhusb sys/dev/usb/ukyopon.h: netbsd-7-nhusb sys/dev/usb/ulpt.c: netbsd-7-nhusb sys/dev/usb/umass.c: netbsd-7-nhusb sys/dev/usb/umass_isdata.c: netbsd-7-nhusb sys/dev/usb/umass_isdata.h: netbsd-7-nhusb sys/dev/usb/umass_quirks.c: netbsd-7-nhusb sys/dev/usb/umass_quirks.h: netbsd-7-nhusb sys/dev/usb/umass_scsipi.c: netbsd-7-nhusb sys/dev/usb/umass_scsipi.h: netbsd-7-nhusb sys/dev/usb/umassvar.h: netbsd-7-nhusb sys/dev/usb/umcs.c: netbsd-7-nhusb sys/dev/usb/umct.c: netbsd-7-nhusb sys/dev/usb/umidi.c: netbsd-7-nhusb sys/dev/usb/umidi_quirks.c: netbsd-7-nhusb sys/dev/usb/umidi_quirks.h: netbsd-7-nhusb sys/dev/usb/umodem.c: netbsd-7-nhusb sys/dev/usb/umodem_common.c: netbsd-7-nhusb sys/dev/usb/umodemvar.h: netbsd-7-nhusb sys/dev/usb/ums.c: netbsd-7-nhusb sys/dev/usb/uplcom.c: netbsd-7-nhusb sys/dev/usb/urio.c: netbsd-7-nhusb sys/dev/usb/urio.h: netbsd-7-nhusb sys/dev/usb/usb.c: netbsd-7-nhusb sys/dev/usb/usb.h: netbsd-7-nhusb sys/dev/usb/usb_mem.c: netbsd-7-nhusb sys/dev/usb/usb_mem.h: netbsd-7-nhusb sys/dev/usb/usb_quirks.c: netbsd-7-nhusb sys/dev/usb/usb_quirks.h: netbsd-7-nhusb sys/dev/usb/usb_subr.c: netbsd-7-nhusb sys/dev/usb/usbdevices.config: netbsd-7-nhusb sys/dev/usb/usbdevs: netbsd-7-nhusb sys/dev/usb/usbdevs.h: netbsd-7-nhusb sys/dev/usb/usbdevs_data.h: netbsd-7-nhusb sys/dev/usb/usbdi.c: netbsd-7-nhusb sys/dev/usb/usbdi.h: netbsd-7-nhusb sys/dev/usb/usbdi_util.c: netbsd-7-nhusb sys/dev/usb/usbdi_util.h: netbsd-7-nhusb sys/dev/usb/usbdivar.h: netbsd-7-nhusb sys/dev/usb/usbhid.h: netbsd-7-nhusb sys/dev/usb/usbhist.h: netbsd-7-nhusb sys/dev/usb/usbroothub.c: netbsd-7-nhusb sys/dev/usb/usbroothub.h: netbsd-7-nhusb sys/dev/usb/usbroothub_subr.c: delete sys/dev/usb/usbroothub_subr.h: delete sys/dev/usb/uscanner.c: netbsd-7-nhusb sys/dev/usb/uslsa.c: netbsd-7-nhusb sys/dev/usb/usscanner.c: netbsd-7-nhusb sys/dev/usb/ustir.c: netbsd-7-nhusb sys/dev/usb/uthum.c: netbsd-7-nhusb sys/dev/usb/utoppy.c: netbsd-7-nhusb sys/dev/usb/uts.c: netbsd-7-nhusb sys/dev/usb/uvideo.c: netbsd-7-nhusb sys/dev/usb/uvisor.c: netbsd-7-nhusb sys/dev/usb/uvscom.c: netbsd-7-nhusb sys/dev/usb/uyap.c: netbsd-7-nhusb sys/dev/usb/uyap_firmware.h: netbsd-7-nhusb sys/dev/usb/uyurex.c: netbsd-7-nhusb sys/dev/usb/x1input_rdesc.h: netbsd-7-nhusb sys/dev/usb/xhci.c: netbsd-7-nhusb sys/dev/usb/xhcireg.h: netbsd-7-nhusb sys/dev/usb/xhcivar.h: netbsd-7-nhusb sys/dev/usb/xinput_rdesc.h: netbsd-7-nhusb sys/external/bsd/common/conf/files.linux: netbsd-7-nhusb sys/external/bsd/common/include/linux/err.h: netbsd-7-nhusb sys/external/bsd/common/include/linux/kernel.h: netbsd-7-nhusb sys/external/bsd/common/include/linux/workqueue.h: netbsd-7-nhusb sys/external/bsd/common/linux/linux_work.c: netbsd-7-nhusb sys/external/bsd/drm2/dist/drm/radeon/atombios_encoders.c: netbsd-7-nhusb sys/external/bsd/drm2/dist/drm/radeon/radeon_legacy_encoders.c: netbsd-7-nhusb sys/external/bsd/drm2/drm/files.drmkms: netbsd-7-nhusb sys/external/bsd/drm2/i915drm/files.i915drmkms: netbsd-7-nhusb sys/external/bsd/drm2/include/linux/err.h: delete sys/external/bsd/drm2/include/linux/workqueue.h: delete sys/external/bsd/drm2/linux/files.drmkms_linux: netbsd-7-nhusb sys/external/bsd/drm2/linux/linux_work.c: delete sys/external/bsd/dwc2/dwc2.c: netbsd-7-nhusb sys/external/bsd/dwc2/dwc2.h: netbsd-7-nhusb sys/external/bsd/dwc2/dwc2var.h: netbsd-7-nhusb sys/external/bsd/dwc2/dwctwo2netbsd: netbsd-7-nhusb sys/external/bsd/dwc2/conf/files.dwc2: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_core.c: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_core.h: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_coreintr.c: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_hcd.c: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_hcd.h: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_hcdddma.c: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_hcdintr.c: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_hcdqueue.c: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_hw.h: netbsd-7-nhusb sys/modules/drmkms_linux/Makefile: netbsd-7-nhusb sys/modules/i915drmkms/Makefile: netbsd-7-nhusb sys/rump/dev/lib/libugenhc/ugenhc.c: netbsd-7-nhusb sys/rump/dev/lib/libusb/Makefile: netbsd-7-nhusb sys/rump/dev/lib/libusb/USB.ioconf: netbsd-7-nhusb sys/rump/dev/lib/libusb/usb_at_ugenhc.c: delete sys/rump/dev/lib/libusb/opt/opt_usb.h: delete sys/rump/dev/lib/libusb/opt/opt_usbverbose.h: delete sys/sys/mbuf.h: netbsd-7-nhusb usr.sbin/usbdevs/usbdevs.8: netbsd-7-nhusb usr.sbin/usbdevs/usbdevs.c: netbsd-7-nhusb Merge netbsd-7-nhusb: - API / infrastructure changes to support memory management changes. - Memory management improvements and bug fixes. - HCDs should now be MP safe - conversion to KERNHIST based debug - FS/LS isoc support on ehci(4). - conversion to kmem(9) - Some USB 3 support - mostly from Takahiro HAYASHI (t-hash). - interrupt transfers now get proper DMA operations - general bug fixes - kern/48308 - uhub status notification improvements - umass(4) probe fix (applied to HEAD already) - ohci(4) short transfer fix - Change the SOFTINT level from NET to SERIAL for the USB softint handler. This gives the callback a chance of running when another softint handler at SOFTINT_NET has blocked holding a lock, e.g. softnet_lock and most of the network stack. - kern/49065 - ifconfig tun0 ... sequence locks up system / lockup: softnet_lock held across usb xfr - kern/50491 - unkillable wait in usbd_transfer while using usmsc0 on raspberry pi 2 - kern/51395 - USB Ethernet makes xhci hang - Various improvements to slhci(4) - Various improvements to dwc2(4)
|
1.3.2.1 |
| 14-Feb-2015 |
snj | branches: 1.3.2.1.4; Pull up following revision(s) (requested by nonaka in ticket #512): sys/dev/usb/if_axen.c: revision 1.4 Apply PR kern/49659 patch from Takahiro HAYASHI.
|
1.3.2.1.4.2 |
| 26-Jan-2017 |
skrll | Sync with HEAD/nhusb
|
1.3.2.1.4.1 |
| 06-Sep-2016 |
skrll | First pass at netbsd-7 updated with USB code from HEAD
|
1.9.2.1 |
| 07-Jan-2017 |
pgoyette | Sync with HEAD. (Note that most of these changes are simply $NetBSD$ tag issues.)
|
1.11.8.9 |
| 28-Aug-2020 |
martin | Pull up following revision(s) (requested by riastradh in ticket #1599):
sys/dev/usb/if_atu.c: revision 1.73 sys/dev/usb/if_axe.c: apply patch sys/dev/usb/if_axen.c: apply patch
atu(4): Reject packets larger than MCLBYTES.
|
1.11.8.8 |
| 13-May-2019 |
martin | Pull up the following, via patch, requested by msaitoh in ticket #1263:
sys/dev/mii/brgphy.c 1.84 sys/dev/mii/ciphy.c 1.33 via patch sys/dev/mii/rgephy.c 1.53 sys/arch/arm/imx/if_enet.c 1.18 sys/arch/mips/adm5120/dev/if_admsw.c 1.19-1.20 sys/dev/pci/if_bge.c 1.329 sys/dev/pci/if_bnx.c 1.81 sys/dev/pci/if_et.c 1.21 sys/dev/pci/if_lii.c 1.22 sys/dev/pci/if_msk.c 1.87 sys/dev/pci/if_nfe.c 1.68 sys/dev/pci/if_sk.c 1.95 sys/dev/pci/if_ti.c 1.107 sys/dev/pci/if_txp.c 1.52 sys/dev/pci/if_vge.c 1.69 sys/dev/usb/if_axen.c 1.38 sys/dev/usb/if_aue.c 1.149
Fix a bug that the duplex of manual media setting may be wrong when the IFM_GMASK bit other than IFM_[FH]DX is set.
|
1.11.8.7 |
| 20-Feb-2019 |
martin | Pull up following revision(s) (requested by rin in ticket #1194):
sys/dev/usb/if_axen.c: revision 1.26 sys/dev/usb/if_axenreg.h: revision 1.7
Remove unused variable in axen_softc.
Drop AXEN_MEDIUM_ALWAYS_ONE (from Linux), which reduces drop erros in RX.
|
1.11.8.6 |
| 19-Feb-2019 |
martin | Pull up following revision(s) (requested by rin in ticket #1192):
sys/dev/usb/if_axen.c: revision 1.27 sys/dev/usb/if_axenreg.h: revision 1.6 sys/dev/usb/if_axen.c: revision 1.32 sys/dev/usb/if_axen.c: revision 1.35 sys/dev/usb/if_axen.c: revision 1.37 sys/dev/usb/if_axenreg.h: revision 1.10 sys/dev/usb/if_axenreg.h: revision 1.11 sys/dev/usb/if_axen.c: revision 1.24
Correct error bits in RX packet header: - Drop error is bit 31. - CRC error is bit 29. - Distinguish the two errors in debug printf.
Cosmetic changes; no functional changes.
Add couple of error printf.
XXX We should not to use aprint_xxx() for non-autoconf staffs.
Add ratecheck for TX errors for axen(4) and mue(4).
Remove unused.
|
1.11.8.5 |
| 19-Feb-2019 |
martin | Pull up following revision(s) (requested by rin in ticket #1191):
sys/dev/usb/if_axen.c: revision 1.28 sys/dev/usb/if_axen.c: revision 1.29 sys/dev/usb/if_axenreg.h: revision 1.4 sys/dev/usb/if_axenreg.h: revision 1.5 sys/dev/usb/if_axen.c: revision 1.19 sys/dev/usb/if_axenreg.h: revision 1.8 sys/dev/usb/if_axen.c: revision 1.30 sys/dev/usb/if_axen.c: revision 1.31 sys/dev/usb/if_axen.c: revision 1.36 sys/dev/usb/if_axen.c: revision 1.20 sys/dev/usb/if_axen.c: revision 1.23 sys/dev/usb/if_axen.c: revision 1.25
Fix HW checksum offloading. - Enable ones specified in if_capenable and remove AXEN_TOE macro. - Check correct bit and set appropriate csum_flags. - Pass packets of wrong checksum to upper layer instead of dropping them. - Fix value of AXEN_RXHDR_L3_TYPE_MASK.
Tested on ASIX Elec. Corp. (0xb95) AX88179 (0x1790).
Fix previous: - axen_coe() should be called from axen_init(), not axen_ax88179_init(). - Simplify logic in axen_coe(); AXEN_[RT]XCOE_OFF = 0.
Enable hash-table-based multicast filter: - Drop AXEN_RXCTL_ACPT_PHY_MCAST bit (neither Linux nor FreeBSD sets it). - 0x0010 bit is not AXEN_RXCTL_ACPT_BCAST ("accept broadcast") but AXEN_RXCTL_ACPT_MCAST ("accept multicast (hash-table-based)").
Remove useless memset.
Fix padding for a full length USB packet in TX: - Update boundary length for SS mode, taken from OpenBSD. - Make sure everything passed to the adapter is little endian. - Specify padding bits in a similar manner to Linux.
XXX I wonder whether this is really necessary...
Support TSOv4 (They call it LSOv1). The adapter does not support TSOv6 (aka LSOv2).
Fix previous.
Oops, fix previous again. Really support TSOv4.
Use unsigned variables for buffer length to avoid compiler warnings.
|
1.11.8.4 |
| 19-Feb-2019 |
martin | Pull up following revision(s) (requested by rin in ticket #1190):
sys/dev/usb/if_axen.c: revision 1.21 sys/dev/usb/if_axen.c: revision 1.22
Enable AXEN_RXCTL_START bit only when RX is ready. Otherwise, the adapter eventually falls into "no carrier" state while it is not running.
In axen_tick_task(), call axen_miibus_statchg() when link is lost (like other drivers). Otherwise, link can be lost forever, which results in sysmtem freeze.
Drop AXEN_MEDIUM_ALWAYS_ONE (from Linux), which reduces drop erros in RX.
|
1.11.8.3 |
| 07-Feb-2019 |
msaitoh | Pullup the following revisions (requested by martin in ticket #1182): sys/dev/usb/if_axen.c 1.14 share/man/man4/axen.4 1.7
Andrius V in Pr kern/53461: add D-Link DUB-1312
|
1.11.8.2 |
| 08-Aug-2018 |
martin | Pull up following revision(s) (requested by riastradh in ticket #963):
sys/dev/usb/if_cue.c: revision 1.80 sys/dev/usb/umcs.c: revision 1.11 sys/dev/usb/umcs.c: revision 1.12 sys/dev/usb/if_ural.c: revision 1.56 sys/dev/usb/if_run.c: revision 1.28 sys/dev/usb/if_ural.c: revision 1.57 sys/dev/usb/if_run.c: revision 1.29 sys/dev/usb/uatp.c: revision 1.16 sys/dev/usb/uatp.c: revision 1.17 sys/dev/usb/if_axe.c: revision 1.91 sys/dev/usb/if_axe.c: revision 1.92 sys/dev/usb/if_zyd.c: revision 1.49 sys/dev/usb/if_axen.c: revision 1.15 sys/dev/usb/if_url.c: revision 1.60 sys/dev/usb/if_udav.c: revision 1.54 sys/dev/usb/if_axen.c: revision 1.16 sys/dev/usb/if_udav.c: revision 1.55 sys/dev/usb/if_athn_usb.c: revision 1.28 sys/dev/usb/if_athn_usb.c: revision 1.29 sys/dev/usb/if_urtw.c: revision 1.16 sys/dev/usb/if_urtw.c: revision 1.17 sys/dev/usb/if_cue.c: revision 1.79 sys/dev/usb/if_rum.c: revision 1.62 sys/dev/usb/if_urtwn.c: revision 1.61 sys/dev/usb/if_rum.c: revision 1.63 sys/dev/usb/if_urtwn.c: revision 1.63 sys/dev/usb/usb.c: revision 1.170 sys/dev/usb/usb.c: revision 1.171 sys/dev/usb/if_smsc.c: revision 1.35 sys/dev/usb/if_smsc.c: revision 1.36 sys/dev/usb/if_zyd.c: revision 1.50 sys/dev/usb/if_aue.c: revision 1.144 sys/dev/usb/if_aue.c: revision 1.145 sys/dev/usb/usb_subr.c: revision 1.225 sys/dev/usb/usb_subr.c: revision 1.226 sys/dev/usb/if_upgt.c: revision 1.21 sys/dev/usb/usbdi.h: revision 1.93 sys/dev/usb/if_upgt.c: revision 1.22 sys/dev/usb/if_url.c: revision 1.59 sys/dev/usb/usbdi.h: revision 1.95 sys/dev/usb/if_otus.c: revision 1.34 sys/dev/usb/if_atu.c: revision 1.62 sys/dev/usb/if_otus.c: revision 1.35 sys/dev/usb/if_atu.c: revision 1.63
New function usb_rem_task_wait(dev, task, queue).
If task is scheduled to run, removes it from the queue. If it may have already begun to run, waits for it to complete. Caller must guarantee it will not switch to another queue. If caller guarantees it will not be scheduled again, then usb_rem_task_wait guarantees it is not running on return.
This will enable us to fix a litany of bugs in detach where we currently fail to wait for a pending task.
Use usb_rem_task_wait in various drivers.
|
1.11.8.1 |
| 31-Jan-2018 |
martin | Pull up following revision(s) (requested by skrll in ticket #509): sys/dev/usb/if_ural.c: revision 1.53 sys/dev/usb/if_run.c: revision 1.25 sys/dev/usb/ustir.c: revision 1.39 sys/dev/usb/irmce.c: revision 1.4 sys/dev/usb/if_urtwn.c: revision 1.56 sys/dev/usb/pseye.c: revision 1.24 sys/dev/usb/if_rum.c: revision 1.59 sys/dev/usb/if_upl.c: revision 1.61 sys/dev/usb/ucom.c: revision 1.120 sys/dev/usb/if_zyd.c: revision 1.45 sys/dev/usb/if_axen.c: revision 1.12 sys/dev/usb/umidi.c: revision 1.74 sys/dev/usb/if_udav.c: revision 1.52 sys/dev/usb/if_athn_usb.c: revision 1.25 sys/dev/usb/usscanner.c: revision 1.43 sys/dev/usb/ualea.c: revision 1.6 - 1.9 sys/dev/usb/if_upgt.c: revision 1.18 sys/dev/usb/if_atu.c: revision 1.56 sys/dev/usb/utoppy.c: revision 1.30 sys/dev/usb/ubt.c: revision 1.60 sys/dev/usb/if_urtw.c: revision 1.14 sys/dev/usb/uirda.c: revision 1.43 sys/dev/usb/umass.c: revision 1.163 sys/dev/usb/if_cdce.c: revision 1.45 sys/dev/usb/if_cue.c: revision 1.77 sys/dev/usb/if_kue.c: revision 1.91 sys/dev/usb/uvideo.c: revision 1.46 sys/dev/usb/uhso.c: revision 1.27 sys/dev/usb/if_smsc.c: revision 1.33 sys/dev/usb/ugen.c: revision 1.137 sys/dev/usb/if_axe.c: revision 1.84 sys/dev/usb/if_aue.c: revision 1.142 sys/dev/usb/uscanner.c: revision 1.82 sys/dev/usb/if_urndis.c: revision 1.17 sys/dev/usb/udsir.c: revision 1.6 sys/dev/usb/if_url.c: revision 1.57 sys/dev/usb/if_otus.c: revision 1.32 sys/dev/usb/ulpt.c: revision 1.99
PR kern/52931 Kernel panics with Atheros usb wireless interface Audit the flags to usbd_create_xfer so that USBD_FORCE_SHORT_XFER is supplied wherever such a transfer is setup. We can drop USBD_SHORT_XFER_OK as it has not bearing on number of TDs
ualea: Tidy up a bit. Fulfil requests completely. Don't subtract uninitialized pktsize in error path.
|
1.12.2.4 |
| 26-Jan-2019 |
pgoyette | Sync with HEAD
|
1.12.2.3 |
| 30-Sep-2018 |
pgoyette | Ssync with HEAD
|
1.12.2.2 |
| 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
1.12.2.1 |
| 28-Jul-2018 |
pgoyette | Sync with HEAD
|
1.13.2.2 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.13.2.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.50.2.1 |
| 01-Sep-2019 |
martin | Pull up following revision(s) (requested by mrg in ticket #135):
distrib/sets/lists/comp/mi 1.2279 distrib/sets/lists/modules/mi 1.123 share/man/man9/Makefile 1.438 share/man/man9/usbnet.9 1.1-1.9 sys/dev/ic/rndisreg.h 1.3 sys/dev/usb/TODO 1.47-1.52 sys/dev/usb/TODO.usbmp 1.15,1.16 sys/dev/usb/files.usb 1.157-1.167 sys/dev/usb/if_aue.c 1.155-1.161 sys/dev/usb/if_auereg.h 1.30-1.32 sys/dev/usb/if_axe.c 1.103-1.119 sys/dev/usb/if_axen.c 1.51-1.53,1.55-1.67 sys/dev/usb/if_axenreg.h 1.15 sys/dev/usb/if_cdce.c 1.54-1.67 sys/dev/usb/if_cue.c 1.85,1.86 sys/dev/usb/if_cuereg.h 1.23 sys/dev/usb/if_kue.c 1.97-1.100 sys/dev/usb/if_kuereg.h 1.23,1.24 sys/dev/usb/if_mue.c 1.51-1.55 sys/dev/usb/if_muereg.h 1.6 sys/dev/usb/if_muevar.h 1.9 sys/dev/usb/if_smsc.c 1.46-1.61 sys/dev/usb/if_smscreg.h 1.6 sys/dev/usb/if_smscvar.h delete sys/dev/usb/if_udav.c 1.60-1.71 sys/dev/usb/if_udavreg.h 1.14,1.15 sys/dev/usb/if_upl.c 1.65,1.66 sys/dev/usb/if_ure.c 1.15-1.31 sys/dev/usb/if_urevar.h 1.4,1.5 sys/dev/usb/if_url.c 1.67-1.70 sys/dev/usb/if_urlreg.h 1.14 sys/dev/usb/if_urndis.c 1.22-1.33 sys/dev/usb/if_urtwn.c 1.72 sys/dev/usb/ohci.c 1.290 sys/dev/usb/uhub.c 1.143 sys/dev/usb/usb.c 1.180 sys/dev/usb/usb.h 1.118 sys/dev/usb/usb_mem.c 1.71 sys/dev/usb/usb_subr.c 1.238,1.239 sys/dev/usb/usbdevs 1.772 sys/dev/usb/usbdi.c 1.183,1.186 sys/dev/usb/usbdi.h 1.97 sys/dev/usb/usbdi_util.c 1.75 sys/dev/usb/usbhist.h 1.5,1.6 sys/dev/usb/usbnet.c 1.1-1.24 sys/dev/usb/usbnet.h 1.1-1.14 sys/dev/usb/usbroothub.c 1.9 sys/dev/usb/xhci.c 1.109,1.110 sys/modules/Makefile 1.223 sys/modules/usbnet/Makefile 1.1
usbnet(9): Add common framework for USB network devices. This bring various safety fixes to all updated drivers, and includes locking clean up, detach safety when being used or not, separate rx/tx locks to improve performance, porting to NET_MPSAFE, many edge/error case bugs in drivers fixed, as well as resovling PRs 54303 and 54308. These drivers are converted: axe(4), axen(4), aue(4), cdce(4), cue(4), kue(4), mue(4), smsc(4), udav(4), upl(4), ure(4), url(4), and urndis(4).
|
1.68.2.2 |
| 29-Feb-2020 |
ad | Sync with head.
|
1.68.2.1 |
| 17-Jan-2020 |
ad | Sync with head.
|
1.94.4.1 |
| 12-Apr-2025 |
martin | Pull up following revision(s) (requested by hgutch in ticket #1091):
sys/dev/usb/if_axen.c: revision 1.95 sys/dev/usb/if_axen.c: revision 1.96
Add support for AX88179A. From sc.dying on current-users.
Use un_flags as pointed out by mrg@ thanks.
|