lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Thu, 19 Jan 2017 13:33:47 +0200
From:   Mathias Nyman <mathias.nyman@...ux.intel.com>
To:     Greg KH <gregkh@...uxfoundation.org>
Cc:     Roger Quadros <rogerq@...com>,
        Alan Stern <stern@...land.harvard.edu>,
        Sriram Dash <sriram.dash@....com>,
        linux-kernel@...r.kernel.org, linux-usb@...r.kernel.org,
        mathias.nyman@...el.com, suresh.gupta@....com,
        felipe.balbi@...ux.intel.com, pku.leo@...il.com,
        Arnd Bergmann <arnd@...db.de>
Subject: Re: [PATCH v5 4/6] usb: xhci: use bus->sysdev for DMA configuration

On 19.01.2017 11:22, Greg KH wrote:
> On Wed, Jan 18, 2017 at 01:58:28PM +0200, Mathias Nyman wrote:
>> On 12.01.2017 10:38, Roger Quadros wrote:
>>> Mathias,
>>>
>>> On 11/01/17 17:08, Alan Stern wrote:
>>>> On Wed, 11 Jan 2017, Mathias Nyman wrote:
>>>>
>>>>> On 17.11.2016 13:43, Sriram Dash wrote:
>>>>>> From: Arnd Bergmann <arnd@...db.de>
>>>>>>
>>>>>> For xhci-hcd platform device, all the DMA parameters are not
>>>>>> configured properly, notably dma ops for dwc3 devices. So, set
>>>>>> the dma for xhci from sysdev. sysdev is pointing to device that
>>>>>> is known to the system firmware or hardware.
>>>>>>
>>>>>> Signed-off-by: Arnd Bergmann <arnd@...db.de>
>>>>>> Signed-off-by: Sriram Dash <sriram.dash@....com>
>>>>>> Tested-by: Baolin Wang <baolin.wang@...aro.org>
>>>>>> ---
>>>>>
>>>>> ...
>>>>>
>>>>>> +	/*
>>>>>> +	 * sysdev must point to a device that is known to the system firmware
>>>>>> +	 * or PCI hardware. We handle these three cases here:
>>>>>> +	 * 1. xhci_plat comes from firmware
>>>>>> +	 * 2. xhci_plat is child of a device from firmware (dwc3-plat)
>>>>>> +	 * 3. xhci_plat is grandchild of a pci device (dwc3-pci)
>>>>>> +	 */
>>>>>> +	sysdev = &pdev->dev;
>>>>>> +	if (sysdev->parent && !sysdev->of_node && sysdev->parent->of_node)
>>>>>> +		sysdev = sysdev->parent;
>>>>>> +#ifdef CONFIG_PCI
>>>>>> +	else if (sysdev->parent && sysdev->parent->parent &&
>>>>>> +		 sysdev->parent->parent->bus == &pci_bus_type)
>>>>>> +		sysdev = sysdev->parent->parent;
>>>>>> +#endif
>>>>>> +
>>>>>
>>>>> Not maybe the the ideal situation here, and looks really tailored to make PCI dwc3
>>>>> controllers with xhci support work.
>>>>>
>>>>> Was there some reason child devices can't automatically inherit the dma mask from the parents,
>>>>> forcing us to dig it from grandparents?
>>>>>
>>>>> Anyway, looks like the dwc3 part is already in 4.10-rc,
>>>>> If Greg and Alan want to take this series that's fine by me
>>>>
>>>> I have no objections.
>>>>
>>>> Alan Stern
>>>>
>>>>> I haven't tested that it won't break anything on PCI XHCI controllers though
>>>>>
>>>>> -Mathias
>>>
>>> Are you going to pick all the remaining patches from this series (i.e. 1 to 4)?
>>>
>>> That should fix the warning that people are seeing on v4.10-rc.
>>>
>>
>> Let's check with Greg
>>
>> Greg, 5/6 and 6/6 are in 4.10-rc already, causing additional warnings for
>> people using dwc3 xhci.
>>
>> First 3 patches change usb core,  patch 4 xhci.
>>
>> Compiles and boots, doesn't break pci xhci (non-dwc3) functionality
>>
>> Would you like me to send first 4 patches for usb-linus to get a clean final 4.10
>> without warnings, or to send them for usb-next?
>>
>> Or will you just pick the patches from here directly.
>
> I don't have them "here" anymore, they are long-gone from my patch
> queue, sorry.
>
> Can you resend them, I don't know what these patches contained, but if
> they fix an 4.10 issue, that would be good to have there, right?
>

Right, I'll send them

-Mathias

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