[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20251106235632.7gma6wodnchqalqt@synopsys.com>
Date: Thu, 6 Nov 2025 23:56:35 +0000
From: Thinh Nguyen <Thinh.Nguyen@...opsys.com>
To: Punit Agrawal <punit.agrawal@....qualcomm.com>
CC: Thinh Nguyen <Thinh.Nguyen@...opsys.com>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"fabioaiuto83@...il.com" <fabioaiuto83@...il.com>,
"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Jamie Iles <jamie.iles@....qualcomm.com>
Subject: Re: [PATCH] drivers/usb/dwc3: fix PCI parent check
On Thu, Nov 06, 2025, Punit Agrawal wrote:
> Thinh Nguyen <Thinh.Nguyen@...opsys.com> writes:
>
> > On Wed, Nov 05, 2025, Punit Agrawal wrote:
> >> From: Jamie Iles <jamie.iles@....qualcomm.com>
> >>
> >> The sysdev_is_parent check was being used to infer PCI devices that have
> >> the DMA mask set from the PCI capabilities, but sysdev_is_parent is also
> >> used for non-PCI ACPI devices in which case the DMA mask would be the
> >> bus default or as set by the _DMA method.
> >>
> >> Without this fix the DMA mask would default to 32-bits and so allocation
> >> would fail if there was no DRAM below 4GB.
> >>
> >> Fixes: 47ce45906ca9 ("usb: dwc3: leave default DMA for PCI devices")
> >> Signed-off-by: Jamie Iles <jamie.iles@....qualcomm.com>
> >> Signed-off-by: Punit Agrawal <punit.agrawal@....qualcomm.com>
> >
> > We should Cc stable also.
> >
> >> ---
> >> drivers/usb/dwc3/core.c | 3 ++-
> >> 1 file changed, 2 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
> >> index ae140c356295..c2ce2f5e60a1 100644
> >> --- a/drivers/usb/dwc3/core.c
> >> +++ b/drivers/usb/dwc3/core.c
> >> @@ -25,6 +25,7 @@
> >> #include <linux/of.h>
> >> #include <linux/of_graph.h>
> >> #include <linux/acpi.h>
> >> +#include <linux/pci.h>
> >> #include <linux/pinctrl/consumer.h>
> >> #include <linux/pinctrl/devinfo.h>
> >> #include <linux/reset.h>
> >> @@ -2241,7 +2242,7 @@ int dwc3_core_probe(const struct dwc3_probe_data *data)
> >> dev_set_drvdata(dev, dwc);
> >> dwc3_cache_hwparams(dwc);
> >>
> >> - if (!dwc->sysdev_is_parent &&
> >> + if (!dev_is_pci(dwc->sysdev) &&
> >> DWC3_GHWPARAMS0_AWIDTH(dwc->hwparams.hwparams0) == 64) {
> >> ret = dma_set_mask_and_coherent(dwc->sysdev, DMA_BIT_MASK(64));
> >> if (ret)
> >> --
> >> 2.34.1
> >>
> >
> > Acked-by: Thinh Nguyen <Thinh.Nguyen@...opsys.com>
>
> Thank you for taking a look.
>
> Not sure if Greg prefers a repost or he can add the tag and Cc: stable
> while applying. I'll resend next week with updates if there's no
> response.
>
> [...]
>
Unless Greg specifically indicated that he'd update himself, please
submit a new version with the change.
Thanks,
Thinh
Powered by blists - more mailing lists