Commit graph

38923 commits

Author SHA1 Message Date
Mateusz Guzik
f89065625c hwpmc: mostly clean up cc --analyze
Sponsored by:	Rubicon Communications, LLC ("Netgate")

(cherry picked from commit aee6e7dc0c)
2021-07-25 07:00:05 +00:00
Leandro Lupori
572e3575db aacraid: reduce max I/O size to avoid DMA issues
Reserve one page for the DMA subsystem, that may need it when the I/O
buffer is not page aligned.

Without this change, writes with the maximum allowed size failed, if:
- physical memory was fragmented, making it necessary to use one DMA
  segment for each page
- the buffer to be written was not page aligned, causing the DMA
  subsystem to need one extra segment

In the scenario above, the DMA subsystem would run out of segments,
resulting in a write with no SG segments, that would fail.

Reviewed by:		imp
Sponsored by:		Instituto de Pesquisas Eldorado (eldorado.org.br)
Differential Revision:	https://reviews.freebsd.org/D30798

(cherry picked from commit 9c2c635319)
2021-07-23 08:28:58 -03:00
Emmanuel Vadot
a5a6fd462c dwmmc: Add bus_generic_add_child in the methods
Otherwise sdiob cannot add it's children.

Sponsored by:	Diablotin Systems
Differential Revision:	https://reviews.freebsd.org/D30295

(cherry picked from commit c99d887ca8)
2021-07-22 19:25:54 +02:00
Emmanuel Vadot
a402f80395 an: Deprecate the driver
Last an(4) devices have been End Of Life and End Of Sale in 2007.
Time to remove this driver.

Differential Revision:	https://reviews.freebsd.org/D30678
Reviewed by:		imp (earlier version), adrian (earlier version)
MFC after:		3 days
Sponsored by:		Diablotin Systems

(cherry picked from commit ab30bb8270)
2021-07-22 19:18:56 +02:00
Emmanuel Vadot
1e372b0494 extres: regulator: Fix regulator_status for already enable regulators
If a regulator hasn't been enable by a driver but is enabled in hardware
(most likely enabled by U-Boot), regulator_status will returns that it
is enabled and so any call to regulator_disable will panic as it wasn't
enabled by one of our drivers.

Sponsored by:	Diablotin Systems
Differential Revision:	https://reviews.freebsd.org/D30293

(cherry picked from commit f52072b06d)
2021-07-22 19:09:43 +02:00
Emmanuel Vadot
ea9bd18bac mmc: dwmmc: Call mmc_fdt_set_power
This allow us to powerup/down the card and enabling/disabling the
regulators if any.

Sponsored by:	Diablotin Systems
Differential Revision:	https://reviews.freebsd.org/D30292

(cherry picked from commit ce41765c21)
2021-07-22 19:09:42 +02:00
Emmanuel Vadot
19ccda09de mmc_fdt_helper: Add mmc_fdt_set_power
This helper can be used to enable/disable the regulator and starting
the power sequence of sd/sdio/eMMC cards.

Sponsored by:	Diablotin Systems
Differential Revision:	https://reviews.freebsd.org/D30291

(cherry picked from commit 03d4e8bb65)
2021-07-22 19:09:41 +02:00
Emmanuel Vadot
ac90d80771 mmc_fdt_helpers: Parse the optional pwrseq element.
If a sd/emmc node have a pwrseq property parse it and get the corresponding
driver.
This can later be used to powerup/powerdown the SDIO card or eMMC.

Sponsored by:	Diablotin Systems
Differential Revision:	https://reviews.freebsd.org/D30289

(cherry picked from commit b0387990a7)
2021-07-22 19:09:39 +02:00
Emmanuel Vadot
d35cbeb4b1 mmc: Add mmc-pwrseq driver
This driver is used to power up sdio card or eMMC.
It handle the reset-gpio, clocks and needed delays for powerup/powerdown.

Sponsored by:	Diablotin Systems
Differential Revision:	https://reviews.freebsd.org/D30288

