bhyve: missing mutex initializations
Explicitly initialize the mutex that a PCI virtio module passes back to virtio. It so happens that these mutexes were being initialized regardless, no functional change intended. Reviewed by: chuck, jhb Differential Revision: https://reviews.freebsd.org/D34372
This commit is contained in:
parent
8cdecdecb4
commit
f6f357efb1
@ -485,7 +485,7 @@ pci_nvme_init_queues(struct pci_nvme_softc *sc, uint32_t nsq, uint32_t ncq)
|
|||||||
} else {
|
} else {
|
||||||
struct nvme_submission_queue *sq = sc->submit_queues;
|
struct nvme_submission_queue *sq = sc->submit_queues;
|
||||||
|
|
||||||
for (i = 0; i < sc->num_squeues; i++)
|
for (i = 0; i < sc->num_squeues + 1; i++)
|
||||||
pthread_mutex_init(&sq[i].mtx, NULL);
|
pthread_mutex_init(&sq[i].mtx, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -508,7 +508,7 @@ pci_nvme_init_queues(struct pci_nvme_softc *sc, uint32_t nsq, uint32_t ncq)
|
|||||||
} else {
|
} else {
|
||||||
struct nvme_completion_queue *cq = sc->compl_queues;
|
struct nvme_completion_queue *cq = sc->compl_queues;
|
||||||
|
|
||||||
for (i = 0; i < sc->num_cqueues; i++)
|
for (i = 0; i < sc->num_cqueues + 1; i++)
|
||||||
pthread_mutex_init(&cq[i].mtx, NULL);
|
pthread_mutex_init(&cq[i].mtx, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -698,6 +698,8 @@ pci_vtcon_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl)
|
|||||||
sc->vsc_config->cols = 80;
|
sc->vsc_config->cols = 80;
|
||||||
sc->vsc_config->rows = 25;
|
sc->vsc_config->rows = 25;
|
||||||
|
|
||||||
|
pthread_mutex_init(&sc->vsc_mtx, NULL);
|
||||||
|
|
||||||
vi_softc_linkup(&sc->vsc_vs, &vtcon_vi_consts, sc, pi, sc->vsc_queues);
|
vi_softc_linkup(&sc->vsc_vs, &vtcon_vi_consts, sc, pi, sc->vsc_queues);
|
||||||
sc->vsc_vs.vs_mtx = &sc->vsc_mtx;
|
sc->vsc_vs.vs_mtx = &sc->vsc_mtx;
|
||||||
|
|
||||||
|
@ -179,6 +179,8 @@ pci_vtrnd_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl)
|
|||||||
|
|
||||||
sc = calloc(1, sizeof(struct pci_vtrnd_softc));
|
sc = calloc(1, sizeof(struct pci_vtrnd_softc));
|
||||||
|
|
||||||
|
pthread_mutex_init(&sc->vrsc_mtx, NULL);
|
||||||
|
|
||||||
vi_softc_linkup(&sc->vrsc_vs, &vtrnd_vi_consts, sc, pi, &sc->vrsc_vq);
|
vi_softc_linkup(&sc->vrsc_vs, &vtrnd_vi_consts, sc, pi, &sc->vrsc_vq);
|
||||||
sc->vrsc_vs.vs_mtx = &sc->vrsc_mtx;
|
sc->vrsc_vs.vs_mtx = &sc->vrsc_mtx;
|
||||||
|
|
||||||
|
@ -700,6 +700,8 @@ pci_vtscsi_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl)
|
|||||||
return (1);
|
return (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pthread_mutex_init(&sc->vss_mtx, NULL);
|
||||||
|
|
||||||
vi_softc_linkup(&sc->vss_vs, &vtscsi_vi_consts, sc, pi, sc->vss_vq);
|
vi_softc_linkup(&sc->vss_vs, &vtscsi_vi_consts, sc, pi, sc->vss_vq);
|
||||||
sc->vss_vs.vs_mtx = &sc->vss_mtx;
|
sc->vss_vs.vs_mtx = &sc->vss_mtx;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user