Make cam_periph_hold() behavior consistent: drop taken reference and
return ENXIO if periph was invalidated while we were waiting for it. MFC after: 1 week
This commit is contained in:
parent
a632fb1531
commit
b8ac542c35
@ -440,6 +440,10 @@ cam_periph_hold(struct cam_periph *periph, int priority)
|
||||
cam_periph_release_locked(periph);
|
||||
return (error);
|
||||
}
|
||||
if (periph->flags & CAM_PERIPH_INVALID) {
|
||||
cam_periph_release_locked(periph);
|
||||
return (ENXIO);
|
||||
}
|
||||
}
|
||||
|
||||
periph->flags |= CAM_PERIPH_LOCKED;
|
||||
|
Loading…
x
Reference in New Issue
Block a user