(cherry picked from commit 5b2a81f58d)
2021-07-22 19:09:38 +02:00
Emmanuel Vadot
41607b5ed4 mmccam: Add two new XPT for MMC and use them in mmc_sim and sdhci
For the discovery phase of SD/eMMC we need to do some transaction in a async
way.
The classic CAM XPT_{GET,SET}_TRAN_SETTING cannot be used in a async way.
This also allow us to split the discovery phase into a more complete state
machine and we don't mtx_sleep with a random number to wait for completion
of the tasks.
For mmc_sim we now do the SET_TRAN_SETTING in a taskqueue so we can call
the needed function for regulators/clocks without the cam lock(s). This part is
still needed to be done for sdhci.
We also now save the host OCR in the discovery phase as it wasn't done before and
only worked because the same ccb was reused.

Reviewed by:	imp, kibab, bz
Differential Revision:	https://reviews.freebsd.org/D30038

(cherry picked from commit af2253f61c)
2021-07-22 19:09:38 +02:00
Emmanuel Vadot
bb2e1d6c69 dwc: Use mii_fdt function
Use the helper function to get phy mode and configure dwc accordingly.

Reviewed by:	ian

(cherry picked from commit f77d8d1011)
2021-07-22 18:48:11 +02:00
Emmanuel Vadot
f6deb48c11 dwmmc: Add \n to a debug printf
(cherry picked from commit 7cbdf8a05d)
2021-07-22 18:47:07 +02:00
Emmanuel Vadot
821c689006 mmc: dwmmc: Convert driver to use the mmc_sim interface
A lot more generic cam related things are done in mmc_sim so this simplify
the driver a lot.

Differential Revision:	https://reviews.freebsd.org/D27487
Reviewed by:	kibab

(cherry picked from commit f1cc48e5da)
2021-07-22 18:42:11 +02:00
Oskar Holmund
120e7f7399 usr.sbin/pwm/pwm add support for flags
The pwm utility cant set the only flag defined (PWM_POLARITY_INVERTED) so this
patch add the option -I (capital letter i) to send it to the drivers.

None of existing PWM driver have implemented support for flags.
But soon:ish I will put up an review of a pwm driver using TI OMAP DMTimer.

Differential Revision: https://reviews.freebsd.org/D29137
MFC after:   2 weeks

(cherry picked from commit 17b14d8f77)
2021-07-22 18:39:57 +02:00
Oskar Holmund
5c11eddf95 share/man/man9/pwmbus.9 fix types in arguments
Fix the types of period and duty in share/man/man9/pwmbus.9 to match the one in sys/dev/pmw/pwmbus.c.

Reviewed By: rpokala
Differential Revision: https://reviews.freebsd.org/D29139
MFC after:   3 days

(cherry picked from commit 7d4a5de84d)
2021-07-22 18:39:56 +02:00
Warner Losh
aebc14fcf5 nvme: Enable interrupts after qpair fully constructed
To guard against the ill effects of a spurious interrupt during
construction (or one that was bogusly pending), enable interrupts after
the qpair is completely constructed. Otherwise, we can die with null
pointer dereferences in nvme_qpair_process_completions. This has been
observed in at least one pre-release NVMe drive where the MSIX interrupt
fired while the queue was being created, before we'd started the NVMe
controller card.

The alternative of only turning on the interrupts after the rest was
tried, but was insufficient to work around this bug and made the code
more complicated w/o benefit.

Reviewed by:		mav, chuck
Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D31182

(cherry picked from commit fc9a084023)
2021-07-21 10:13:11 -06:00
Andriy Gapon
c5fa78d35d rtwn: make sure to not write in upper bits of txdseq
ni_txseqs is kept as 16-bit counter, but we need to trim the upper four
bits as they may have special meanings for the firmware / hardware.
For instance, bit 15 enables hardware / firmware generation of sequence
numbers that overrides sequence numbers programmed by the driver.

Reviewed by:	adrian

(cherry picked from commit 7544c1d20d)
2021-07-19 09:45:41 +03:00
Bjoern A. Zeeb
b9e51ecb5a mlx4/OFED: replace the struct net_device with struct ifnet
Given all the code does operate on struct ifnet, the last step in this
longer series of changes now is to rename struct net_device to
struct ifnet (that is what it was defined to in the LinuxKPi code).
While mlx4 and OFED are "shared" code the decision was made years ago
to not write it based on the netdevice KPI but the native ifnet KPI
for most of it.  This commit simply spells this out and with that
frees "struct netdevice" to be re-done on LinuxKPI to become a more
native/mixed implementation over time as needed by, e.g., wireless
drivers.

