snd_uaudio: Define USB IDs in usbdevs
No functional change intended.
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
(cherry picked from commit 3e67b90c55b44579c2f73c2fbdeac54087c7495f)
sound: Retire sndcard_func
sndcard_func is used as an ivar which passes around device info to the
PCM and MIDI children in snd_csa(4) and snd_emu10kx(4). Simplify this
and retire the need for sndcard_func, by 1) making an ivar only what
used to be stored in sndcard_func->varinfo, 2) replacing
sndcard_func->func with a child comparison, where needed, for instance
in csa_detach().
sndcard_func is harmless in reality, but there is no reason to have the
additional complexity. This way we also avoid the structure allocations.
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
(cherry picked from commit a753ca9c3f0644611e7dfb453af61896fed6c897)
dpaa: Split FMan port driver into distinct TX/RX
There are several port functions that are only for one type or the
other, so they don't make sense to be together. Splitting these up also
simplifies adding support for the Offline/Host Command ports.
Fix transposed arguments in call to calloc(). Reported by GCC 15 warning.
No functional change intended.
Submitted by: Pedro Giffuni <pfg at freebsd.org>
(cherry picked from commit 2cefae4cf34e7d39fc3b27358d7d66a96b3b0056)
snd_hdspe: Avoid allocation in the interrupt handler
Cache PCM children and drain interrupt callbacks before detach.
Allocate the parent softc by its actual size.
Reviewed by: br
Differential Revision: https://reviews.freebsd.org/D58370
(cherry picked from commit 4c1004c00ff250f2a9e5bff5ae90c25d6b70feb3)
ixgbe: Avoid a signed shift while assembling the PHY ID
The PHY identifier word is promoted to signed int when the cast is
applied after the shift. Cast the 16-bit register value first so
identifiers with their high bit set are assembled as unsigned data.
(cherry picked from commit f4bf1da7bac80cbe3ec862f395c22a3c5d176312)
igc: Avoid a signed shift while assembling the PHY ID
The PHY identifier word is promoted to signed int when the cast is
applied after the shift. Cast the 16-bit register value first so
identifiers with their high bit set are assembled as unsigned data.
(cherry picked from commit f5fd839fe688181e57171850ce51e4dec71e62fd)
e1000: Avoid signed shifts while assembling PHY IDs
PHY identifier words are promoted to signed int when the cast is applied
after the shift. Cast each 16-bit register value first so identifiers
with their high bit set are assembled as unsigned data.
(cherry picked from commit 13a7470096567480676e24545b3c1d6404f3f2ec)
igc: Export EEE Low Power Idle counters
The driver already accumulates the clear-on-read transmit and receive
LPI event counters. Expose the 64-bit totals under the per-device eee
sysctl node.
(cherry picked from commit 13d78e4b9d0a27128319a1241f00f7ab9aa864bb)
ixl: Avoid a signed PHY capability shift
The PHY capability display examines all 32 bits of the firmware bitmap.
Use an unsigned value so examining bit 31 does not shift a signed
integer into its sign bit.
(cherry picked from commit f7427f890c7f34d0842a35eb9df814adad11a95a)
e1000: Avoid a signed manageability VLAN bitmap shift
A manageability VLAN can select bit 31 of its VFTA register. Use an
unsigned value when constructing the register mask.
(cherry picked from commit 392fbdcf2232f12cb973d00ae931740c72d970c6)
ixgbe: Use unsigned register bitmap shifts
VLAN, VMDq, and VF reset bit indices can reach 31. Use unsigned
values when constructing their 32-bit register masks so the shifts do
not operate on signed integers.
(cherry picked from commit bf6feffef6c16559333048859b24547acea3dba5)
ixgbe: Avoid signed overflow in LED register masks
LED index three shifts the blink bit into bit 31. Convert the base to
the register width before shifting so the operation is unsigned.
This is the ixgbe counterpart of the e1000 correction imported from
DPDK commit 214cb0d7f1.
(cherry picked from commit bbdd3c4692e2869817f77c359b4a2719e716921d)
ixgbe: Avoid a signed shift while assembling the PBA number
The EEPROM word is promoted to signed int before the left shift when
the cast is applied to the complete expression. Cast the word first so
all 16-bit values are shifted as unsigned data.
This is the ixgbe counterpart of the e1000 correction imported from
DPDK commit b932270c66.
(cherry picked from commit baa6e3af8525244e65a404fa13306fbca7feae9c)
igc: Check PHY control register reads
Do not modify a zero-initialized PHY control value when its preceding
read failed. Leave the PHY unchanged when the void power helpers cannot
read its current state.
This follows the defensive checks added to the corresponding e1000
helpers.
(cherry picked from commit 1121aaa0758baf04bed6f16d4157116b49c25000)
igc: fix data type in MAC hash
DPDK commit message
net/e1000/base: fix data type in MAC hash
One of the bit shifts in MAC hash calculation triggers a static analysis
warning about a potential overflow. Fix the data type to avoid this.
Fixes: af75078fece3 ("first public release")
Cc: stable at dpdk.org
Signed-off-by: Barbara Skobiej <barbara.skobiej at intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov at intel.com>
Acked-by: Bruce Richardson <bruce.richardson at intel.com>
Obtained from: DPDK (458734aaac)
(cherry picked from commit 3fc1786aa2a3f590453abb6ea2351a12e19f6b45)
igc: fix MAC address hash bit shift
DPDK commit message
net/e1000/base: fix MAC address hash bit shift
In e1000_hash_mc_addr_generic() the expression:
"mc_addr[4] >> 8 - bit_shift", right shifting "mc_addr[4]"
shift by more than 7 bits always yields zero, so hash becomes not so
different. Add initialization with bit_shift = 1, and add a loop
condition to ensure bit_shift will be always in [1..8] range.
Fixes: af75078fece3 ("first public release")
Cc: stable at dpdk.org
Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov at intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov at intel.com>
[5 lines not shown]
igc: fix iterator type
DPDK commit message
net/e1000/base: fix iterator type
Fix static analysis warning about comparison between types of
incompatible width, which might lead to an infinite loop due to
overflow.
Fixes: af75078fece3 ("first public release")
Cc: stable at dpdk.org
Signed-off-by: Amir Avivi <amir.avivi at intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov at intel.com>
Acked-by: Bruce Richardson <bruce.richardson at intel.com>
Obtained from: DPDK (3d36053991)
(cherry picked from commit 5587cb18b168f57a4d68c7e58ec660ab2a5ce4da)
ixgbe: Avoid a signed multicast bitmap shift
The multicast vector bit can be 31. Use an unsigned value so setting
the bit cannot shift a signed integer into its sign bit.
(cherry picked from commit 8704d29c6cc86f0780dff3d3d17d744106776ad3)
igc: Avoid a signed multicast bitmap shift
The multicast hash bit can be 31. Use an unsigned value so setting the
bit cannot shift a signed integer into its sign bit.
(cherry picked from commit 275ca86f6abffc4ee6e52a6daab06f5e5c21aa05)