mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-08-25 05:30:37 +00:00
usb: xhci: improve xhci_clear_command_ring()
Remove redundant TRB cycle reset, the TRB cycle is already set to zero by the preceding memset(), making the explicit reset unnecessary. Clarify ring loop start point. Change the loop start from the dequeue segment to the start segment. Both approaches achieve the same result, but starting from the start segment makes it clearer that the entire ring is being zeroed out. Signed-off-by: Niklas Neronin <niklas.neronin@linux.intel.com> Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Link: https://lore.kernel.org/r/20241106101459.775897-27-mathias.nyman@linux.intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
34fee04e7b
commit
36b972d4b7
@ -778,10 +778,8 @@ static void xhci_clear_command_ring(struct xhci_hcd *xhci)
|
||||
struct xhci_segment *seg;
|
||||
|
||||
ring = xhci->cmd_ring;
|
||||
xhci_for_each_ring_seg(ring->deq_seg, seg) {
|
||||
xhci_for_each_ring_seg(ring->first_seg, seg)
|
||||
memset(seg->trbs, 0, sizeof(union xhci_trb) * (TRBS_PER_SEGMENT - 1));
|
||||
seg->trbs[TRBS_PER_SEGMENT - 1].link.control &= cpu_to_le32(~TRB_CYCLE);
|
||||
}
|
||||
|
||||
xhci_initialize_ring_info(ring);
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user