Sponsored by:	The FreeBSD Foundation
Reviewed by:	hselasky
Differential Revision: https://reviews.freebsd.org/D30515

(cherry picked from commit 1411f52fac)
2021-07-18 00:35:03 +00:00
Bjoern A. Zeeb
70c9c5431f mlx4: replace LinuxKPI macros with ifnet functions
The LinuxKPI net_device actually is an ifnet;  in order to further
clean that up so we can extend "net_device" replace the few macros
inline in mlx4.

Sponsored by:	The FreeBSD Foundation
Reviewed by:	kib
Differential Revision: https://reviews.freebsd.org/D30476

(cherry picked from commit 60afad6fc3)
2021-07-18 00:35:02 +00:00
Bjoern A. Zeeb
ddecc06c99 LinuxKPI/OFED/mlx4: cleanup netdevice.h some more
This removes all unused bits from linux/netdevice.h and migrates two
inline functions into the mlx4 and ofed code respectively.

This gets the mlx4/ofed (struct ifnet) specific bits down to 7 lines
in netdevice.h.

Sponsored by:	The FreeBSD Foundation
Reviewed by:	hselasky, kib
Differential Revision: https://reviews.freebsd.org/D30461

(cherry picked from commit c35034b338)
2021-07-18 00:35:02 +00:00
Bjoern A. Zeeb
57d5000e59 mlx5: remove dependency on ifnet specifics of linux/netdevice.h
Rename the last remaining bits depending on ifnet from linux/netdevice.h
instead of using the compat macros. This helps clearing up
struct netdevice being struct ifnet from linux/netdevice.h.

Sponsored by:	The FreeBSD Foundation
Reviewed by:	hselasky, kib
Differential Revision:	https://reviews.freebsd.org/D29497

(cherry picked from commit 4ded022d3b)
2021-07-18 00:34:59 +00:00
Bjoern A. Zeeb
0bbb50ec87 cxgbe: remove unused linux headers
Remove unused #includes of LinuxKPI headers noticed while trying to
solve LinuxKPI struct net_device and related functions.
Neither netdevice.h nor inetdevice.h nor notifier.h seem to be needed.
This takes cxgbe(4) out of the picture of D29366.

Sponsored by:	The FreeBSD Foundation
Reviewed by:	np
Differential Revision:	https://reviews.freebsd.org/D29432

(cherry picked from commit 0a7b99553f)
2021-07-18 00:34:59 +00:00
Bjoern A. Zeeb
25002ad610 qlnxr: remove netdevice.h
Remove unused #includes of a LinuxKPI header noticed while trying to
solve LinuxKPI struct net_device and related functions.
This takes qlnxr out of the picture of D29366.

Sponsored by:	The FreeBSD Foundation
(cherry picked from commit 6c8dd7c863)
2021-07-18 00:34:59 +00:00
Bjoern A. Zeeb
6040536c43 mlx4: remove no longer needed header
Remove linux/inetdevice.h as neither of the two inline functions there
are used here.

Sposored by:	The FreeBSD Foundation
Reviewed by:	hselasky
Differential Revision:	https://reviews.freebsd.org/D29428

(cherry picked from commit 5a461a86cf)
2021-07-18 00:34:59 +00:00
Bjoern A. Zeeb
f81b4f3be7 qlnxr: remove duplicate defines
upper_32_bits() and lower_32_bits() are defined twice in this file.
With the extra conditinal removed on LinuxKPI in 3b1ecc9fa1
they are also included from there already.  Use the LinuxKPI version
and remove the two local ones.

Sponsored by:	The FreeBSD Foundation
Reviewed by:	hselasky
Differential Revision:	https://reviews.freebsd.org/D29392

(cherry picked from commit 5df6f7a840)
2021-07-18 00:34:58 +00:00
Bjoern A. Zeeb
415e9b69a1 LinuxKPI: remove < 5.0 version support
We are not aware of any out-of-tree consumers anymore
which would need KPI support for before Linux version 5.
Update the two in-tree consumers to use the new KPI.
This allows us to remove the extra version check and
will also give access to {lower,upper}_32_bits() unconditionally.

Sponsored by:	The FreeBSD Foundation
Reviewed by:	hselasky, rlibby, rstone
X-MFC:		to 13 only
Differential Revision: https://reviews.freebsd.org/D29391

