On Wed, Aug 21, 2013 at 03:44:35PM +0100, Steve Cotton wrote:
> Hi Mathias,
> 
> Sorry for a very late respose, replying to a 3-month old patch.
> 
> Something looks odd in a558ccdcc71c - AFAICS these two calls to
> xhci_check_usb2_port_capability will always return the same value,
> so usb2_hw_lpm_besl_capable is always the same as usb2_hw_lpm_capable.
> 
> >  /* USB 2.0 xHCI 1.0 hardware LMP capability - section 7.2.2.1.3.2 */
> >  #define XHCI_HLC               (1 << 19)
> > +#define XHCI_BLC               (1 << 19)
> > 
> > @@ -4068,6 +4191,9 @@ int xhci_update_device(struct usb_hcd *hcd, struct 
> > usb_device *udev)
> >             if (xhci->hw_lpm_support == 1 &&
> >                 xhci_check_usb2_port_capability(xhci, portnum, XHCI_HLC)) {
> >                     udev->usb2_hw_lpm_capable = 1;
> > +                   if (xhci_check_usb2_port_capability(xhci, portnum,
> > +                                                       XHCI_BLC))
> > +                           udev->usb2_hw_lpm_besl_capable = 1;
> >                     ret = xhci_set_usb2_hardware_lpm(hcd, udev, 1);
> >                     if (!ret)
> >                             udev->usb2_hw_lpm_enabled = 1;

I'm confused.

The first call to xhci_check_usb2_port_capability() checks XHCI_HLC.
The second call to xhci_check_usb2_port_capability() checks XHCI_BLC.

One letter difference, I know, but they are two separate flags.

Oh, wait, I see what you mean.  xhci-ext-caps.h defines the two flags to
be the same:

/* USB 2.0 xHCI 1.0 hardware LMP capability - section 7.2.2.1.3.2 */
#define XHCI_HLC               (1 << 19)
#define XHCI_BLC               (1 << 19)

Ugh!  Ok, I'll fix this, nice catch.

Sarah Sharp
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to