Re: [PATCH v2 1/4] xhci: Change the BUGs in xhci_find_new_dequeue_state() to WARN_ONs, to avoid bringing down the box if one of them is hit

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

 



Hi Paul,

The contents of this patch looks fine, but in general we try to limit
the patch subject line to no more than 70-75 characters.  If you're
running vim with the git-commit vim-addon installed, vim will
automatically highlight the patch summary line and stop highlighting
when you're past the 70 char mark.

Can you do a quick respin of this patch and patch 4 with a shorter
summary line?  Something like "xhci: avoid BUG() in interrupt context"
would be fine for this one.  Patch four's summary line could be "xhci:
avoid counting extra TRBs in count_sg_trbs_needed()".  I have a couple
more comments on the other patches that also need to be addressed.

Thanks,
Sarah Sharp

On Fri, Jan 14, 2011 at 05:19:44PM -0800, Paul Zimmerman wrote:
> xhci: Change the BUGs in xhci_find_new_dequeue_state() to WARN_ONs, to
> avoid bringing down the box if one of them is hit.
> 
> Cc: Greg Kroah-Hartman <gregkh@xxxxxxx>
> 
> Signed-off-by: Paul Zimmerman <paulz@xxxxxxxxxxxx>
> ---
>  drivers/usb/host/xhci-ring.c |   13 +++++++++----
>  1 files changed, 9 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
> index df558f6..b4be841 100644
> --- a/drivers/usb/host/xhci-ring.c
> +++ b/drivers/usb/host/xhci-ring.c
> @@ -479,8 +479,11 @@ void xhci_find_new_dequeue_state(struct xhci_hcd *xhci,
>  	state->new_deq_seg = find_trb_seg(cur_td->start_seg,
>  			dev->eps[ep_index].stopped_trb,
>  			&state->new_cycle_state);
> -	if (!state->new_deq_seg)
> -		BUG();
> +	if (!state->new_deq_seg) {
> +		WARN_ON(1);
> +		return;
> +	}
> +
>  	/* Dig out the cycle state saved by the xHC during the stop ep cmd */
>  	xhci_dbg(xhci, "Finding endpoint context\n");
>  	ep_ctx = xhci_get_ep_ctx(xhci, dev->out_ctx, ep_index);
> @@ -491,8 +494,10 @@ void xhci_find_new_dequeue_state(struct xhci_hcd *xhci,
>  	state->new_deq_seg = find_trb_seg(state->new_deq_seg,
>  			state->new_deq_ptr,
>  			&state->new_cycle_state);
> -	if (!state->new_deq_seg)
> -		BUG();
> +	if (!state->new_deq_seg) {
> +		WARN_ON(1);
> +		return;
> +	}
>  
>  	trb = &state->new_deq_ptr->generic;
>  	if ((trb->field[3] & TRB_TYPE_BITMASK) == TRB_TYPE(TRB_LINK) &&
> -- 
> 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