(cherry picked from commit 3b1ecc9fa1)
2021-07-18 00:34:58 +00:00
Bjoern A. Zeeb
87c6a74dbe pci: enhance printf for leaked MSI[-X] vectors
When debugging leaked MSI/MSI-X vectors through LinuxKPI I found
the informational printf unhelpful.  Rather than just stating we
leaked also tell how many MSI or MSI-X vectors we leak.

Sponsored by:	The FreeBSD Foundation
Reviewed by:	jhb
Differential Revision:	https://reviews.freebsd.org/D29394

(cherry picked from commit a9f0367b04)
2021-07-18 00:34:57 +00:00
Alexander Motin
a469b89bf2 nvme(4): Report NPWA before NPWG as stripesize.
New Samsung 980 SSDs report Namespace Preferred Write Alignment of
8 (4KB) and Namespace Preferred Write Granularity of 32 (16KB).
My quick tests show that 16KB is a minimal sequential write size
when the SSD reaches peak IOPS, so writing much less is very slow.
But writing slightly less or slightly more does not change much,
so it seems not so much a size granularity as minimum I/O size.

Thinking about different stripesize consumers:
 - Partition alignment should be based on NPWA by definition.
 - ZFS ashift in part of forcing alignment of all I/Os should also
be based on NPWA.  In part of forcing size granularity, if really
needed, it may be set to NPWG, but too big value can make ZFS too
space-inefficient, and the 16KB is actually the biggest supported
value there now.
 - ZFS recordsize/volblocksize could potentially be tuned up toward
NPWG to work as I/O size granularity, but enabled compression makes
it too fuzzy.  And those are normally user-configurable things.
 - ZFS I/O aggregation code could definitely use Optimal Write Size
value and may be NPWG, but we don't have fields in GEOM now to report
the minimal and optimal I/O sizes, and even maximal is not reported
outside GEOM DISK to be used by ZFS.

MFC after:	1 week

(cherry picked from commit e3bcd07d83)
2021-07-12 21:54:44 -04:00
Warner Losh
ffb294bd31 nvme: coherently read status of completion records
Coherently read the phase bit of the status completion record. We loop
over the completion record array, looking for all the transactions in
the same phase that have been completed. In doing that, we have to be
careful to read the status field first, and if it indicates a complete
record, we need to read and process that record. Otherwise, the host
might be overtaken by device when reading this completion record,
leading to a mistaken belief that the record is in phase. This leads to
the code using old values and looking at an already completed entry, which
has no current tracker.

To work around this problem, we read the status and make sure it is in
phase, we then re-read the entire completion record guaranteeing it's
complete, valid, and consistent . In addition we resync the dmatag to
reflect changes since the prior loop for the bouncing dma case.

Reviewed by:		jrtc27@, chuck@
Found by:		jrtc27 (this fix is based in part on her D30995 fix)
Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D31002

(cherry picked from commit aa0ab681ae)
2021-07-12 13:39:58 -06:00
Warner Losh
8c66f8811d nvme: Fix alignment on nvme structures
Remove __packed from nvme_command, nvme_completion and
nvme_dsm_trim. Add super-alignment to nvme_completion since it's always
at least that aligned in hardware (and in our existing uses of it
embedded in structures). It generates better code in
nvme_qpair_process_completions on riscv64 because otherwise the ABI
assumes a 4-byte alignment, and the same on all other platforms.

Reviewed by:		jrtc27@, mav@, chuck@
Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D31001

