hidraw(4): Replace Giant with bus_topo_lock

This commit is contained in:
Vladimir Kondratyev 2022-12-24 12:45:41 +03:00
parent 68f08e26e2
commit 7c4c5368ae

View File

@ -679,10 +679,9 @@ hidraw_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag,
buf = HIDRAW_LOCAL_ALLOC(local_buf, hgd->hgd_maxlen);
copyin(hgd->hgd_data, buf, hgd->hgd_maxlen);
/* Lock newbus around set_report_descr call */
mtx_lock(&Giant);
bus_topo_lock();
error = hid_set_report_descr(sc->sc_dev, buf, hgd->hgd_maxlen);
mtx_unlock(&Giant);
bus_topo_unlock();
HIDRAW_LOCAL_FREE(local_buf, buf);
/* Realloc hidraw input queue */