On Mon, Apr 04, 2016 at 10:38:37AM -0400, Alan Stern wrote:
> On Mon, 4 Apr 2016, Navin P.S wrote:
>
> > I was proposing something like the attached.
> > When you have an oppurtunity to fix or be complaint let us use that so.
> >
> > I finally leave this here for you to accept or reject.
>
> It's hard to comment on attachments. You should put your patches in
> the body of the email.
>
> Here's your patch:
>
> diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c
> index ffc9029..8e7e4a7 100644
> --- a/drivers/usb/host/ehci-hub.c
> +++ b/drivers/usb/host/ehci-hub.c
> @@ -872,9 +872,8 @@ int ehci_hub_control(
> ) {
> struct ehci_hcd *ehci = hcd_to_ehci (hcd);
> int ports = HCS_N_PORTS (ehci->hcs_params);
> - u32 __iomem *status_reg = &ehci->regs->port_status[
> - (wIndex & 0xff) - 1];
> - u32 __iomem *hostpc_reg = &ehci->regs->hostpc[(wIndex & 0xff) - 1];
> + u32 __iomem *status_reg = NULL;
> + u32 __iomem *hostpc_reg = NULL;
> u32 temp, temp1, status;
> unsigned long flags;
> int retval = 0;
> @@ -902,6 +901,9 @@ int ehci_hub_control(
> case ClearPortFeature:
> if (!wIndex || wIndex > ports)
> goto error;
> +
> + status_reg = &ehci->regs->port_status[ (wIndex & 0xff) - 1];
> + hostpc_reg = &ehci->regs->hostpc[(wIndex & 0xff) - 1];
> wIndex--;
> temp = ehci_readl(ehci, status_reg);
> temp &= ~PORT_RWC_BITS;
> @@ -990,6 +992,8 @@ int ehci_hub_control(
> case GetPortStatus:
> if (!wIndex || wIndex > ports)
> goto error;
> + status_reg = &ehci->regs->port_status[ (wIndex & 0xff) - 1];
> + hostpc_reg = &ehci->regs->hostpc[(wIndex & 0xff) - 1];
> wIndex--;
> status = 0;
> temp = ehci_readl(ehci, status_reg);
> @@ -1159,6 +1163,8 @@ int ehci_hub_control(
> }
> if (!wIndex || wIndex > ports)
> goto error;
> + status_reg = &ehci->regs->port_status[ (wIndex & 0xff) - 1];
> + hostpc_reg = &ehci->regs->hostpc[(wIndex & 0xff) - 1];
> wIndex--;
> temp = ehci_readl(ehci, status_reg);
> if (temp & PORT_OWNER)
>
> You want to replace 2 statements with 8 statements that do exactly
> the same thing? This does not seem like an improvement.
>
I think Yes i have replaced 2 incorrect statements with 8 correct ones
due to below reason.
Ubsan is a feature that is enabled .config , it was supposed to
fix things that were caught at runtime. If ubsan produces an error at
runtime, it gives us an oppurtunity to fix . Ignoring it would defeat
the purpose of ubsan=y in .config.
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html