struct device_info *sys_command_info_session (int unitnum, struct device_info *di, int quick, int session)
{
struct blkdevstate *st = &state[unitnum];
- if (failunit (unitnum))
+ if (failunit (unitnum)) {
return NULL;
- if (!getsem (unitnum))
+ }
+ if (!getsem (unitnum)) {
return 0;
- if (st->device_func->info == NULL)
+ }
+ if (st->device_func->info == NULL) {
+ freesem(unitnum);
return 0;
+ }
struct device_info *di2 = st->device_func->info (unitnum, di, quick, -1);
- if (di2)
+ if (di2) {
st->type = di2->type;
- if (di2 && st->delayed)
+ }
+ if (di2 && st->delayed) {
di2->media_inserted = 0;
+ }
freesem (unitnum);
return di2;
}