Hold a refcount on the periph while running the allocation
queue. This will allow sub-transports to release their probe pseudo-device with fewer convoluted restrictions. Obtained from: Netflix
This commit is contained in:
parent
976be87aea
commit
ea3dced8e2
@ -3383,6 +3383,7 @@ xpt_run_allocq(struct cam_periph *periph, int sleep)
|
||||
cam_periph_assert(periph, MA_OWNED);
|
||||
if (periph->periph_allocating)
|
||||
return;
|
||||
cam_periph_doacquire(periph);
|
||||
periph->periph_allocating = 1;
|
||||
CAM_DEBUG_PRINT(CAM_DEBUG_XPT, ("xpt_run_allocq(%p)\n", periph));
|
||||
device = periph->path->device;
|
||||
@ -3426,6 +3427,7 @@ restart:
|
||||
if (ccb != NULL)
|
||||
xpt_release_ccb(ccb);
|
||||
periph->periph_allocating = 0;
|
||||
cam_periph_release_locked(periph);
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
x
Reference in New Issue
Block a user