(cherry picked from commit fea3cf1d6d)
2021-07-12 13:30:56 -06:00
Warner Losh
1a3011fe0b nvme: style nit
Put the { on the same line as the struct nvme_foo when we define these
structures. It's FreeBSD standard and these were inconsistent.

Sponsored by:		Netflix

(cherry picked from commit 80a75155e1)
2021-07-12 13:30:55 -06:00
Warner Losh
1109ce0da2 nvme: fix a race between failing the controller and failing requests
Part of the nvme recovery process for errors is to reset the
card. Sometimes, this results in failing the entire controller. When nda
is in use, we free the sim, which will sleep until all the I/O has
completed. However, with only one thread, the request fail task never
runs once the reset thread sleeps here. Create two threads to allow I/O
to fail until it's all processed and the reset task can proceed.

This is a temporary kludge until I can work out questions that arose
during the review, not least is what was the race that queueing to a
failure task solved. The original commit is vague and other error paths
in the same context do a direct failure. I'll investigate that more
completely before committing changing that to a direct failure. mav@
raised this issue during the review, but didn't otherwise object.

Multiple threads, though, solve the problem in the mean time until other
such means can be perfected.

Reviewed by:		jhb@
Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D30366

(cherry picked from commit f0f4712165)
2021-07-12 13:30:55 -06:00
Warner Losh
c7b2c5da00 nvme: use config_intrhook_drain to avoid removable card races
nvme drives are configured early in boot. However, a number of the configuration
steps takes which take a while, so we defer those to a config intrhook that runs
before the root filesystem is mounted. At the same time, the PCI hot plug wakes
up and tests the status of the card. It may decide that the card has gone away
and deletes the child. As part of that process nvme_detach is called. If this
call happens after the config_intrhook starts to run, but before it is finished,
there's a race where we can tear down the device's soft state while the
config_intrhook is still using it. Use the new config_intrhook_drain to
disestablish the hook. Either it will be removed w/o running, or the routine
will wait for it to finish. This closes the race and allows safe hotplug at any
time, even very early in boot.

Sponsored by:		Netflix, Inc
Reviewed by:		jhb, mav
Differential Revision:	https://reviews.freebsd.org/D29006

(cherry picked from commit 8423f5d4c1)
2021-07-12 13:30:55 -06:00
Hans Petter Selasky
47c5e288ee Narrow down the probe range for if_ure(4) compatible devices
to only match the first vendor specific interface, if any.

PR:		253374
Sponsored by:	Mellanox Technologies // NVIDIA Networking

(cherry picked from commit dab84426a6)
2021-07-10 21:17:29 +02:00
Hans Petter Selasky
77f7133bd5 Add support for RTL8153B, RTL8156 and RTL8156B to if_ure(4).
Submitted by:	fbbz@synack.eu
PR:		253374
Sponsored by:	Mellanox Technologies // NVIDIA Networking

(cherry picked from commit d4cf41a99b)
2021-07-10 21:17:26 +02:00
John Baldwin
ae0219c10f fwohci: Cast bitfield to uint32_t before passing it to roundup2().
The fallback for __align_up() used by roundup2() uses __typeof__()
which doesn't work for bitfields.  This fixes the build on GCC which
uses the fallback.

Reviewed by:	arichardson, markj
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D28599

(cherry picked from commit 50a61f8db5)
2021-07-05 10:46:11 +01:00
Alex Richardson
0a55a5bf61 if_vtnet: Fix pointer-sign and used parameter warnings
Reviewed By:	grehan
Differential Revision: https://reviews.freebsd.org/D28726

(cherry picked from commit c1b554c868)
2021-07-05 10:46:11 +01:00
Ka Ho Ng
6fd5a4a6f3 virtio_blk: Fix issuing T_GET_ID before DRIVER_OK status
DRIVER_OK status is set after device_attach() succeeds. For now postpone
disk_create to attach_completed() method.

Sponsored by:	The FreeBSD Foundation
Reviewed by:	grehan
Approved by:	lwhsu (mentor)
Differential Revision:	https://reviews.freebsd.org/D30049

(cherry picked from commit 4e1e1d667f)
2021-06-28 23:16:39 +08:00
Mark Johnston
df57775d7a hyperv: Fix vmbus after the i386 4/4 split
The vmbus ISR needs to live in a trampoline.  Dynamically allocating a
trampoline at driver initialization time poses some difficulties due to
the fact that the KENTER macro assumes that the offset relative to
tramp_idleptd is fixed at static link time.  Another problem is that
native_lapic_ipi_alloc() uses setidt(), which assumes a fixed trampoline
offset.

Rather than fight this, move the Hyper-V ISR to i386/exception.s.  Add a
new HYPERV kernel option to make this optional, and configure it by
default on i386.  This is sufficient to make use of vmbus(4) after the
4/4 split.  Note that vmbus cannot be loaded dynamically and both the
HYPERV option and device must be configured together.  I think this is
not too onerous a requirement, since vmbus(4) was previously
non-functional.

Reported by:	Harry Schmalzbauer <freebsd@omnilan.de>
Tested by:	Harry Schmalzbauer <freebsd@omnilan.de>
Reviewed by:	whu, kib
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit 97993d1ebf)
2021-06-21 21:09:17 -04:00
Mark Johnston
d77e57f125 Consistently use the SOCKBUF_MTX() and SOCK_MTX() macros
This makes it easier to change the socket locking protocols.  No
functional change intended.

