Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 887c9de in mainline


Ignore:
Timestamp:
2017-11-09T12:19:52Z (3 years ago)
Author:
Ondřej Hlavatý <aearsis@…>
Branches:
master
Children:
f9d0a86
Parents:
41df71f9
Message:

xhci: added missing write barrier

Location:
uspace/drv/bus/usb/xhci
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/bus/usb/xhci/hw_struct/trb.h

    r41df71f9 r887c9de  
    4040
    4141#include "common.h"
     42#include <libarch/barrier.h>
    4243
    4344/**
     
    169170}
    170171
    171 static inline void xhci_trb_copy(xhci_trb_t *dst, xhci_trb_t *src)
     172static inline void xhci_trb_copy_to_pio(xhci_trb_t *dst, xhci_trb_t *src)
    172173{
    173174        /*
     
    177178        dst->parameter = src->parameter;
    178179        dst->status = src->status;
     180
     181        write_barrier();
     182
    179183        dst->control = src->control;
    180184}
  • uspace/drv/bus/usb/xhci/trb_ring.c

    r41df71f9 r887c9de  
    218218        for (size_t i = 0; i < trbs; ++i, ++trb) {
    219219                TRB_SET_CYCLE(*trb, ring->pcs);
    220                 xhci_trb_copy(ring->enqueue_trb, trb);
     220                xhci_trb_copy_to_pio(ring->enqueue_trb, trb);
    221221
    222222                usb_log_debug2("TRB ring(%p): Enqueued TRB %p", ring, trb);
Note: See TracChangeset for help on using the changeset viewer.