linux/drivers/usb
Niklas Neronin 8109f57613 usb: xhci: correct debug message page size calculation
[ Upstream commit 55741c7233 ]

The ffs() function returns the index of the first set bit, starting from 1.
If no bits are set, it returns zero. This behavior causes an off-by-one
page size in the debug message, as the page size calculation [1]
is zero-based, while ffs() is one-based.

Fix this by subtracting one from the result of ffs(). Note that since
variable 'val' is unsigned, subtracting one from zero will result in the
maximum unsigned integer value. Consequently, the condition 'if (val < 16)'
will still function correctly.

[1], Page size: (2^(n+12)), where 'n' is the set page size bit.

Fixes: 81720ec532 ("usb: host: xhci: use ffs() in xhci_mem_init()")
Signed-off-by: Niklas Neronin <niklas.neronin@linux.intel.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20250306144954.3507700-9-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-04-10 14:39:23 +02:00
..
atm usb: atm: cxacru: fix a flaw in existing endpoint checks 2025-03-13 13:02:11 +01:00
c67x00 USB: c67x00: Remove unused declaration c67x00_hcd_msg_received() 2023-10-02 16:42:33 +02:00
cdns3 sub: cdns3: Use predefined PCI vendor ID constant 2024-09-13 15:39:06 +02:00
chipidea usb: chipidea: ci_hdrc_imx: decrement device's refcount in .remove() and in the error path of .probe() 2025-01-17 13:40:54 +01:00
class usb: cdc-acm: Fix handling of oversized fragments 2025-02-21 14:01:32 +01:00
common usb: common: Switch to device_property_match_property_string() 2024-09-11 15:34:34 +02:00
core usb: quirks: Add DELAY_INIT and NO_LPM for Prolific Mass Storage Card Reader 2025-03-13 13:02:11 +01:00
dwc2 usb: dwc2: gadget: remove of_node reference upon udc_stop 2025-02-21 14:01:30 +01:00
dwc3 usb: dwc3: gadget: Prevent irq storm when TH re-executes 2025-03-13 13:02:11 +01:00
early usb: early: xhci-dbc: Use memcpy_and_pad() 2023-01-31 10:40:54 +01:00
fotg210 move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
gadget usb: gadget: Check bmAttributes only if configuration is valid 2025-03-13 13:02:12 +01:00
host usb: xhci: correct debug message page size calculation 2025-04-10 14:39:23 +02:00
image scsi: core: Add a dma_alignment field to the host and host template 2024-04-11 21:37:48 -04:00
isp1760 move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
misc usb: misc: onboard_usb_dev: skip suspend/resume sequence for USB5744 SMBus support 2024-12-19 18:12:58 +01:00
mon [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
mtu3 tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
musb usb: musb: Fix hardware lockup on first Rx endpoint request 2024-12-05 14:03:00 +01:00
phy usb: phy: generic: Use proper helper for property detection 2025-03-22 12:54:16 -07:00
renesas_usbhs usb: renesas_usbhs: Flush the notify_hotplug_work 2025-03-13 13:02:11 +01:00
roles usb: roles: set switch registered flag early on 2025-02-21 14:01:30 +01:00
serial USB: serial: option: match on interface class for Telit FN990B 2025-03-22 12:54:22 -07:00
storage module: Convert default symbol namespace to string literal 2025-02-08 09:57:05 +01:00
typec ucsi_ccg: Don't show failed to get FW build information error 2025-04-10 14:39:23 +02:00
usbip Merge 6.11-rc3 into usb-next 2024-08-12 18:49:00 +02:00
Kconfig usb: pci-quirks: handle HAS_IOPORT dependency for AMD quirk 2023-10-02 16:19:12 +02:00
Makefile USB: xen-hcd: Traverse host/ when CONFIG_USB_XEN_HCD is selected 2024-06-04 15:33:38 +02:00
usb-skeleton.c usb: add usb_set_intfdata() documentation 2022-11-29 08:56:09 +01:00