Sponsored by:	The FreeBSD Foundation

(cherry picked from commit a100217489)
2021-06-21 09:14:48 -04:00
Mark Johnston
46d8116cae Consistently use the SOLISTENING() macro
Some code was using it already, but in many places we were testing
SO_ACCEPTCONN directly.  As a small step towards fixing some bugs
involving synchronization with listen(2), make the kernel consistently
use SOLISTENING().  No functional change intended.

Sponsored by:	The FreeBSD Foundation

(cherry picked from commit f4bb1869dd)
2021-06-21 09:14:40 -04:00
Mark Johnston
5346c8bc54 Suppress D_NEEDGIANT warnings for some drivers
During boot we warn that the kbd and openfirm drivers are Giant-locked
and may be deleted.  Generally, the warning helps signal that certain
old drivers are not being maintained and are subject to removal, but
this doesn't really apply to certain drivers which are harder to
detangle from Giant.

Add a flag, D_GIANTOK, that devices can specify to suppress the
misleading warning.  Use it in the kbd and openfirm drivers.

Reviewed by:	imp, jhb
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit fbeb4ccac9)
2021-06-14 16:25:14 -04:00
Radosław Chmielarz
67b7e2de4f iwn: adjust EEPROM read timeout for Intel 4965AGN M2
Reading EEPROM from Intel 4965AGN M2 takes 60 us which was causing panic
on system startup.

PR:		255465
Reviewed by:	markj

(cherry picked from commit 03d4b58fee)
2021-06-14 16:25:14 -04:00
Vladimir Kondratyev
a4a738ba75 ums(4): Do not stop USB xfers on FIFO close when evdev is still active
This fixes lose of evdev events after moused has been killed.

While here use bitwise operations for UMS_EVDEV_OPENED flag.

Reviewed by:	hselasky
Differential revision:	https://reviews.freebsd.org/D30342

(cherry picked from commit 05ab03a317)
2021-06-14 00:59:18 +03:00
Vladimir Kondratyev
927742783f ums(4): Start USB xfers on opening of evdev node unconditionally.
This fixes inability to start USB xfers in a case when FIFO has been
already open()-ed but no read() or poll() calls has been issued yet.

MFC after:	2 weeks
Differential revision:	https://reviews.freebsd.org/D30343

(cherry picked from commit 47791339f0)
2021-06-14 00:58:44 +03:00
Vladimir Kondratyev
a303f4b1c1 usbhid(4): Add second set of USB transfers to work in polled mode.
The second set of USB transfer is requested by hkbd(4) and
should improve HID keyboard handling in kdb and panic contexts.

Reviewed by:	hselasky
Differential revision:	https://reviews.freebsd.org/D30486

(cherry picked from commit 9aa0e5af75)
2021-06-14 00:57:37 +03:00
Vladimir Kondratyev
4458105f06 usbhid(4): Fix NULL pointer dereference in usbd_xfer_max_len()
Which happens when USB transfer setup is failed.

PR:		254974
Reviewed by:	hselasky
Differential revision:	https://reviews.freebsd.org/D30485

(cherry picked from commit e889a462d8)
2021-06-14 00:57:31 +03:00
Konstantin Belousov
a3a907abbf hyperv: register intr handler as usermode-mapped if loaded as module
(cherry picked from commit fe7d7ac408)
2021-06-12 19:58:02 +03:00
Dmitry Chagin
923cd7e05a rtwn_usb(4): Add a USB ID for the TP-Link Archer T2U v3.
PR:		256203
Submitted by:	Steve Kargl sgk at troutmask.apl.washington.edu

(cherry picked from commit 434c46c006)
2021-06-10 09:14:22 +03:00
Dmitry Chagin
195f47fdb6 run(4): add support for DLINK DWA-130 rev F1 wireless adaptor.
PR:		256092
Submitted by:	Francois Briere <purplefiasco at gmail.com>

(cherry picked from commit 8746bc9187)
2021-06-06 14:23:43 +03:00