Ignore:
Timestamp:
2018-06-25T21:37:48Z (6 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
e3107e2
Parents:
ea6840d
Message:

Protect the virtqueue with a mutex

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/nic/virtio-net/virtio-net.c

    rea6840d r417aaafb  
    155155    uint16_t *head)
    156156{
     157        virtq_t *q = &vdev->queues[num];
     158        fibril_mutex_lock(&q->lock);
    157159        uint16_t descno = *head;
    158160        if (descno != (uint16_t) -1U)
    159161                *head = virtio_virtq_desc_get_next(vdev, num, descno);
     162        fibril_mutex_unlock(&q->lock);
    160163        return descno;
    161164}
     
    171174    uint16_t *head, uint16_t descno)
    172175{
     176        virtq_t *q = &vdev->queues[num];
     177        fibril_mutex_lock(&q->lock);
    173178        virtio_virtq_desc_set(vdev, num, descno, 0, 0, VIRTQ_DESC_F_NEXT,
    174179            *head);
    175180        *head = descno;
     181        fibril_mutex_unlock(&q->lock);
    176182}
    177183
Note: See TracChangeset for help on using the changeset viewer.