[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <6fbc7f6d-7799-47db-b1d6-730c9dea5b22@linux.intel.com>
Date: Wed, 4 Feb 2026 11:53:26 +0200
From: Mathias Nyman <mathias.nyman@...ux.intel.com>
To: Guan-Yu Lin <guanyulin@...gle.com>
Cc: Greg KH <gregkh@...uxfoundation.org>, mathias.nyman@...el.com,
stern@...land.harvard.edu, wesley.cheng@....qualcomm.com,
linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org,
stable@...r.kernel.org
Subject: Re: [RFC PATCH] usb: host: xhci-sideband: fix deadlock in unregister
path
On 2/4/26 11:15, Guan-Yu Lin wrote:
> Regarding xhci_sideband_check():
> I have a concern regarding power management with the proposed check:
>
> if (xhci->devs[i] && xhci->devs[i]->sideband)
> return true;
>
> vdev->sideband is assigned during xhci_sideband_register(), which
> happens when the class driver probes (device connection), and it
> persists until disconnect. If we use this check, the xHCI controller
> will be prevented from PM suspending (system suspend) as long as the
> device is connected, even if it is idle (not playing audio).
> For mobile power optimization, we need to allow the controller to
> suspend when the sideband is registered but idle.
>
> Since we are proceeding with Option B, the class driver will be
> maintaining the udev->offload_usage count via usb_offload_get/put(). I
> propose we still rely on usb_offload_check() (or check offload_usage)
> within the xHCI sideband check. This ensures we only block or adjust
> the PM suspend flow only when there is active data transfer.
Sounds reasonable to me
Thanks
Mathias
Powered by blists - more mailing lists