Re: [PATCH v2 3/4] xhci: Fix some errors in the running total calculations in the TRB math

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jan 14, 2011 at 05:20:24PM -0800, Paul Zimmerman wrote:
> xhci: Fix some errors in the running total calculations in the TRB math.

Paul, you're missing a patch description here about what math you're
fixing.  Please describe what bug is trigged on the old code and why
this patch fixes it.  Same goes for the fourth patch.

Also, from looking at your patches, I think you may not understand that
when you run git commit, you need to type a one-line summary (with a 70
char limit), and then add an empty line between that summary and
the body of your commit description.  If you don't add that line, git
will assume the first sentence is the patch summary and use that as the
email subject line.  I think that's why you're getting such long subject
lines.

Sarah Sharp

> Cc: Greg Kroah-Hartman <gregkh@xxxxxxx>
> 
> Signed-off-by: Paul Zimmerman <paulz@xxxxxxxxxxxx>
> ---
>  drivers/usb/host/xhci-ring.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
> index fe6dd81..8939086 100644
> --- a/drivers/usb/host/xhci-ring.c
> +++ b/drivers/usb/host/xhci-ring.c
> @@ -2375,6 +2375,7 @@ static unsigned int count_sg_trbs_needed(struct xhci_hcd *xhci, struct urb *urb)
>  		/* Scatter gather list entries may cross 64KB boundaries */
>  		running_total = TRB_MAX_BUFF_SIZE -
>  			(sg_dma_address(sg) & (TRB_MAX_BUFF_SIZE - 1));
> +		running_total &= TRB_MAX_BUFF_SIZE - 1;
>  		if (running_total != 0)
>  			num_trbs++;
>  
> @@ -2661,6 +2662,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
>  	/* How much data is (potentially) left before the 64KB boundary? */
>  	running_total = TRB_MAX_BUFF_SIZE -
>  		(urb->transfer_dma & (TRB_MAX_BUFF_SIZE - 1));
> +	running_total &= TRB_MAX_BUFF_SIZE - 1;
>  
>  	/* If there's some data on this 64KB chunk, or we have to send a
>  	 * zero-length transfer, we need at least one TRB
> @@ -2877,6 +2879,7 @@ static int count_isoc_trbs_needed(struct xhci_hcd *xhci,
>  	td_len = urb->iso_frame_desc[i].length;
>  
>  	running_total = TRB_MAX_BUFF_SIZE - (addr & (TRB_MAX_BUFF_SIZE - 1));
> +	running_total &= TRB_MAX_BUFF_SIZE - 1;
>  	if (running_total != 0)
>  		num_trbs++;
>  
> -- 
> 1.6.5.1.69.g36942
> 
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux