[PATCH] ALSA: usb-audio: us144mkii: Use le16_to_cpu() for product ID comparison
From: Šerif Rami
Date: Tue Aug 19 2025 - 03:51:37 EST
The `us144mkii.c` driver was generating sparse warnings due to direct
comparisons of `dev->descriptor.idProduct` (a `__le16` type) with
integer constants. This commit resolves these warnings by explicitly
converting `idProduct` to a CPU-endian integer using `le16_to_cpu()`
before comparison.
This ensures correct handling of endianness and eliminates the sparse
warnings:
- `restricted __le16 degrades to integer`
Reported-by: kernel test robot <lkp@xxxxxxxxx>
Closes: https://lore.kernel.org/oe-kbuild-all/202508190811.tjQJZI1X-lkp@xxxxxxxxx/
Signed-off-by: Šerif Rami <ramiserifpersia@xxxxxxxxx>
---
sound/usb/usx2y/us144mkii.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/usb/usx2y/us144mkii.c b/sound/usb/usx2y/us144mkii.c
index da53c1908..3127a3206 100644
--- a/sound/usb/usx2y/us144mkii.c
+++ b/sound/usb/usx2y/us144mkii.c
@@ -514,10 +514,10 @@ static int tascam_probe(struct usb_interface *intf,
}
strscpy(card->driver, DRIVER_NAME, sizeof(card->driver));
- if (dev->descriptor.idProduct == USB_PID_TASCAM_US144) {
+ if (le16_to_cpu(dev->descriptor.idProduct) == USB_PID_TASCAM_US144) {
strscpy(card->shortname, "TASCAM US-144",
sizeof(card->shortname));
- } else if (dev->descriptor.idProduct == USB_PID_TASCAM_US144MKII) {
+ } else if (le16_to_cpu(dev->descriptor.idProduct) == USB_PID_TASCAM_US144MKII) {
strscpy(card->shortname, "TASCAM US-144MKII",
sizeof(card->shortname));
} else {
--
2.50.1