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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.02.1208211109050.3421@lazy>
Date:	Tue, 21 Aug 2012 11:16:45 -0500 (CDT)
From:	Manoj Iyer <manoj.iyer@...onical.com>
To:	Andiry Xu <andiry@...il.com>
cc:	manoj.iyer@...onical.com, linux-kernel@...r.kernel.org,
	sarah.a.sharp@...ux.intel.com, gregkh@...uxfoundation.org,
	linux-usb@...r.kernel.org
Subject: Re: [PATCH 1/1] xhci: Unconditionally switch ports to xHCI on
 powerup


Looks like in pci-quirks.c, we enter the do() while() loop, reach the end 
of extended capabilities and goto hc_init: label, skipping the switch. 
Probably moving the switch under the hc_init label might work? Currently 
we switch unconditionally on resume, so we could do the same at powerup as 
well.

On Tue, 21 Aug 2012, Andiry Xu wrote:

> On Tue, Aug 21, 2012 at 12:06 PM,  <manoj.iyer@...onical.com> wrote:
>> From: Manoj Iyer <manoj.iyer@...onical.com>
>>
>> USB 3.0 devices show up as high-speed devices on powerup, after an
>> s3 cycle they are correctly recognized as SuperSpeed. At powerup
>> unconditionally switch the port to xHCI like we do when we resume
>> from suspend.
>>
>> BugLink: http://bugs.launchpad.net/bugs/1000424
>>
>> Signed-off-by: Manoj Iyer <manoj.iyer@...onical.com>
>> ---
>>  drivers/usb/host/xhci-pci.c |    8 ++++++++
>>  1 file changed, 8 insertions(+)
>>
>> diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
>> index 9bfd4ca11..5c8dbea 100644
>> --- a/drivers/usb/host/xhci-pci.c
>> +++ b/drivers/usb/host/xhci-pci.c
>> @@ -48,6 +48,14 @@ static int xhci_pci_reinit(struct xhci_hcd *xhci, struct pci_dev *pdev)
>>         if (!pci_set_mwi(pdev))
>>                 xhci_dbg(xhci, "MWI active\n");
>>
>> +       /*
>> +        * USB SuperSpeed ports are recognized as HighSpeed ports on powerup
>> +        * unconditionally switch the ports to xHCI like we do when resume
>> +        * from suspend.
>> +        */
>> +       if (usb_is_intel_switchable_xhci(pdev))
>> +               usb_enable_xhci_ports(pdev);
>> +
>
> Strange. This should have been called during system power up, in
> quirk_usb_handoff_xhci() of pci_quirks.c. Do you see that routine get
> called during power up?
>
> Thanks,
> Andiry
>
>>         xhci_dbg(xhci, "Finished xhci_pci_reinit\n");
>>         return 0;
>>  }
>> --
>> 1.7.9.5
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
>> the body of a message to majordomo@...r.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
>

--
====================
Manoj Iyer
Ubuntu/Canonical
Hardware Enablement
====================
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